萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> PHP開啟opcache提升代碼性能

PHP開啟opcache提升代碼性能

   PHP開啟opcache提升代碼性能

        APC在PHP5.4及以下版本是性能最好的代碼緩存。不過PHP升級到5.5及以上後,APC不再有效。需要使用Zend的OpCache擴展。

  配置指令如下:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 [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的數據:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 [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)

  開啟之後的數據:

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 [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)

  以上所述就是本文的全部內容,希望大家能夠喜歡。

copyright © 萬盛學電腦網 all rights reserved