PHP开启opcache提升代码性能

5年以前  |  阅读数:1056 次  |  编程语言:PHP 

配置指令如下:


    [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分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例