首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Symfony3这么慢?

为什么Symfony3这么慢?
EN

Stack Overflow用户
提问于 2016-08-12 21:33:35
回答 3查看 1.8K关注 0票数 1

我安装了Symfony3框架-标准版本.我试图打开主页(app.php prod),它加载了300-400 is。这是我的分析器信息:

此外,我还使用php7。

为什么这么长?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-13 12:08:51

您可以尝试优化Zend OPCache。下面是一些推荐的设置

opcache.revalidate_freq

基本上,应该多久(以秒为单位)代码缓存过期,并检查您的代码是否已经更改。0意味着它会检查每个请求的PHP代码(这会增加很多syscalls)。在您的开发环境中将其设置为0。生产并不重要,因为下一个设置。

opcache.validate_timestamps

当启用该功能时,PHP将根据您的opcache.revalidate_freq值检查文件时间戳。

当它被禁用时,opcache.revaliate_freq就会被忽略,并且永远不会检查更新的代码。因此,如果修改代码,这些更改将在重新启动或重新加载PHP (强制使用kill -SIGUSR2重新加载)之前实际上不会运行。

是的,这是一种痛苦,但你应该用它。为什么?当您正在更新或部署代码时,新代码文件可以与旧代码文件混合--结果是未知的。太不安全了

opcache.max_accelerated_files

控制最多可以同时在内存中保存多少PHP文件。重要的是,您的项目有更少的文件,而不是您设置这一点。对于大约6000个文件的代码基,我使用质数8000来表示maxacceleratedfiles。

您可以运行find . -type f -print | grep php | wc -l来快速计算代码库中的文件数。

opcache.memory_consumption

默认为64 is。您可以使用opcachegetstatus()函数来判断内存opcache的消耗量以及是否需要增加内存的数量。

opcache.interned_strings_buffer

一个非常整洁的设置,类似于0文档。PHP使用一种名为string interning的技术来提高性能--例如,如果您的代码中有1000次字符串"foobar“,内部PHP将为该字符串存储一个不可变变量,并在其他999次使用该字符串时只使用指向它的指针。凉爽的。

此设置将它提升到下一个级别,而不是为每个php-fpm进程提供一个不可变字符串池,而是在您的所有php-fpm进程之间共享它。它节省了内存,提高了性能,特别是在大型应用程序中。

该值以兆字节为单位,因此为16 so将其设置为"16“。默认值为4MB。

opcache.fast_shutdown

另一个有趣的设置没有有用的文档。“允许更快地关闭”。

哦好吧。那样对我有帮助。实际上,这提供了一种更快的机制,用于在单个请求的末尾调用代码中的析构函数,以加快响应和回收php工作人员,以便他们更快地为下一个传入请求做好准备。

把它设为1并打开它。

代码语言:javascript
运行
复制
opcache=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=8000
opcache.validate_timestamps=0
opcache.revalidate_freq=0
opcache.fast_shutdown=1

我希望这将有助于提高你的表现。

编辑

您可能还想看看这个答案:

Are Doctrine relations affecting application performance?

票数 9
EN

Stack Overflow用户

发布于 2016-08-12 21:53:34

TheMrbikus,尝试使用以下元素进行一些优化:

  • 使用APC
  • 使用引导文件

参考资料:http://symfony.com/doc/current/performance.html

票数 3
EN

Stack Overflow用户

发布于 2016-08-13 07:22:07

  • 使用OPCache PHP7
  • 使用。

电子邮件发送过程,并且可能在表单呈现操作期间减速.创建一个空白测试控制器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38926751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档