如何调整PHP实际路径缓存?

时间:2008-10-13 14:19:09

标签: php optimization require-once realpath

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

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

Determines the size of the realpath cache to be used by PHP. This value should be increased on systems where PHP opens many files, to reflect the quantity of the file operations performed.

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

3 个答案:

答案 0 :(得分:4)

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

答案 1 :(得分:3)

虽然我无法提供适合您情况的任何内容,但我的理解是,对于大多数较大的PHP应用程序(特别是使用Zend Framework等框架的应用程序),16k相当低。如果你的应用程序使用了大量的包含,那么我要说至少是缓存大小的两倍,并看看从哪里开始。只要您的目录结构非常一致,您可能还希望增加TTL。

答案 2 :(得分:-3)

16K是非活动的文件数。

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