opcache提升php程序性能测试

php5.4以上版本已经自带了opcache,5.2 ~ 5.4版本需要自行下载安装opcache,本次试验采用php7.1,apache服务器,机器配置:

这里写图片描述

一,配置opcache

zend_extension =”~path/php7.0.10/ext/php_opcache.dll” //opcache拓展文件的地址
opcache.enable=1 //开启opcache
opcache.memory_consumption=128 //分配最大使用内存
opcache.interned_strings_buffer=8 //暂存池中字符串的占内存总量.(单位:MB)
opcache.max_wasted_percentage=5 //内存使用超过分配的最大内存的5%就重新调度
opcache.fast_shutdown=1 //打开快速关闭, 打开这个在PHP Request Shutdown的时候会收内存的速度会提高
二,配置apache的mpm参数
在~path/apache2.4.23\conf\extra文件夹下面找到httpd-mpm.conf文件,用txt编辑器打开,由于我使用的是WinNT MPM,因此只修改WinNT MPM的配置参数:
ThreadsPerChild 500//每个进程的线程数
MaxConnectionsPerChild 50000 //每个子进程的最大连接数,0为不限制连接数,太小(大于0)可能在访问高峰期造成apache服务器的重启。

三,测试
1,清除缓存(windows点击加速小球,360卫士,腾讯管家,鲁大师都有啊)
2,echo phpinfo(); 查看opcache信息,确保opcache处于关闭状态:
opcache.enable=0
重启服务器
3,测试
ab -n 10000 -c 100 http://localhost/testphp.php
测试结果:
这里写图片描述

可以看到每秒最大处理请求次数为1730.29次,每个请求响应时间是0.578s

4,清除缓存
5,打开opcache
opcache.enable=1
重启服务器
6,测试
ab -n 10000 -c 100 http://localhost/testphp.php
测试结果:
这里写图片描述
可以看到每秒最大处理请求次数为2126.98次,每个请求响应时间是0.470s

7,对比测试结论
opcache在本次测试中,每秒最大处理请求次数提高了越23%,每个请求响应时间降低了0.1s。

四,开启opcache对内存的影响
1,关闭opcache
在关闭opcache的情况下,重启服务器,清空缓存,连续不间断多次执行压力测试命令

ab -n 10000 -c 100 http://localhost/testphp.php

这里写图片描述

程序运行所占的内存稳定在101Mb左右,随着压力测试的继续,该值稳定在101Mb左右。

2,开启opcache
在关闭opcache的情况下,重启服务器,清空缓存,连续不间断多次执行压力测试命令

ab -n 10000 -c 100 http://localhost/testphp.php

这里写图片描述

内存使用最高去到134Mb,继续执行压力测试命令,内存将会降到100Mb以下。
这是因为设置了
opcache.max_wasted_percentage=5 //内存使用超过分配的最大内存的5%就重新调度
当内存使用超过128*105%=134Mb时,opcache会重新调度。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值