当处理Linux操作系统 例如:vsftp 很慢 应用文件接口 积压时,要看操作系统相关网络连接 具体看什么用什么命令

关注点原因说明
连接状态统计(如 ESTABLISHED、TIME_WAIT、CLOSE_WAIT) 判断连接是否积压、是否大量未释放
连接端口和IP分布 判断是否有异常请求或攻击、是否被特定主机拖慢
队列积压(recv-q / send-q) 应用是否处理不及时、内核缓冲区积压
vsftpd监听情况 是否在监听期望端口,是否进程正常
连接速率、丢包、延迟 判断网络是否稳定
netfilter/iptable 限流 是否有防火墙规则影响了网络吞吐

-------------------------------------------------------------------------------------

1、 ss -s:连接状态总览

estab(建立连接)timewait 是否异常多。

-------------------------------------------------------------------------------------

2、ss -tan:查看TCP连接详情

ss -tan | awk '{print $1}' | sort | uniq -c

可以统计各个状态数量,如:

  • ESTABLISHED

  • TIME_WAIT

  • CLOSE_WAIT

TIME_WAIT 巨多,可能是连接频繁建立/关闭或没有复用。

-------------------------------------------------------------------------------------

3、ss -tna | grep ':21 ' | wc -l:看vsftpd连接数(21端口)

可换成其他端口:如 :80 :443 :8080

-------------------------------------------------------------------------------------

4、netstat -antp:老旧但好用,含进程信息

netstat -antp | grep ':21'

看是否有大量 CLOSE_WAITSYN_RECVTIME_WAIT 状态。

-------------------------------------------------------------------------------------

5、lsof -i :21:看哪个进程占用vsftp端口

ss -ltnp

-------------------------------------------------------------------------------------

6、ss -ltnp:看当前监听端口及进程

ss -ltnp

-------------------------------------------------------------------------------------

7、watch -n 1 'ss -s':实时观察连接状态变化

watch -n 1 'ss -s'

-------------------------------------------------------------------------------------

8、sar 网络监控(需安装 sysstat)

sar -n DEV 1 5

可以查看实时的网卡收发包速率,判断是否网络压力大。

现象可能问题解决建议
TIME_WAIT 过多 连接频繁,未复用 开启 tcp_tw_reusetcp_tw_recycle(注意副作用)
CLOSE_WAIT 多 应用没有关闭连接 查看程序逻辑、修复关闭连接的代码
ESTABLISHED 多 并发高或连接未释放 查看是否存在僵尸连接
SYN_RECV 多 可能被攻击 增加 backlog,启用 SYN cookie
recv-q 大 应用处理慢 优化程序逻辑、调整 socket 缓冲区
某IP连接超多 攻击或异常客户端 使用 iptables 临时封堵 IP
posted @ 2025-08-06 09:04  LB_运维技术  阅读(7)  评论(0)    收藏  举报