记录一次php性能优化的总结
服务器 centos 7.5
php 7.3
swoole 4.4.16
使用 opcache 之后的性能明显提升
opcache 的原理:
由于php脚本在执行的时候, 每一次php-fpm 都会分析&解析你的php语法和代码。这会带来一定的性能损耗,使用 opcache 之后,会将php代码解析成二进制文件并加载在内存中,这样并不会每次请求都会去解析php代码从而提高性能。。。
安装:
进入php源码扩展目录
$ ./src/php7.3.12/ext/Opcache
$ phpize
$ ./configure --with-php-config=/usr/local/php/bin/php-config
$ make && make install
# 如果 编译成功,会在php的扩展目录 生成 opcache.so
# 查看 php 扩展目录
$ php -i | grep extension_dir
# 在php.ini中追加 zend_extension = opcache.so 一定要使用 zend_extension
关于opcache 配置
开发环境 php.ini 配置 建议:
[opcache]
opcache.enable=1 ;web环境开启 opcache
opcache.enable_cli=1 ; cli环境开启opcache
opcache.validate_timestamps=1 # 开启检查php文件更新
opcache.revalidate_freq=0 # 多长时间检查一次更新 单位:秒
opcache.huge_code_pages=1
生产环境建议 :
[opcache]
opcache.enable=1
opcache.enable_cli=1
opcache.validate_timestamps=1
opcache.revalidate_freq=864000 ;10t天检查一次
opcache.huge_code_pages=1
按上面步骤就算配置完 opcache了。配置之后,重启 php-fpm 即可。无需修改任何php业务代码,即可看到效果。。
本人实测, 公司crm项目(使用laravel开发)安装使用opcache 之后 性能大约提升 3倍。
更多opcache 配置请参考 php.net
网友评论