Apache查看并发及TIME_WAIT过多的解决
1.查看并发
#ps -ef | grep httpd -c
2.查看并发数及tpc连接状态
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
返回结果示例:
LAST_ACK 5
SYN_RECV 30
ESTABLISHED 1597
FIN_WAIT1 51
FIN_WAIT2 504
TIME_WAIT 1057
其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
在某台服务器上发现TIME_OUT过多,但其他各项均比较小
查看配置文件发现KeepAlive 没有开启
开启后,该项变小
KeepAlive的其他参数及解释:
MaxKeepAliveRequests 一个连接可以最多发送多少次请求
KeepAliveTimeout 两次请求间超过这个数字就中断这个连接