PHP开启opcache提升代码性能

本文通过实际测试展示了在PHP中启用opcache(opcode cache)后的性能提升,包括减少请求处理时间和提高吞吐量。测试结果显示,启用opcache后,服务器响应速度显著加快,每秒处理请求数增加,总传输速率得到提升。
摘要由CSDN通过智能技术生成

配置指令如下:

[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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值