“AH00485: scoreboard is full, not at MaxRequestWorkers”是什麼意思?
我的環境
- CentOS 6.4 X86_64
- 阿帕奇 2.4.4
- PHP 5.4.16 (FPM)
- 2 個 Intel Xeon E5-2620 @ 2.00GHz(8 核,每個處理器 16 個執行緒)
- 48GB RAM 註冊記憶體。
- RAID0 中的 3 個硬碟 15RPM 145GB(通過 BIO
有趣的變數
<IfModule mpm_event_module> StartServers 2 ThreadLimit 196 MinSpareThreads 96 MaxSpareThreads 192 ThreadsPerChild 96 MaxRequestWorkers 192 MaxConnectionsPerChild 96 </IfModule>
Apache 伺服器狀態
伺服器版本:Apache/2.2.4 (Unix) OpenSSL/1.0.1e mod_fastcgi/mod-fastcgi-SNAP-0910052141
伺服器建構時間:2013 年 5 月 24 日 16:48:07
目前時間:2013 年 6 月 17 日星期一 09:48:11 COT
重啟時間:2013 年 6 月 17 日星期一 08:35:14 COT
父伺服器配置。生成:1
父伺服器 MPM 生成:0
伺服器正常執行時間:1 小時 12 分 57 秒
伺服器負載:0.05 0.10 0.09
總訪問次數:14144 - 總流量:349.7 MB
CPU 使用率:u.28 s.25 cu0 cs0 - .0121% CPU負載
3.23 個請求/秒 - 81.8 kB/秒 - 25.3 kB/
請求 目前正在處理 1 個請求,191 個空閒工作人員
PID | Connections | Threads | Async connections | total | accepting | busy | idle | keep-alive | closing ============================================================== 18997 | 3 | yes | 1 | 95 | 0 | 3 18485 | 0 | yes | 0 | 96 | 0 | 0 ============================================================== Sum | 3 | | 1 | 191 | 0 | 3
錯誤日誌
錯誤資訊是
$$ Mon Jun 17 09:32:45.680842 2013 $$ $$ mpm_event:error $$ $$ pid 8574:tid 140185091581760 $$AH00485:記分牌已滿,不在 MaxRequestWorkers
這每隔幾秒鐘出現一次。我不明白。我該如何解決?
我們在 Apache 2.4.6 上遇到了同樣的問題。在監視伺服器並調整設置幾個小時後,我們認為 Apache 可能存在錯誤。似乎發生的是伺服器程序偶爾進入
G
狀態(優雅完成)並重新啟動以接受新請求,這是正常的。不正常的是,由於某種原因,這可能需要幾分鐘才能重新啟動。如果您只有幾個伺服器程序正在執行並且它們都同時進入該G
狀態,那麼您的記分板就會填滿,您將無法再處理任何請求。
G
我們所做的是增加伺服器的數量,因此它們同時進入狀態的可能性較小。還要確保為每個伺服器程序分配至少 25 個執行緒 (MaxRequestWorkers
),因為這似乎是預設值(即,如果 5Servers
x 25ThreadsPerChild
= 125MaxRequestWorkers
)。您可以根據需要進行更改ThreadsPerChild
,我們將其保留為預設值。如果您沒有分配足夠的執行緒,其他伺服器將不會啟動。我們保留MinSpareThreads
了預設值 25 和預設值MaxSpareThreads
75。如果您修改了這些設置,則 的值MaxSpareThreads
必須大於或等於 和 的MinSpareThreads
總和ThreadsPerChild
。也MaxRequestWorkers
必須等於或小於ServerLimit
。這對我們有用,但它可能不是最適合您的配置。
StartServers 3 MinSpareServers 5 MaxSpareServers 10 ServerLimit 250 MaxRequestWorkers 250 MaxConnectionsPerChild 1000 KeepAlive Off
編輯:這是httpd 的 mpm_event 模組中已確認的錯誤,可能無法通過配置修復。
連結的bugtracker條目有一個假定的更新檔和更多關於如何修復這個問題的討論,直到事件模組的新版本正式發布。