我知道关于这个问题已经有很多问题了,但我没有找到可以帮助我的答案。
我正在尝试让 Apache httpd 响应 200 个并发连接。我正在使用 jMeter 进行测试,获取一个小型静态文本文件(大约 100 字节),使用 prefork;MaxClient 和 ServerLimit 为 500,内存和 CPU 均不受限制(均低于 50%),带宽为 1Gbps。
- 如果我只启动一个连接,响应时间约为 7ms
- 如果我启动几个并发连接(比如说 2 或 3 个),响应时间将达到 70 毫秒
- 如果我启动更多一点(比如说 20),响应时间就会超过 2 秒即使是第一次连接
使用 keep-alive 不会带来太大的变化。重新启动 httpd 也无济于事。
我做错什么了吗?我该如何解决?
提前致谢
格雷格
答案1
为了解决这个问题,我不得不不断增加正在运行的进程数。而不是:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
我改为:
StartServers 300
MinSpareServers 300
MaxSpareServers 300
现在响应时间是可以接受的。即使对于快速计算机来说,创建/终止进程似乎也很繁重...