PHP开启opcache提升代码性能


Posted in PHP onApril 26, 2015

配置指令如下:

[opcache]
zend_extension=opcache.so
opcache.enable_cli=1
;共享内存大小, 这个根据你们的需求可调
opcache.memory_consumption=256   
;interned string的内存大小, 也可调
opcache.interned_strings_buffer=8
;最大缓存的文件数目
opcache.max_accelerated_files=4000
;60s检查一次文件更新
opcache.revalidate_freq=60
;打开快速关闭, 打开这个在PHP Request Shutdown的时候 会收内存的速度会提高
opcache.fast_shutdown=1
;不保存文件/函数的注释
opcache.save_comments=0

实际性能对比:

下面是实际测试中没有开启opcache的数据:

[root@localhost ~]# ab -n 10000 -c 200 "http://112.126.69.14/main.php?a=Role&m=createRole"
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 112.126.69.14 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests

Server Software:    openresty/1.7.2.1
Server Hostname:    112.126.69.14
Server Port:      80

Document Path:     /main.php?a=Role&m=createRole
Document Length:    2 bytes

Concurrency Level:   200
Time taken for tests:  26.061 seconds
Complete requests:   10000
Failed requests:    20
  (Connect: 0, Receive: 0, Length: 20, Exceptions: 0)
Write errors:      0
Non-2xx responses:   20
Total transferred:   1713580 bytes
HTML transferred:    23520 bytes
Requests per second:  383.72 [#/sec] (mean)
Time per request:    521.216 [ms] (mean)
Time per request:    2.606 [ms] (mean, across all concurrent requests)
Transfer rate:     64.21 [Kbytes/sec] received

Connection Times (ms)
       min mean[+/-sd] median  max
Connect:    2  3  3.2   2   60
Processing:  17 461 905.0  219  16496
Waiting:    17 461 904.9  219  16496
Total:     21 464 905.0  222  16502

Percentage of the requests served within a certain time (ms)
 50%  222
 66%  271
 75%  369
 80%  412
 90%  805
 95%  1248
 98%  2597
 99%  3489
 100% 16502 (longest request)

开启之后的数据:

[root@localhost ~]# ab -n 10000 -c 200 "http://112.126.69.14/main.php?a=Role&m=createRole"
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking 112.126.69.14 (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:    openresty/1.7.2.1
Server Hostname:    112.126.69.14
Server Port:      80

Document Path:     /main.php?a=Role&m=createRole
Document Length:    2 bytes

Concurrency Level:   200
Time taken for tests:  14.237 seconds
Complete requests:   10000
Failed requests:    0
Write errors:      0
Total transferred:   1711710 bytes
HTML transferred:    20020 bytes
Requests per second:  702.40 [#/sec] (mean)
Time per request:    284.739 [ms] (mean)
Time per request:    1.424 [ms] (mean, across all concurrent requests)
Transfer rate:     117.41 [Kbytes/sec] received

Connection Times (ms)
       min mean[+/-sd] median  max
Connect:    2  66 272.6   2  3005
Processing:   4 176 666.4   6  9026
Waiting:    4 163 642.8   6  9026
Total:     6 242 745.7   9  10028

Percentage of the requests served within a certain time (ms)
 50%   9
 66%   14
 75%   99
 80%  122
 90%  1006
 95%  1476
 98%  2853
 99%  3543
 100% 10028 (longest request)

以上所述就是本文的全部内容,希望大家能够喜欢。

PHP 相关文章推荐
投票管理程序
Oct 09 PHP
PHP zlib扩展实现页面GZIP压缩输出
Jun 17 PHP
php5.3 注意事项说明
Jul 01 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
ThinkPHP查询语句与关联查询用法实例
Nov 01 PHP
PHP浮点数精度问题汇总
May 13 PHP
解读PHP中上传文件的处理问题
May 29 PHP
php加密解密字符串示例
Oct 13 PHP
PHPExcel在linux环境下导出报500错误的解决方法
Jan 26 PHP
php实现的二分查找算法示例
Jun 20 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
Oct 19 PHP
PHP实现从PostgreSQL数据库检索数据分页显示及根据条件查找数据示例
Jun 09 PHP
php格式化电话号码的方法
Apr 24 #PHP
php生成年月日下载列表的方法
Apr 24 #PHP
PHP传参之传值与传址的区别
Apr 24 #PHP
php获取访问者IP地址汇总
Apr 24 #PHP
php实现的RSS生成类实例
Apr 23 #PHP
php利用事务处理转账问题
Apr 22 #PHP
ThinkPHP文件缓存类代码分享
Apr 22 #PHP
You might like
php学习笔记 类的声明与对象实例化
2011/06/13 PHP
解决File size limit exceeded 错误的方法
2013/06/14 PHP
ThinkPHP框架任意代码执行漏洞的利用及其修复方法
2014/07/04 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
2017/08/07 PHP
Thinkphp5.0框架视图view的模板布局用法分析
2019/10/12 PHP
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
2010/05/21 Javascript
捕获键盘事件(且兼容各浏览器)
2013/07/03 Javascript
介绍一个简单的JavaScript类框架
2015/06/24 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
2015/11/03 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
AngulaJS路由 ui-router 传参实例
2017/04/28 Javascript
浅谈Webpack打包优化技巧
2018/06/12 Javascript
基于webpack4搭建的react项目框架的方法
2018/06/30 Javascript
JavaScript防止全局变量污染的方法总结
2018/08/02 Javascript
node.js基于socket.io快速实现一个实时通讯应用
2019/04/23 Javascript
jquery.validate自定义验证用法实例分析【成功提示与择要提示】
2020/06/06 jQuery
微信小程序换肤功能实现代码(思路详解)
2020/08/25 Javascript
python sqlobject(mysql)中文乱码解决方法
2008/11/14 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
Python3 replace()函数使用方法
2018/03/19 Python
Python3.6通过自带的urllib通过get或post方法请求url的实例
2018/05/10 Python
Python QQBot库的QQ聊天机器人
2019/06/19 Python
使用python实现飞机大战游戏
2020/03/23 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
HTML5+CSS3:3D展示商品信息示例
2017/01/03 HTML / CSS
幼师岗位求职简历的自荐信格式
2013/09/21 职场文书
计算机应用职专应届生求职信
2013/11/12 职场文书
共产党员岗位承诺书
2014/05/29 职场文书
酒店前台岗位职责
2015/04/16 职场文书
教师工作证明范本
2015/06/12 职场文书
聘任合同书
2015/09/21 职场文书
导游词之海南天涯海角
2019/12/05 职场文书
Java输出Hello World完美过程解析
2021/06/13 Java/Android
关于Python中*args和**kwargs的深入理解
2021/08/07 Python
Ajax异步刷新功能及简单案例
2021/11/20 Javascript