APC在PHP5.4及以下版本是效能最好的程式碼快取。不過PHP升級到5.5以上後,APC不再有效。需要使用Zend的OpCache擴充。本文將分享OpCache設定實例,希望對大家有幫助。
設定指令如下:
[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中eAccelerator、memcached、xcache、APC 4個加速、快取擴充的差異
#####PHP 最佳化詳解_PHP教學########以上是PHP透過opcache提升效能的詳細內容。更多資訊請關注PHP中文網其他相關文章!