Apache-2.2

AB 請求失敗 - 我該怎麼辦?

  • August 6, 2012

所以,過去我從來沒有遇到過這個應用程序的任何問題。所有基準測試都有 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)也可以很好地調試此類問題,如您所見。

希望這可以幫助!

引用自:https://serverfault.com/questions/145878