APC is the best-performing code cache in PHP5.4 and earlier versions. However, after PHP is upgraded to 5.5 or above, APC is no longer valid. The Zend OpCache extension is required. The configuration command is as follows:
[Opcache] zend_extension = opcache. soopcache. enable_cli = 1; shared memory size, which can be adjusted according to your needs. memory_consumption = 256; memory size of interned string, also adjustable opcache. interned_strings_buffer = 8; maximum number of cached files opcache. max_accelerated_files = 4000; check the file update opcache every 60 s. revalidate_freq = 60; enable quick Shutdown. enabling this will increase the opcache speed when the PHP Request is Shutdown. fast_shutdown = 1; do not save the file/function comment opcache. save_comments = 0
Actual performance comparison:
The following figure shows that opcache is not enabled in actual tests:
[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 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsCompleted 10000 requestsFinished 10000 requestsServer Software: openresty/1.7.2.1Server Hostname: 112.126.69.14Server Port: 80Document Path: /main.php?a=Role&m=createRoleDocument Length: 2 bytesConcurrency Level: 200Time taken for tests: 26.061 secondsComplete requests: 10000Failed requests: 20 (Connect: 0, Receive: 0, Length: 20, Exceptions: 0)Write errors: 0Non-2xx responses: 20Total transferred: 1713580 bytesHTML transferred: 23520 bytesRequests 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] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 2 3 3.2 2 60Processing: 17 461 905.0 219 16496Waiting: 17 461 904.9 219 16496Total: 21 464 905.0 222 16502Percentage 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)
Data after enabling:
[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 requestsCompleted 2000 requestsCompleted 3000 requestsCompleted 4000 requestsCompleted 5000 requestsCompleted 6000 requestsCompleted 7000 requestsCompleted 8000 requestsCompleted 9000 requestsCompleted 10000 requestsFinished 10000 requestsServer Software: openresty/1.7.2.1Server Hostname: 112.126.69.14Server Port: 80Document Path: /main.php?a=Role&m=createRoleDocument Length: 2 bytesConcurrency Level: 200Time taken for tests: 14.237 secondsComplete requests: 10000Failed requests: 0Write errors: 0Total transferred: 1711710 bytesHTML transferred: 20020 bytesRequests 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] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 2 66 272.6 2 3005Processing: 4 176 666.4 6 9026Waiting: 4 163 642.8 6 9026Total: 6 242 745.7 9 10028Percentage 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)
The above is all the content of this article. I hope you will like it.