APC est le cache de code le plus performant en PHP5.4 et versions antérieures. Cependant, après la mise à niveau de PHP vers 5.5 et versions ultérieures, APC n'est plus valide. Nécessite l'extension OpCache de Zend. Cet article partagera des exemples de configuration d'OpCache, dans l'espoir d'être utile à tout le monde.
Les instructions de configuration sont les suivantes :
[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
Comparaison des performances réelles :
Ce qui suit est le test réel sans ouvrir opcache Données :
[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)
Données après ouverture :
[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)
Recommandations associées :
Cache php apc et comparaison avec redis
Explication détaillée de l'optimisation PHP_Tutoriel PHP
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!