apache2 prefork「伺服器似乎很忙」警告,不回應 StartServers、MaxSpare 等中的更改

apache2 prefork「伺服器似乎很忙」警告,不回應 StartServers、MaxSpare 等中的更改

前言:這是不是“如何設定 StartServers”問題。

我有一台運作良好多年的 Web 伺服器,上週我們開始使用 CloudFlare 來幫助減少探測和 DDOS 活動。從那時起,我一直收到 Apache 錯誤日誌,其中充滿了經典的「伺服器似乎很忙」調整 StartServers 等訊息。我認為這是因為 CloudFlare 在後台進行了大量連接 - 可能是為了快取或其他什麼。因此,我慢慢開始增加 StartServers、MinSpareServers 等的數量,但無論我將這些值設為多少,伺服器仍然報告該錯誤。我已確保該伺服器確實正在運行 mpm_prefork,並且每次更改值時我都會重新啟動伺服器。這些是我在 apache.cfg 檔案中的相關值:

KeepAlive On
MaxKeepAliveRequests 1000
KeepAliveTimeout 5


<IfModule mpm_prefork_module>
    StartServers          100
    MinSpareServers       100
    MaxSpareServers       150
    MaxClients            1000
    MaxRequestsPerChild   4000
</IfModule>

記錄錯誤時,伺服器上的負載和流量顯得很輕。我使用 netstat 看到峰值時可能有 70 個並發連接,伺服器僅使用 8GB RAM 中的 1.5GB,CPU 正在閒置,磁碟和網路 IO 很低。我看到可能有 10 到 20 個伺服器實例在運行(峰值)

ps aux|grep apache2

無論如何,伺服器回應和頁面載入時間似乎都不錯。

我的問題是,為什麼我會收到“伺服器似乎很忙”錯誤,而我的值都不小於 100,但我通常只看到 70 個連接? Apache 似乎忽略了 apache2.conf 檔案中的值。

相關內容