【问题标题】:What does Zend OPcache's "num_cached_keys" statistic mean?Zend OPcache 的“num_cached_keys”统计是什么意思?
【发布时间】:2014-06-24 09:57:52
【问题描述】:

opcache_get_status()返回的数据点中有:

'opcache_statistics' => [
    'num_cached_scripts' => 90,
    'num_cached_keys' => 96,
    'max_cached_keys' => 3907,
    ...
]

缓存脚本的数量是正确且可以理解的(可以通过计算返回值的'scripts'部分来确认)。但是“钥匙”到底指的是什么?我假设 Zend OPcache 可以组织为键/值存储。在这种情况下,脚本和键之间应该是一对一的关系,除非...

  • OPcache 还存储脚本以外的内容,或者
  • 某些脚本使用 2 个或更多键存储

我没有看到用于列出 OPcache 使用的密钥的 API。

【问题讨论】:

  • 这里的重点是表的大小是在启动时设置的,一旦满了 OPcache 就不能再缓存更多的脚本了。这些只是允许系统管理员监控这些固定限制,以便他们知道何时将它们设置为下次重新启动。

标签: php opcache


【解决方案1】:

OPcache keeps 将其每个哈希表的 num_entriesnum_direct_entries 统计信息分开;这些值 directly correspondnum_cached_keysnum_cached_scriptsopcache_get_status 的结果中。

代码中的comments 直接支持您的第二个假设:某些内容缓存在多个键下。

【讨论】:

  • 没有比来源更好的解释了,谢谢。对于后代,链接评论如下:很少有键可以使用“间接”条目解析为相同的数据,指向其他条目[…]
猜你喜欢
  • 1970-01-01
  • 2012-02-25
  • 2015-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多