Trip delay
June 6th, 2009
昨天早上遇到突发情况, 服务器网站访问断断续续的能访问也是非常慢,而且ping也不稳定, 开始以为是工厂的网络交换机或路由器出现不稳定情况, 但让李彬帮忙反复检查后, 并没发现网络硬件设施有任何故障, 这种奇怪的现象到上午11点左右才结束.
接着, 我想到可能是 linux apache 受到DDOS攻击导致的(之前由于重启服务器和httpd后服务器还是一样断断续续的, 故以为不是服务器本身问题 ), 所以搜索了一下关于 linux, apache 的最大连接数查询方法:
查看httpd进程数(即prefork模式下Apache能够处理的并发请求数):
Linux命令:
ps -ef | grep httpd | wc -l查看Apache的并发请求数及其TCP连接状态:
Linux命令:
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表示处理完毕,等待超时结束的请求数。
在11点服务器稳定以后, 我通过 ps -ef | grep httpd | wc -l 查询到在 apache 刚刚重启后, 立即又有接近300个进程, 这显然不是一个正常现象, 当然用 netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’ 查询到的 ESTABLISHED 数量就更多了.
Continue reading »
