Archive

Archive for June 6th, 2009

Trip delay

June 6th, 2009 Leon Tsang No comments

昨天早上遇到突发情况, 服务器网站访问断断续续的能访问也是非常慢,而且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 数量就更多了.
Read more…