5

最新版本的 PHP 有一个文件名缓存,用于了解文件的真实路径,require_once()并且include_once()可以利用它。

您可以在php.ini中设置一个值来设置缓存的大小,但我不知道如何判断大小应该是多少。默认值为 16k,但我看不出我们正在使用多少缓存。文档含糊不清:

确定 PHP 使用的真实路径缓存的大小。在 PHP 打开许多文件的系统上应该增加这个值,以反映执行的文件操作的数量。

是的,我可以增加允许的缓存数量,并使用ab其他测试或其他测试来运行测试,但我想要一些更内省的东西,而不仅仅是从远处计时。

4

4 回答 4

4

您可能已经发现了这一点,但是对于遇到此问题的人,您可以使用 realpath_cache_size() 和 realpath_cache_get() 来确定您的站点上使用了多少 realpath 缓存并相应地调整设置。

于 2012-09-11T23:46:09.890 回答
3

尽管我无法针对您的情况提供任何具体信息,但我的理解是,对于大多数大型 PHP 应用程序(尤其是使用Zend Framework之类的框架的应用程序)来说,16k 相当低。如果您的应用程序使用大量包含并查看从那里去哪里,我会说至少将缓存大小增加一倍。只要您的目录结构非常一致,您可能还想增加 TTL。

于 2008-10-13T14:58:17.983 回答
1

要扩展 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 字节。

于 2021-09-03T16:41:09.840 回答
-3

16K 是不活动的文件数。

大多数网站设置为 1k。与 APC、xcache ea 等中的设置非常相似。

于 2008-12-27T20:00:40.110 回答