启用Opcode缓存后无性能提升

时间:2014-07-08 10:41:42

标签: php caching optimization opcode

我在消息队列后面运行了一堆php服务,我的symfony控制器正在访问这些服务来获取数据。我正在做一些基准测试来评估Opcode缓存的性能。问题是,在启用任何Opcode缓存(zend opcache或apc)后,我获得的性能提升可以忽略不计。我正在使用' ab'基准测试的实用程序。

因此总响应时间(没有任何操作码缓存)是66秒,而zend操作码缓存的相同时间是54秒。 APC情况下的总响应时间为64秒。我正在提出50000请求而没有并发请求基准测试。

请提出任何可能妨碍Opcode缓存以获得显着性能的建议。

编辑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

1 个答案:

答案 0 :(得分:1)

任何操作码缓存都应该通过至少 2x来加速Symfony应用程序。因此,第一步是忘记交响乐,并确保您已正确运行缓存。

您是否正确配置了您的网络堆栈? phpinfo()应确认您正在运行Apache 2.0 Handler,并且已启用缓存。然后,您需要正确配置INI设置。 APC包含一个漂亮的网络前端,Rasmus已经完成了OPcache的缩减。只有当你缓存phpinfo.php时才开始查看你的Sympfony应用程序。