原文转自:https://mp.weixin.qq.com/s/rj1zLpEln7KQLsigJGtANQ
压测过程中,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上升,达到测试指标。
声明:封面或正文部分图片来源于网络,如有侵权,请联系删除。