问题:
线上环境,服务器的外网下行带宽达到某个阈值,触发告警,查了下服务器的带宽监控信息,是从某个时间开始突然串上去的,然后监控图形非常有规律,都是每秒达到顶峰后,又立马下去了,怀疑是不是有测试人员定时压测
追踪:
1、通过nethogs能够查看实时进程网络占用
ubuntu系统,通过sudo apt install nethogs
通过nethogs 网卡查看
可以看到带宽主要来自于nginx,那就查看每秒占用下行带宽最大的请求
2、使用ngxtop查看每秒占用带宽最大的请求
确保您已经安装了ngxtop。您可以通过在终端中运行pip install ngxtop来安装它。
执行如下命令
ngxtop -l /usr/local/nginx/logs/access.log --order-by 'avg(bytes_sent) * count'
输出如下:
上面的结果将显示每个请求的统计信息,包括请求数量,各种响应状态码的计数,以及发送的字节数。
追踪到耗带宽最大的请求,以及请求频率,差不多定位到了问题,再结合抓包(tcpdump -i eth0 -w test.pcap -G 10),定位到了对应的ip,果然是内部人为测试导致的(正常消耗这些带宽是正常的,只是线上环境带宽不足还未扩容)