我的问题是Apache webserver 2.2.2可以处理的最大用户数是多少,我有一个网站有时会有超过300个并发用户,但是apache默认配置设置为最大150,我知道我可以增加这个值,但如果我担心我可能会超过Apache可以处理的容量,我的服务器非常强大,具有8个四核AMD处理器和16个GM内存
如何确定apache可以处理的请求数量,
一般来说,最佳优化服务器负载的选项/配置是什么。即禁用保持活动..等
当我增加最大用户大小时,MySql会耗尽大部分处理器能力,有时会超过150%的CPU ......不知道为什么......
有专家吗?
答案 0 :(得分:7)
Apache提供40-100个最大线程。可以增加它以允许同时处理更多线程。
应该对应用程序进行监视,然后再对其进行任何更改。根据响应,尝试相应地更改“ThreadsPerChild”和“AcceptThreads”。
默认的“最大”线程数量通常就足够了;但是,可能存在必须增加此数量的条件。可以监视线程使用情况。要监控,启动管理实例,选择有问题的HTTP服务器,然后选择左下角的实时服务器统计信息。
如果空闲线程接近或为零,则这是一个问题。只要空闲线程为零,就不能建立新的客户端连接。新客户端将进入等待状态,直到线程可用。我们对此条件的建议是添加指令ThreadsPerChild,其值增加,如果它在40到100的范围内,则大约是当前值的两倍,或者如果它大于100,则加上50.所需的最小值(最大值)参数)只能通过反复试验找到。如果增加值后,服务器运行平稳,停止测试。
(source)
答案 1 :(得分:2)
建议
请使用Keep Alive,因为它会提高服务器的性能。仅当Web或应用程序之间存在防火墙时,才禁用“保持活动”设置。或者您正面临包丢弃问题/连接重置消息。
答案 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?