查看连接数和当前的连接数
netstat -ant | grep $ip:80 | wc -l netstat -ant | grep $ip:80 | grep EST | wc -l
查看IP访问次数
netstat -nat|grep ":80"|awk '{print $5}' |awk -F: '{print $1}' | sort| uniq -c|sort -n
实时查看连接数
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' watch "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 表示处理完毕,等待超时结束的请求数;
- FIN_WAIT1 表示server端主动要求关闭tcp连接;
- FIN_WAIT2 表示客户端中断连接;
- LAST_ACK 关闭一个TCP连接需要从两个方向上分别进行关闭,双方都是通过发送FIN来表示单方向数据的关闭,当通信双方发送了最后一个FIN的时候,发送方此时处于LAST_ACK状态,当发送方收到对方的确认(Fin的Ack确认)后才真正关闭整个TCP连接;
解决办法
/etc/security/limits.conf
www-data soft nproc 51200 www-data hard nproc 16384 www-data soft nofile 51200 www-data hard nofile 51200