Apache httpd 回應時間隨著並發連線的增加而增加

Apache httpd 回應時間隨著並發連線的增加而增加

我知道關於這個主題有很多問題,但我沒有找到可以幫助我的答案。

我試圖讓 Apache httpd 回答 200 個並發連線。我正在使用 jMeter 進行測試,使用 prefork 獲取一個小的靜態文字檔案(大約 100 位元組); MaxClient & ServerLimit 為 500,記憶體和 CPU 皆不限制(均低於 50%),頻寬為 1Gbps。

  • 如果我只啟動一個連接,回應時間約為7ms
  • 如果我啟動幾個並發連線(例如 2 或 3 個),回應時間將達到 70 毫秒
  • 如果我開始多一點(比如說20),回應時間就會超過2秒即使是第一次連接

使用keep-alive並沒有太大改變。重新啟動 httpd 也沒幫助。

難道我做錯了什麼?我該如何解決這個問題?

先致謝

格雷格

答案1

為了解決這個問題,我必須永久增加正在運行的進程的數量。代替:

StartServers          5
MinSpareServers       5
MaxSpareServers      10

我改為:

StartServers        300
MinSpareServers     300
MaxSpareServers     300

現在回應時間是可以接受的。即使對於快速電腦來說,創建/殺死進程似乎也非常繁重...

相關內容