对于我的symfony项目,我使用的是经典的nginx / mysql / php-fpm图像组合。 对于两者(fpm和nginx),我使用本地安装到docker容器来使源代码可用。所以这很慢,但可以使用docker的nfs扩展。
在prod环境中,我准备图像,以便将本地src代码复制到php-fpm图像,然后在nginx容器的docker compose文件中创建一个命名卷。所以我可以连接php-fpm和nginx,使它们使用相同的php文件。
多数民众赞成在工作。
我的问题是,它仍然很慢获得网站响应,虽然我认为原因是我本地计算机上的文件挂载速度慢。但仍然在原生的linux生产环境中,它仍然很慢。并且部分慢于在我的本地开发环境中使用docker在mac下!
例如: - 在我的本地计算机上加载一个显示192个实体的symfony页面,使用mount和nfs mount扩展时间为12秒。
在previouse原生安装的prod环境中没有docker(手动安装所有中间件),相同的视图需要1-2秒才能渲染。
现在在使用docker的prod环境中加载此视图需要16(!)秒。
如何更快地运行我的系统?
问题仍然是nginx和php-fpm之间的挂载?或者这是多个docker容器通信的一般问题?
一个想法是根本不使用fpm / nginx组合,而是使用php模块进行apache。因此只需要一个容器。我们并不特别关注nginx或apache。
另一个问题:是否真的需要在两个图像(php / nginx)中都有源代码?或者我可以保存
更新
我卸载了xdebug,节省了1-2秒,但它仍然在10秒左右......这太慢了!
为了上演它的罚款,但后来生产它非常糟糕......