2014-11-17 51 views
1

我有一個潛在的非常大(也許幾MB)的PHP類,當然產生。在這種情況下是否有任何設置或限制會導致opcache減速?PHP類的大小vs opcache?

回答

2

您應該檢查opcache.max_file_size選項。該選項可以將最大文件大小設置爲緩存。因此,大文件可以被opcode cacher跳過。但是,它默認爲0,這意味着所有文件都將被緩存。

下一個要檢查的選項是opcache.max_accelerated_files。對於使用Twig和註解默認值2000的大項目是不夠的。考慮增加它。

最後一個是opcache.memory_consumption。我注意到,達到此限制後,opcache不會將新項目添加到緩存中。所以,增加到256M或512M。

+0

有沒有辦法找出最大數量的文件或內存它擊中? –

0

很少有事情讓OPCache變慢,就像opcache.consistency_checks(如果啓用),OPcache將每N次請求驗證緩存校驗和,其中N是此配置指令的值。對於你的大文件大小,我相信這不是個好主意。另外,如果您懷疑它是否影響OPCache,爲什麼不嘗試像OpCacheGUI這樣的工具來檢查它。

+0

因爲我可以嘗試的可能是有限的。例如,如果它在Windows下的PHP 5.4下降,我肯定無法測試它。我需要兩個例子,當它減速或權威答案時,它不會。 – chx

+0

好吧,最好的事情請參閱這個網頁http://files.zend.com/help/Zend-Server/content/zendserverapi/zend_opcache-configuration_directives.htm很少有事情要記下來,opcache.optimization_level,opcache.save_comments(禁用它以減小文件大小),opcache.enable_cli(禁用這個嘗試)並考慮Alexander和我指定的內容。 – user3278897