【问题标题】:How can I tune the PHP realpath cache?如何调整 PHP 真实路径缓存?
【发布时间】:2010-09-16 21:34:11
【问题描述】:
【问题讨论】:
标签:
php
optimization
require-once
realpath
【解决方案1】:
虽然我无法针对您的情况提供任何具体信息,但我的理解是,对于大多数较大的 PHP 应用程序(尤其是使用像 Zend Framework 这样的框架的应用程序)来说,16k 是相当低的。如果您的应用程序使用大量包含并查看从那里去哪里,我会说至少两倍的缓存大小。只要您的目录结构相当一致,您可能还想增加 TTL。
【解决方案2】:
16K 是没有活动的文件数。
对于大多数网站,设置为 1k。与 APC、xcache ea 等中的设置非常相似。
【讨论】:
-
这是不正确的,它指的是正在使用的内存量,请参阅realpath_cache_size()和realpath_cache_get()。我目前将其设置为 16K,realpath_cache_size() 报告的内存使用 3 为 16317B,尽管只有 140 个文件缓存(从 realpath_cache_get() 计算),这是针对 Drupal 多站点的,肯定有超过 140 个文件应该在这里.所以 140 个文件正在使用全部 16K 内存。
-
【解决方案3】:
您可能已经找到了这个,但是对于那些遇到这个问题的人,您可以使用 realpath_cache_size() 和 realpath_cache_get() 来确定您的站点上使用了多少 realpath 缓存并相应地调整设置.
【解决方案4】:
要扩展 Noodles 提供的答案,您可以使用以下代码创建一个小 test.php:
<?php
echo "<br>cache size: ".realpath_cache_size();
echo "<br>";
echo "<br>cache: ".print_r(realpath_cache_get(););
?>
将此上传到您的网站并导航至该网站。它将显示您的缓存当前使用的字节数,以及缓存中的实际内容。该值一直在变化,因此请继续按 F5 按钮以更好地了解您所在的位置。在高峰时段进行测试也是一个好主意。
如果您看到该值经常达到您在 php.ini 中定义的最大缓存大小,那么是时候增加该值了。
请记住,默认 PHP 设置是 16K,即 16384 字节。