【发布时间】:2014-07-08 10:41:41
【问题描述】:
我有一堆 php 服务在消息队列后面运行,我的 symfony 控制器正在访问这些服务以获取数据。我正在做一些基准测试来评估操作码缓存的性能。问题是我在启用任何 Opcode 缓存(zend opcache 或 apc)后获得的性能提升可以忽略不计。我正在使用“ab”实用程序进行基准测试。
所以总响应时间(没有任何操作码缓存)是 66 秒,而 zend 操作码缓存也是 54 秒。 APC 的总响应时间为 64 秒。我正在发出 50000 个请求,但没有并发请求进行基准测试。
请提供任何可能阻止操作码缓存获得显着性能的建议。
编辑 1
调用apc_cache_info() 会返回以下内容:
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
【问题讨论】:
-
天啊! Symfony 和 Zend 框架?你真的不希望你的代码运行得很快,是吗?您检查过缓存中的内容吗?如果尺寸合适?
-
不,我的项目仅基于 Symfony... 我正在使用 zend 操作码缓存。我会检查缓存大小和里面的内容
标签: php caching optimization opcode