2011-05-11 25 views
9

就我所研究的情況而言,當所有工作線程忙於爲請求提供服務時,接下來發出的請求會發生什麼情況。Apache webserver - 當所有工作線程繁忙時,請求會發生什麼

  1. 他們是否等待?
  2. 這是否與某些可配置參數有關?
  3. 我可以得到這種請求的數量嗎?

添加到此請您可以解釋或給出一個鏈接,我可以清楚地瞭解Apache Web服務器的請求處理策略嗎?

感謝您的看!

+0

請選擇其中一個答案作爲您的主題的答案。 – cbroughton 2011-05-11 23:40:56

+3

我不認爲cbroughton意味着隨機一個 – matteo 2013-04-14 00:59:03

回答

-2

從cbroughton發佈的帖子的其他帖子:您最多需要500個請求(這主要取決於您的Server容量)。這裏是進一步閱讀的鏈接MaxKeepAliveRequests

+0

我可以在任何時間獲得等待請求的數量嗎? – art9786 2011-05-12 05:09:09

+0

你應該發佈這個問題上[Serverfault.com](http://serverfault.com/questions/129263/are-apache-queue-requests-processed-fifo-or-prioritized) 你也可以看看來自Apache Foundation的[load balancer module](http://httpd.apache.org/docs/2.2/mod/mod_proxy_balancer.html) – sra 2011-05-12 05:26:05

+0

此答案與問題不符。 – itsafire 2015-11-04 12:24:32

8

當所有Apache工作線程都忙碌時,新請求會停止(等待),直到其中一個工作線程可用。如果客戶放棄等待,或者超過配置文件中的最長等待時間,它會斷開連接。

+0

我有一個消息發送應用程序向apache發送短消息請求,我想監視有多少這樣的請求正在等待並排隊等待服務。所以1)減慢發送代理的消息速率,2)增加SMSC的吞吐量。 – art9786 2011-05-12 05:11:47

+0

正式Apache文檔的答案包含:[here](https://httpd.apache.org/docs/2.4/mod/mpm_common.html#maxrequestworkers)。 – tanius 2017-02-21 00:22:42

1

這個答案是在2015年給出的。所以我談論apache httpd 2.4。

  1. 他們等待,因爲連接在TCP套接字上排隊(連接沒有被確認)儘管在Linux機器上可以設置缺省的backlog的長度。這可能導致連接關閉due to kernel limits being in place
  2. ListenBacklog(有注意事項,參見1.)
  3. 這被描述爲here。有很多有趣的東西。

請仔細閱讀Apache TCP Backlog by Ryan Frantz以獲取有關Apache積壓的榮耀細節。

相關問題