apache 诡异现象分析

1. 
现象: 200 个并发,请求一个非常简单的html,httpd子进程只有20个,使用netstat 查看,发现很多已建立的连接被阻塞

分析:
    因为html太简单,处理速度飞快
        如果限制了每个子进程允许处理的请求数,则可能进程死的很快(比创建的快),这样进程数就
        总是上不去,可以加大每个子进程允许处理的请求数,最大为0

        如果该httpd服务器监听的不是一个sock,则多进程之间需要互斥,都要先给一个信号量加锁,这样进程的
        很多时间都用到了争夺互斥量了,至少表现为清闲,所以,apache不会再派生更多的子进程。解决办法是:
            如果监听的是同一个端口,可以使用listen *:port ,
而不是每个ip都写一个listen
            如果监听的不是一个端口,可以考虑不同的端口使用不同的server

2. 
现象:我的httpd只监听了一个端口,200个并发,httpd子进程数才70个

分析:可能70子进程已经足以处理你的200个并发了,使用netstat看看,没有阻塞的连接就行了

留下评论

邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据