1.
现象: 200 个并发,请求一个非常简单的html,httpd子进程只有20个,使用netstat 查看,发现很多已建立的连接被阻塞
分析:
因为html太简单,处理速度飞快
如果限制了每个子进程允许处理的请求数,则可能进程死的很快(比创建的快),这样进程数就
总是上不去,可以加大每个子进程允许处理的请求数,最大为0
如果该httpd服务器监听的不是一个sock,则多进程之间需要互斥,都要先给一个信号量加锁,这样进程的
很多时间都用到了争夺互斥量了,至少表现为清闲,所以,apache不会再派生更多的子进程。解决办法是:
如果监听的是同一个端口,可以使用listen *:port ,而不是每个ip都写一个listen
如果监听的不是一个端口,可以考虑不同的端口使用不同的server
2.
现象:我的httpd只监听了一个端口,200个并发,httpd子进程数才70个
分析:可能70子进程已经足以处理你的200个并发了,使用netstat看看,没有阻塞的连接就行了