Php OPcache统计缓存命中率,但没有性能提升
我在我的VPS上配置了Apache2 web服务器,它运行良好。服务器上有一个WordPress博客,直到现在我还在使用一些WP超级缓存插件。我想切换到OPcache。新的缓存正在运行,至少我认为是这样。下面是phpinfo脚本的一些输出:Php OPcache统计缓存命中率,但没有性能提升,php,wordpress,apache,caching,Php,Wordpress,Apache,Caching,我在我的VPS上配置了Apache2 web服务器,它运行良好。服务器上有一个WordPress博客,直到现在我还在使用一些WP超级缓存插件。我想切换到OPcache。新的缓存正在运行,至少我认为是这样。下面是phpinfo脚本的一些输出: Zend OPcache Opcode Caching Up and Running Optimization Enabled Startup OK Shared memory model mmap Cache hits 46539
Zend OPcache
Opcode Caching Up and Running
Optimization Enabled
Startup OK
Shared memory model mmap
Cache hits 46539
Cache misses 455
Used memory 34701752
Free memory 99515976
Wasted memory 0
Interned Strings Used memory 4194296
Interned Strings Free memory 8
Cached scripts 454
Cached keys 507
Max keys 7963
OOM restarts 0
Hash keys restarts 0
Manual restarts 0
正如你所看到的,我有很多缓存命中,但问题是缓存不工作。我的意思是,也许它是工作,但我没有看到任何性能提升
我尝试在发出以下命令时查看每秒可以收到多少请求:
$ ab -kc 10 -n 1000 https://wp.blog.tld/
当我禁用OPcache时,我得到大约4/s。启用OPcache时,我得到的是完全相同的数字,大约为4/s。相比之下,当我禁用OPcache和启用WP超级缓存时,速度接近200/s。那么OpCache有什么问题呢?它是否缓存,或者我的服务器配置是否有问题
VPS:
Debian stable
Server version: Apache/2.4.10 (Debian)
Server built: Feb 24 2017 18:40:28
PHP 5.6.30-0+deb8u1 (cli) (built: Feb 8 2017 08:50:21)
Copyright (c) 1997-2016 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2016 Zend Technologies
with Zend OPcache v7.0.6-dev, Copyright (c) 1999-2016, by Zend Technologies
OPcache是预编译脚本的缓存——它消除了在每次请求时编译每个php文件的必要性。这并不意味着它将神奇地提高php性能(在某些情况下可以,在另一些情况下没有区别)。如果使用php插件,是否重新启动了apache?此外,WP Super Cache或W3 Total Cache是完全不同的插件,具有更复杂的选项。OPcache是预编译脚本的缓存-它消除了在每次请求时编译每个php文件的必要性。这并不意味着它将神奇地提高php性能(在某些情况下可以,在另一些情况下没有区别)。如果使用php插件,是否重新启动了apache?另外,WP Super Cache或W3 Total Cache是完全不同的插件,具有更复杂的选项。是的,当然我在启用插件后重新启动了Apache。所以我无法使用OPcache获得接近200/s的请求?我应该使用WP Super Cache+OPcache吗?是的。我想只有apache和/或硬件是瓶颈。尝试使用php-fpm检查nginx。是的,当然我在启用插件后重新启动了Apache。所以我无法使用OPcache获得接近200/s的请求?我应该使用WP Super Cache+OPcache吗?是的。我想只有apache和/或硬件是瓶颈。尝试使用php fpm检查nginx。