Web服务器Apache的最大用户数可以处理?

我的问题是什么是Apache Web服务器2.2.2可以处理的最大用户数,我有一个网站,有时会超过300 +并发用户,但是Apache默认configuration设置为最大150,我知道我可以增加这个值,但是如果我担心我可能会运行Apache可以处理的容量,我的服务器是相当强大的与八核心AMD处理器与16个GM内存

  1. 我如何确定Apache可以处理多less个请求,

  2. 一般来说,什么选项/configuration为服务器负载最佳优化。 即禁用保持活着..等等

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

任何专家?

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

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

“最大”线程数量的缺省值通常是足够的; 然而,可能有这样的条件,这个数字可能不得不增加。 线程的使用可以被监控。 要进行监控,请启动管理实例,选择相关的HTTP服务器,然后选择左下角的实时服务器统计信息。

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

( 来源 )

建议

请使用Keep Alive,因为它会增加服务器的性能。 仅在Web或应用程序之间存在防火墙时禁用保持活动设置。 或者你正在面临丢包问题/连接重置味精。

  • 您可以增加最大客户端限制,但限制完全取决于您的服务器配置。 平均来说,每个apache线程将占用25MB,那么在这种情况下,您将最大客户端值保持为(MAX * load on each thread)/(RAM allocated * threads)。 始终保持这个比例为1/2。
  • 您可以通过增加系统的最大客户端和服务器限制来增加用户的数量,如上所述。
  • 总是定义min-maxspare或min-maxthread限制。
  • 一个非常重要的问题是,如果无法增加最大客户端限制,只需增加listen backlog限制就可以在队列中增加额外的请求,从而防止连接中断。

您将不得不编辑httpd.h文件,以允许超过256硬编码限制的更大的maxclient,然后重新编译httpd程序。 这在httpd的配置文件中被建议。

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

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

然后,您需要将其与KeepAlive设置(我使用基于线程的MPM,因此设置KeepAlives打开和3秒)相匹配。

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