【问题标题】:No performance gain after enabling Opcode caching启用 Opcode 缓存后没有性能提升
【发布时间】: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


【解决方案1】:

任何 Opcode 缓存都应该将 Symfony 应用程序加速至少 2 倍。所以第一步是暂时忘记 symphony,只要确保你的缓存正常运行。

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

【讨论】:

    猜你喜欢
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多