php性能优化配置

1.php.ini之opcache配置

opcache.enable=1;//开启opcache缓存php操作码提高运行效率
opcache.memory_consumption=64;//为操作码缓存分配的内存大小,视脚本的数量而定
opcache.interned_strings_buffer=16;//用来存储驻留字符串的内存量,默认情况PHP解释器会从各个PHP进程中找到相同字符串的指针,如果存在则使用已有的字符串指针。开启该项配置可以从各个进程中集中到共享的缓冲区,以节省更多内存。
opcache.max_accelerated_files=32531;//OPcache 哈希表中可存储的脚本文件数量上限,应大于项目脚本文件数
opcache.validate_timestamps=0;//是否检测脚本内容发生变化,生产环境建议设置为0(PS:每次更新代码记得手动重置下缓存 opcache_reset),开发环境设置为1.
opcache.revalidate_freq=0;//当opcache.validate_timestamps设置为0时该配置项没有任何意义。
opcache.fast_shutdown=1;//启用,则会使用快速停止续发事件。 所谓快速停止续发事件是指依赖 Zend 引擎的内存管理模块 一次释放全部请求变量的内存,而不是依次释放每一个已分配的内存块。从 PHP 7.2.0 开始,此配置指令被移除。 快速停止的续发事件的处理已经集成到 PHP 中, 只要有可能,PHP 会自动处理这些续发事件。

08efcc97f15c4240cb31a08d1df126bab55.jpg
14.15开启opcache负载从0.03下降到0.01

a.清空opcache

1.适合cli模式

<?php
if(function_exists('opcache_reset')){
    opcache_reset();
}

2.适合php-fpm服务下的应用(更多信息见:http://gordalina.github.io/cachetool/)

curl -sO http://gordalina.github.io/cachetool/downloads/cachetool.phar
chmod +x cachetool.phar
php cachetool.phar opcache:reset --fcgi=/dev/shm/php-fpm.socket

 

2.php-fpm

[global]
pid = /tmp/php-fpm.pid
error_log = /data/logs/php/php-fpm.log
log_level = notice
emergency_restart_threshold = 10;建议 不要配置,指的是在emergency_restart_interval设置的时间跨度内,如果失效的php-fpm子进程数超过这个值,php-fpm主进程就重启
emergency_restart_interval = 1m;建议 不要配置,设定emergency_restart_threshold设置采用的时间跨度
process_control_timeout = 10s;设置子进程接受主进程复用信号的超时时间。参考:https://segmentfault.com/q/1010000007053797
[www]
pm.status_path = /phpstatus
user = www
group = www
listen = /dev/shm/php-fpm.socket
listen.mode = 0666
listen.owner = www
listen.group = www
listen.allowed_clients = 127.0.0.1
pm = dynamic;参考https://www.jianshu.com/p/c9a028c834ff dynamic适合内存比较少的情况
pm.max_children = 50
pm.start_servers = 25;=pm.min_spare_servers+(pm.max_spare_servers-pm.min_spare_servers)/2
pm.min_spare_servers = 20
pm.max_spare_servers = 30
pm.max_requests = 1024;如果你的请求流量很平均(按时间)会导致所有的子进程在短时间内一起重启导致服务器性能波动和短暂的502,这样子可以建议不配置该参数,但是会一天天吃掉你的内存!
request_slowlog_timeout = 3
request_terminate_timeout = 300
catch_workers_output = yes
slowlog = /data/logs/php/php-fpm.log.slow
rlimit_files = 65535

 

转载于:https://my.oschina.net/u/232595/blog/2996147

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值