Apache-2.2
AB 請求失敗 - 我該怎麼辦?
所以,過去我從來沒有遇到過這個應用程序的任何問題。所有基準測試都有 100% 的成功率。昨天我將 nginx 設置為伺服器靜態內容並將其他請求傳遞給 apache。現在,如果我有 1 個並髮使用者(-c 1),那麼一切都很好。但似乎我擁有的並髮使用者越多,我收到的失敗請求就越多。不是很多,但可能是 350 個中的 10 個或 15 個。它們是“長度”,無論這意味著什麼。用瀏覽器訪問網站,我一點問題都沒有。如何找出這些失敗請求的原因?
這是我的 httpd.conf 的一部分:
Timeout 20 KeepAlive Off MaxKeepAliveRequests 100 <IfModule prefork.c> StartServers 1 MinSpareServers 1 MaxSpareServers 3 ServerLimit 50 MaxClients 50 MaxRequestsPerChild 4000 </IfModule> <IfModule worker.c> StartServers 1 MaxClients 50 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule>
您還需要其他資訊嗎?
我的猜測是,當您對網站進行基準測試時,您會達到 MaxClients 限制。
在對站點進行基準測試時,嘗試查看埠 80 中建立了多少連接:
netstat -tnap | grep ":80" | grep -c ESTA
在對站點進行基準測試時重複此命令幾次。可能你會達到 50 個已建立的連接。
顯示 TCP 連接數量的 rrdtool 趨勢應用程序(如 Cacti、Munin 或 Ganglia)也可以很好地調試此類問題,如您所見。
希望這可以幫助!