这正常吗?多个 httpd 进程

这正常吗?多个 httpd 进程

我正在测试一个新服务器。这实际上不是我的服务器的高峰时间(下午 2 点),但它仍然运行得有点慢,我使用以下命令检查已建立的连接:

# netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

https://i.stack.imgur.com/cZuvP.jpg

我的 MaxClients 设置为 50。因此,正如您在图片上看到的,只有 10 个人占用了我的大部分内存。我的服务器有 4GB 内存(2.7GB 可供 Apache 使用),但每个 Apache 进程都占用了 53MB,这意味着我只能接受 50 个进程。

KeepAlive = Off,但我注意到这些连接关闭得不够快,这是正常的吗?

答案1

如果你正在运行 Apache prefork,那么你可以这样做

ps aux |grep http| wc -l

其次这个命令

netstat -ntu | grep :80 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n

包括 ESTABLISHED、CLOSE_WAIT、FIN_WAIT 等状态的连接。

如果您的 Apache 很慢,那么也可能是 Web 应用程序的问题,您可以记录 Apache 处理请求所花费的时间并进行进一步分析。

相关内容