客服反馈服务器带宽满。之前每天10M就够了,现在20/30都不够,而且是升级到多少,就满多少,包括晚上3/4点都是一直满。
首先需要确定是哪一张网卡的带宽跑满
可以通过sar -n DEV 1 5命令来获取网卡级别的流量图,命令中 1 5 表示每一秒钟取 1 次值,一共取 5 次。
命令执行后会列出每个网卡这 5 次取值的平均数据,根据实际情况来确定带宽跑满的网卡名称。阿里云服务器,默认情况下 eth0 为内网网卡,eth1 为外网网卡。
-bash: sar: command not found
yum install sysstat
如上图所示,发现确实是eth1也就是外网网卡占用了绝大部分的流量。
接下来使用 iftop 工具排查具体占用流量的IP和端口
1、服务器内部安装 iftop 流量监控工具:
yum install iftop -y
2、服务器外网带宽被占满时,如果通过远程无法登陆,可通过阿里云终端管理进入到服务器内部,运行下面命令查看流量占用情况:
iftop -i eth1 -P
注:-P 参数会将请求服务的端口显示出来,也就是说是通过服务器哪个端口建立的连接,看内网流量执行 iftop -i eth0 -P 命令。
发现大量IP都是自己的服务器IP,自己在请求自己,这是怎么回事呢
通过访问日志去看一下原因,发现都是自己的网站在请求,排查后,是自己的代码问题
参考文档:
(备用连接有道云笔记)
Linux/Centos服务器带宽异常跑满的排查解决办法_零五网
(备用连接有道云笔记)