在性能压测过程中带宽占用高如何去定位?

前言:压测过程中,tps上不去,监控应用服务器cpu、内存、磁盘、网络、线程栈等等,发现网络传输数据量大,带宽几乎占满了,也就是服务器带宽到达瓶颈点了。

服务器网卡一般都是千兆,我们可以确认一下,先用ifconfig来看下当前服务器的网卡,是eth0;另外,lo是本地环路接口。

在这里插入图片描述

用ethtool查询网卡信息,下面显示的速度是1000Mb/s,注意,这里是Mb,不是MB.

在这里插入图片描述

b是bit的缩写,称“位”,为一位二进制数,是计算机表示中最小单位,称为"信息基本单位"。如同原子构成所有物质一样,bit构成计算机虚拟世界中所有“物质”。
B是byte的缩写,称“字节”,字节是信息存储中最常用的单位,是计算机中存储信息的“基本单位”。(1B=8b)
单位换算为字节,除以8,是125MB/s,乘以1024,就是128000kB/s。
通过sar命令(sar -n DEV 1)查看网络情况,rxkB/s表示每秒接收的数据量,可以看出,带宽占用比较高。

在这里插入图片描述
经和开发沟通得知,是调用公共方法,返回了很多不必要的数据(也可以tcpdump抓包,然后Wireshark分析tcpdump抓包结果)
优化方式为:修改调用方法,只返回必须数据,减小返回的数据量。
回归压测,带宽占用大幅降低,tps上升,达到测试指标。

猜你喜欢

转载自blog.csdn.net/weixin_44275820/article/details/107173261