2012-12-11 165 views
0

超載在與Apache和MySQL的專用服務器,我們有一個問題,如果超過一定數量的請求/分鐘的流量偷窺。在這種情況下,服務器變得完全沒有響應。該服務器是一款帶有4GB RAM的英特爾雙核G6950,它只有一個Drupal 6站點。服務器阿帕奇

如果升壓(靜態HTML緩存方法)啓用服務器一直工作得很好(負荷幾乎爲零)與相同的通信ammount的,所以這是解決方案的一部分。儘管我想知道如何配置服務器,所以即使無論出​​於何種原因禁用了緩存,或者流量達到了一個數字,即使啓用了Boost,Apache也會再次關閉服務器,該服務器也不會停止運行。

我發現MaxClients設置爲低至10可以確保服務器不會停機並禁用Boost緩存,但我知道在這種情況下(150 * RAM內存)應該將其設置爲600左右。啓用Boost可能會很好,但顯然不是沒有它。

所以長話短說:我有點失去。我能做些什麼來確保Apache不會破壞整個服務器?我不在乎是否在極端情況下Apache不能滿足所有請求(啓用了Boost後,這種情況不會在任何時候發生),但它不應該因爲無法足夠快地處理請求而變得完全沒有響應。

回答

0

最佳MaxClients的值取決於可用的內存的Apache量以及每個過程中的平均存儲器。 4GB機器上的600值可能有點過高,因爲每個進程可能需要高達25 MB或更多,這需要25MB x 600 = 15000MB的空閒內存。我會盡量在你的情況下保守一些,並將MaxClients設置爲100-125。

+0

即使設置爲100時將最終(閱讀:一分鐘內)關閉服務器不緩存在高負載下。有了緩存,這可能會好起來,但我想確保它也保持響應沒有它。 – MidnightMotion

+0

你確定它是Apache的行爲不當,而不是MySQL? – jamix

+0

可能,在這種情況下,我想了解更多。有沒有什麼好的資源可以進入它? – MidnightMotion