检测已经建立连接的socket:
统计服务器并发连接数: ss -o state established | wc -l
netstat -ant | grep EST | wc -l
ss -pl 显示每个进程具体打开的socket
ss -o state established '( dport = :smtp or sport = :smtp )' 显示所有已建立的SMTP连接
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息
netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多
TCP原理图:
一般tcp 端口是65535个
网络状态socket:
netstat -an | awk '/^tcp/ {++State[$NF]}END{for(key in State)print key " " State[key]}'
time_wait的等待时间是2个MSL(一般4分钟)
TIME_WAIT 过多的处理:
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 1024 65000