2010-02-11 46 views
1

我有用PHP開發的網站。我使用操作碼緩存。PHP操作碼緩存在硬盤中?

但是因爲像eAccelerator或APC這樣的Opcode緩存被緩存在RAM中,所以我需要太多的RAM。

所以我尋找任何項目或技術緩存PHP操作碼在硬盤上。

非常感謝

(我的網站不產生錢,所以林想着便宜的解決方案)

回答

1

所有操作碼緩存允許您配置使用的共享內存的最大尺寸(尋找一個配置選項shm - 對於保存的內存 - 以名稱,例如apc.shm_size)。所以你可以控制他們不使用太多的內存。

一些緩存還允許您在磁盤緩存,而不是/除了緩存在內存:

的問題是,如果只是緩存收益少量的共享內存或磁盤你的任何性能相比,沒有操作代碼緩存普通的PHP。與往常一樣,當使用緩存時,您應該將其作爲基準。

+0

謝謝,.. 但在eAccelerator中使用「disk_only」並重新啓動lighttpd後,我的RAM使用率仍然很高的PHP-CGI。我需要重新啓動服務器嗎? – 2010-02-11 10:18:40

+0

你是否對所有'eaccelerator.keys','eaccelerator.sessions'和'eaccelerator.content'使用'disk_only'?你是否嘗試調整其他eaccelerator參數?你如何測量你的內存使用量?你確定它是PHP,而不是其他的東西導致高負載?您是否嘗試過使用lighttpd開發人員製作的XCache ? – 2010-02-11 12:34:16

+0

是的,我對所有「eaccelerator.keys」,「eaccelerator.sessions」和「eaccelerator.content」使用「disk_only」。我使用「top」來查看RAM的使用情況。我沒有使用XCache。更新:在重新引導服務器後也不起作用,並且當將「disk_only」更改爲「shm_only」時,也使用了虛擬內存。它看起來像我的服務器只是忽略新的設置。 – 2010-02-11 12:51:57