2011-05-11 27 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积压的荣耀细节。

相关问题