我在消息队列后面运行了一堆php服务,而我的symfony控制器正在访问这些服务以获取数据。我正在做一些基准测试来评估Opcode缓存的性能。问题是,在启用任何Opcode缓存(zend或apc)之后,我获得的性能增益是可以忽略不计的。我正在使用'ab‘实用程序进行基准测试。
因此,总的响应时间(没有任何操作码缓存)为66秒,zend操作码缓存的响应时间相同为54秒。APC的总响应时间为64秒。我提出了50000的要求,没有同时要求基准。
请提供任何可能阻止Opcode缓存以获得显著性能的建议。
对apc_cache_info()的编辑1调用返回以下内容:
array (size=14)
'nslots' => int 4099
'ttl' => int 0
'nhits' => float 0
'nmisses' => float 0
'ninserts' => float 0
'nentries' => int 0
'nexpunges' => float 0
'stime' => int 1404812585
'mem_size' => float 0
'file_upload_progress' => int 1
'memory_type' => string 'mmap' (length=4)
'cache_list' =>
array (size=0)
empty
'deleted_list' =>
array (size=0)
empty
'slot_distribution' =>
array (size=0)
empty发布于 2014-07-09 17:51:40
任何Opcode缓存都应该将Symfony应用程序的速度提高至少2倍。因此,第一步是暂时忘记交响乐,并确保缓存正常运行。
您正确地配置了您的web堆栈吗?例如,phpinfo()应该确认您正在运行Apache 2.0 Handler,并且缓存已启用。然后,您需要正确配置INI设置。APC包括一个不错的网络前端,Rasmus已经为OPcache做了一个削减的等价物。只有在缓存phpinfo.php时,才能开始查看Sympfony应用程序。
发布于 2022-09-27 14:14:43
让我们用检查phpinfo()之类的建议来贬低用户;让我们假设opcache是启用的.我尝试过为许多不同的应用程序启用opcache,并且注意到性能没有优化.实际上,在某些情况下,使用opcache时,脚本运行得更慢.我曾试图关闭改变opcache.revalidate_freq,甚至关闭opcache.validate_timestamps,看看这些设置是否会改善事情,但没有……因此,总之,opcache并不能优化性能。
https://stackoverflow.com/questions/24629730
复制相似问题