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 相关文章推荐
phpwind中的数据库操作类
Jan 02 PHP
CMS中PHP判断系统是否已经安装的方法示例
Jul 26 PHP
php获取YouTube视频信息的方法
Feb 11 PHP
php实现字符串首字母转换成大写的方法
Mar 17 PHP
学习php设计模式 php实现合成模式(composite)
Dec 08 PHP
PHP的Laravel框架中使用消息队列queue及异步队列的方法
Mar 21 PHP
win10环境PHP 7 安装配置【教程】
May 09 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
php数据库操作model类(使用__call方法)
Nov 16 PHP
PHP面向对象程序设计类的定义与用法简单示例
Dec 27 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
基于thinkphp6.0的success、error实现方法
Nov 05 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
一些花式咖啡的配方
2021/03/03 冲泡冲煮
利用static实现表格的颜色隔行显示
2006/10/09 PHP
php 仿Comsenz安装效果代码打包提供下载
2010/05/09 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
php字符串函数 str类常见用法示例
2020/05/15 PHP
javascript 多浏览器 事件大全
2010/03/23 Javascript
初学js插入节点appendChild insertBefore使用方法
2011/07/04 Javascript
jquery实现邮箱自动补全功能示例分享
2014/02/17 Javascript
浅谈JS原型对象和原型链
2016/03/02 Javascript
细数JavaScript 一个等号,两个等号,三个等号的区别
2016/10/09 Javascript
jQuery插件ContextMenu自定义图标
2017/03/15 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
2017/04/11 jQuery
jquery加载单文件vue组件的方法
2017/06/20 jQuery
nodejs前端自动化构建环境的搭建
2017/07/26 NodeJs
iframe高度自适应及隐藏滚动条的实例详解
2017/09/29 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
vuex页面刷新后数据丢失的方法
2019/01/17 Javascript
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[50:38]DOTA2-DPC中国联赛 正赛 Phoenix vs CDEC BO3 第二场 3月7日
2021/03/11 DOTA
python生成指定尺寸缩略图的示例
2014/05/07 Python
python 自动化将markdown文件转成html文件的方法
2016/09/23 Python
基于Python列表解析(列表推导式)
2018/06/23 Python
Flask框架web开发之零基础入门
2018/12/10 Python
使用pandas读取文件的实现
2019/07/31 Python
python基础教程之while循环
2019/08/14 Python
Anaconda 查看、创建、管理和使用python环境的方法
2019/12/03 Python
html5 Canvas画图教程(3)—canvas出现1像素线条模糊不清的原因
2013/01/09 HTML / CSS
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
奥林匹亚体育:Olympia Sports
2020/12/30 全球购物
在职人员函授期间自我评价分享
2013/11/08 职场文书
跟单文员岗位职责
2014/01/03 职场文书
初中生300字旷课检讨书
2014/11/19 职场文书
中国文明网2015年“向国旗敬礼”活动网上签名寄语
2015/09/24 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python