答案 0 :(得分:6)
Hewwo TheMrbikus~
您可以尝试优化Zend OPCache。 以下是一些推荐设置
opcache.revalidate_freq
基本上,代码缓存过期的频率(以秒为单位)并检查代码是否已更改。 0意味着它会检查每个请求的PHP代码(这会增加许多统计系统调用)。在开发环境中将其设置为0。由于下一个设置,生产并不重要。
opcache.validate_timestamps
启用此选项后,PHP将根据您的opcache.revalidate_freq
值检查文件时间戳
当它被禁用时,opcache.revaliate_freq
被忽略,并且永远不会检查PHP文件是否有更新的代码。因此,如果您修改代码,更改将无法实际运行,直到您重新启动或重新加载PHP(强制重新加载kill -SIGUSR2
)。
是的,这是一个痛苦的屁股,但你应该使用它。为什么?在您更新或部署代码时,新代码文件可能会与旧代码混合在一起 - 结果未知。地狱不安全
opcache.max_accelerated_files
控制一次最多可以在内存中保存多少PHP文件。重要的是你的项目没有你设置的任何文件。对于~6000个文件的代码库,我使用素数8000来表示maxacceleratedfiles
您可以运行find . -type f -print | grep php | wc -l
来快速计算代码库中的文件数。
opcache.memory_consumption
默认值为64MB。您可以使用函数opcachegetstatus()来告诉opcache正在消耗多少内存以及是否需要增加数量。
opcache.interned_strings_buffer
一个非常整洁的设置与0文档。 PHP使用一种称为字符串实习的技术来提高性能 - 例如,如果你有字符串" foobar"在您的代码中1000次,内部PHP将为此字符串存储1个不可变变量,并使用指向它的指针用于其他999次您使用它。酷。
此设置将其提升到下一级别 - 而不是为每个SINGLE php-fpm进程提供这些不可变字符串的池,此设置在所有php-fpm进程中共享它。它可以节省内存并提高性能,尤其是在大型应用程序中
该值以兆字节为单位,因此将其设置为" 16"为16MB。默认值很低,为4MB。
opcache.fast_shutdown
另一个有趣的设置没有有用的文档。 "允许更快的关机"。
哦好的。这样可以帮助我。这实际上做的是提供一种更快的机制,用于在单个请求结束时调用代码中的析构函数,以加快响应并回收php worker,以便他们更快地为下一个传入请求做好准备。
将其设置为1并将其打开。
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
我希望它有助于提高你的表现
亲切,
Preciel。
答案 1 :(得分:3)
答案 2 :(得分:0)
电子邮件发送过程,并可能在表单呈现操作期间减慢速度。创建一个空白测试控制器。