Symfony2 - 共享主机上的非常慢的引导程序

时间:2014-02-11 10:07:46

标签: performance symfony

我现在面临着一个很大的问题 - symfony需要7-10秒才能启动。一些研究表明,这是因为symfony在开始时会产生大量文件夹杂物。

在我的本地机器上,我可以通过增加php.ini中的realpath_cache_size设置来修复它,但是在共享主机上这不起作用(因为open_basedir限制有效并且php在这种情况下禁用了实际路径缓存)。

现在我陷入困境,因为如此庞大的引导延迟无法使用应用程序。 有没有人有这个问题..我该如何解决?

1 个答案:

答案 0 :(得分:3)

有许多方法可以加强symfony bootstrap。

一些提示:

  • 请确保使用“prod”环境(以及生产设置:禁用调试和配置文件,启用缓存,更简洁的日志),
  • 在高QPS下,不要使用默认的PHP会话处理程序,它在用户的会话文件上使用文件锁定,这会禁止parralelized查询(如果你经常使用Ajax,它会受到很大的伤害),
  • 使用文件系统进行缓存可能非常慢(特别是在共享主机上):将缓存目录放在tmpfs挂载点下或覆盖缓存后端,以便使用除文件系统之外的其他内容(请参阅http://nerdpress.org/2012/07/10/caching-data-in-symfony2)。

请参阅以下清单,其中包含用于生产的symfony2应用程序部署的基础知识: http://www.symfony2-checklist.com/