Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何调整PHP realpath缓存?_Php_Optimization_Require Once_Realpath - Fatal编程技术网

如何调整PHP realpath缓存?

如何调整PHP realpath缓存?,php,optimization,require-once,realpath,Php,Optimization,Require Once,Realpath,最新版本的PHP有一个文件名缓存,用于了解文件的实际路径,require\u once()和include\u once()可以利用它 您可以在php.ini中设置一个值来设置缓存的大小,但我不知道如何确定大小。默认值是16k,但我看不出我们使用了多少缓存。这些文件含糊不清: 是的,我可以提升允许的缓存量,并使用ab或其他一些测试运行测试,但我想要一些比远距离计时更内省的测试。虽然我不能提供任何特定于您的情况,但我的理解是,对于大多数大型PHP应用程序来说,16k非常低(特别是那些使用框架的)

最新版本的PHP有一个文件名缓存,用于了解文件的实际路径,
require\u once()
include\u once()
可以利用它

您可以在php.ini中设置一个值来设置缓存的大小,但我不知道如何确定大小。默认值是16k,但我看不出我们使用了多少缓存。这些文件含糊不清:


是的,我可以提升允许的缓存量,并使用
ab
或其他一些测试运行测试,但我想要一些比远距离计时更内省的测试。

虽然我不能提供任何特定于您的情况,但我的理解是,对于大多数大型PHP应用程序来说,16k非常低(特别是那些使用框架的)。如果应用程序使用了大量包含,我会说至少要将缓存大小增加一倍,然后看看从哪里开始。只要目录结构非常一致,您可能还需要增加TTL。

16K是文件的大小,而不是活动


对于大多数站点,设置为1k。与APC、xcache ea等中的设置非常类似。

您可能已经发现了这一点,但对于遇到此问题的用户,可以使用realpath\u cache\u size()和realpath\u cache\u get()要计算站点上使用了多少realpath缓存,并相应调整设置。

这是不正确的,它指的是正在使用的内存量,请参阅和。我将其当前设置为16K,realpath_cache_size()报告的内存使用量3为16317B,尽管只缓存了140个文件(从realpath_cache_get()开始计算),这是针对Drupal multisite的,这里肯定有超过140个文件。因此,140个文件正在使用完整的16K内存。>大小表示存储的路径字符串中的总字节数,加上与缓存项关联的数据大小