web服务器apache可以处理的最大用户数量?

时间:2012-05-25 01:54:18

标签: apache webserver

我的问题是Apache webserver 2.2.2可以处理的最大用户数是多少,我有一个网站有时会有超过300个并发用户,但是apache默认配置设置为最大150,我知道我可以增加这个值,但如果我担心我可能会超过Apache可以处理的容量,我的服务器非常强大,具有8个四核AMD处理器和16个GM内存

  1. 如何确定apache可以处理的请求数量,

  2. 一般来说,最佳优化服务器负载的选项/配置是什么。即禁用保持活动..等

  3. 当我增加最大用户大小时,MySql会耗尽大部分处理器能力,有时会超过150%的CPU ......不知道为什么......

  4. 有专家吗?

4 个答案:

答案 0 :(得分:7)

Apache提供40-100个最大线程。可以增加它以允许同时处理更多线程。

应该对应用程序进行监视,然后再对其进行任何更改。根据响应,尝试相应地更改“ThreadsPerChild”和“AcceptThreads”。

默认的“最大”线程数量通常就足够了;但是,可能存在必须增加此数量的条件。可以监视线程使用情况。要监控,启动管理实例,选择有问题的HTTP服务器,然后选择左下角的实时服务器统计信息。

如果空闲线程接近或为零,则这是一个问题。只要空闲线程为零,就不能建立新的客户端连接。新客户端将进入等待状态,直到线程可用。我们对此条件的建议是添加指令ThreadsPerChild,其值增加,如果它在40到100的范围内,则大约是当前值的两倍,或者如果它大于100,则加上50.所需的最小值(最大值)参数)只能通过反复试验找到。如果增加值后,服务器运行平稳,停止测试。

source

答案 1 :(得分:2)

建议

请使用Keep Alive,因为它会提高服务器的性能。仅当Web或应用程序之间存在防火墙时,才禁用“保持活动”设置。或者您正面临包丢弃问题/连接重置消息。

  • 您可以增加最大客户端限制,但限制将完全取决于您的服务器配置。平均而言,每个apache线程将占用25MB,然后在这种情况下,您将最大客户端值保持为(每个线程上的MAX *加载)/(RAM分配*线程)。始终保持这个比率为1/2。
  • 您可以通过增加系统的最大客户端和服务器限制,将用户增加到任何数字,如上所述。
  • 始终定义min-maxspare或min-maxthread限制。
  • 一个非常重要的一点,如果您无法增加最大客户端限制,只需增加监听积压限制,它将占用队列中的额外请求,从而防止连接丢失。

答案 2 :(得分:1)

您必须编辑httpd.h文件以允许更大的maxclients超过256个硬编码限制,然后重新编译httpd程序。这在httpd。

的配置文件中建议

答案 3 :(得分:0)

有关概述,请参阅本指南:http://www.devside.net/articles/apache-performance-tuning

主要是关于您选择的Apache MPM(基于线程或基于进程)及其设置。

然后你需要将它与KeepAlive设置相匹配(我使用基于线程的MPM,因此将KeepAlives设置为On并持续3秒)。

您是在Linux或Windows下使用Apache吗?哪个MPM?