2015-02-24 53 views
1

我的網站運行在具有8GB內存的專用服務器上。默認情況下,memory_limit設置爲32MB。需要多少PHP memory_limit?

如何找出我的網站的正確memory_limit要求?影響memory_limit設置的因素有哪些?做網站或併發請求數如交通因素等影響,或導致類似「允許的內存大小疲憊的錯誤錯誤

+0

流量,你運行的低效代碼數量本身並沒有清除,等等。 – Halfstop 2015-02-24 18:22:26

+0

我不知道memory_limit是否有「正確」的值。通常你會允許它使用盡可能多的內存。就像根據服務器應該做什麼一樣。你打開大文件嗎?你正在運行預製包裝嗎?任何大型的預製軟件包應該有一個建議,我會建議去那個。如果內存限制了它,PHP會拋出一個錯誤。 – 2015-02-24 18:22:42

+0

你會[找到這個](https://php.net/manual/en/function.memory-get-peak-usage.php)在確定每個進程的最高RAM使用率時非常有用。如果將它添加到日常記錄中,您可以瞭解用戶操作會導致什麼用法。然後,您需要將工藝尺寸設置爲最大值加上安全裕度,以允許小幅增加(可能會超過最大值)。 – halfer 2015-02-24 19:22:53

回答

2

您可以通過在php.ini改變memory_limit或動態設置它改變了內存限制:

ini_set("memory_limit", "256M"); 

你需要多少內存取決於你在做什麼。一個典型的網站將不再需要那麼多。32MB聽起來不錯。有些進程可能需要更多的內存,例如調整上傳的圖片或生成統計數據。

高流量不會影響PHP對al的支持找到內存,這是操作系統的問題。您的網絡服務器限制了它擁有的工作人員數量,因此如果嘗試採取一切行動,PHP可以使用多少內存。雖然它可能會讓事情變得非常緩慢。