PHP开启opcache提升代码性能
配置指令如下:
[opcache] zend_extension=opcache.so opcache.enable_cli=1 ;共享内存大小,这个根据你们的需求可调 opcache.memory_consumption=256 ;internedstring的内存大小,也可调 opcache.interned_strings_buffer=8 ;最大缓存的文件数目 opcache.max_accelerated_files=4000 ;60s检查一次文件更新 opcache.revalidate_freq=60 ;打开快速关闭,打开这个在PHPRequestShutdown的时候会收内存的速度会提高 opcache.fast_shutdown=1 ;不保存文件/函数的注释 opcache.save_comments=0
实际性能对比:
下面是实际测试中没有开启opcache的数据:
[root@localhost~]#ab-n10000-c200"http://112.126.69.14/main.php?a=Role&m=createRole" ThisisApacheBench,Version2.3<$Revision:655654$> Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.net/ LicensedtoTheApacheSoftwareFoundation,http://www.apache.org/ Benchmarking112.126.69.14(bepatient) Completed1000requests Completed2000requests Completed3000requests Completed4000requests Completed5000requests Completed6000requests Completed7000requests Completed8000requests Completed9000requests Completed10000requests Finished10000requests ServerSoftware:openresty/1.7.2.1 ServerHostname:112.126.69.14 ServerPort:80 DocumentPath:/main.php?a=Role&m=createRole DocumentLength:2bytes ConcurrencyLevel:200 Timetakenfortests:26.061seconds Completerequests:10000 Failedrequests:20 (Connect:0,Receive:0,Length:20,Exceptions:0) Writeerrors:0 Non-2xxresponses:20 Totaltransferred:1713580bytes HTMLtransferred:23520bytes Requestspersecond:383.72[#/sec](mean) Timeperrequest:521.216[ms](mean) Timeperrequest:2.606[ms](mean,acrossallconcurrentrequests) Transferrate:64.21[Kbytes/sec]received ConnectionTimes(ms) minmean[+/-sd]medianmax Connect:233.2260 Processing:17461905.021916496 Waiting:17461904.921916496 Total:21464905.022216502 Percentageoftherequestsservedwithinacertaintime(ms) 50%222 66%271 75%369 80%412 90%805 95%1248 98%2597 99%3489 100%16502(longestrequest)
开启之后的数据:
[root@localhost~]#ab-n10000-c200"http://112.126.69.14/main.php?a=Role&m=createRole" ThisisApacheBench,Version2.3<$Revision:655654$> Copyright1996AdamTwiss,ZeusTechnologyLtd,http://www.zeustech.net/ LicensedtoTheApacheSoftwareFoundation,http://www.apache.org/ Benchmarking112.126.69.14(bepatient) Completed1000requests Completed2000requests Completed3000requests Completed4000requests Completed5000requests Completed6000requests Completed7000requests Completed8000requests Completed9000requests Completed10000requests Finished10000requests ServerSoftware:openresty/1.7.2.1 ServerHostname:112.126.69.14 ServerPort:80 DocumentPath:/main.php?a=Role&m=createRole DocumentLength:2bytes ConcurrencyLevel:200 Timetakenfortests:14.237seconds Completerequests:10000 Failedrequests:0 Writeerrors:0 Totaltransferred:1711710bytes HTMLtransferred:20020bytes Requestspersecond:702.40[#/sec](mean) Timeperrequest:284.739[ms](mean) Timeperrequest:1.424[ms](mean,acrossallconcurrentrequests) Transferrate:117.41[Kbytes/sec]received ConnectionTimes(ms) minmean[+/-sd]medianmax Connect:266272.623005 Processing:4176666.469026 Waiting:4163642.869026 Total:6242745.7910028 Percentageoftherequestsservedwithinacertaintime(ms) 50%9 66%14 75%99 80%122 90%1006 95%1476 98%2853 99%3543 100%10028(longestrequest)
以上所述就是本文的全部内容,希望大家能够喜欢。