性能测试-网络问题定位
总结:
1、网络问题显示
项目实战:报错java.net.BindException: Address already in use: connect
HttpHostConnectException:Connect to 192.168.****:8080 [/192.168***] Connection time out
connect
windows:
- netstat -ano| find“TCP” /i /c
- /i:搜索时不区分大小写
- /c:统计搜索结果
linux/mac
- netstat -ano| grep “TCP”| wc -l
- ss -S
2、网络问题调优-keepalive-注册表
一、jmeter上 keep-alive去勾选
二、客户端端口-注册表修改端口范围
- 注册表:[HKEY LOCAL MACHINEISYSTEMCurrentControlSetlServicesiTcpipiParameters
- MaxUserPort: 有,设置为十进制的65534
- 没有,则新增 DWORD,name为MaxUserPort value为65534
- 重启系统
- 注册表:HKEY LOCAL MACHINESYSTEMCurrentControlSetlServiceslTcpipiParameters
- TcpTimedWaitDelay,有,设置一个十进制是时间,单位秒(默认240s)
- 没有,则新增DWORD,name为TcpTimedWaitDelay value为十进制的时间30
- 重启系统
三、服务端修改端口号范围
linux,如果你发发起方是Linux
- sysctl -a |grep net.ipv4.ip_local_port_range
- net.ipv4.ip_local_port_range = 32768 60999 =====2.8w
改端口范围:
sysctl -w net.ipv4.ip_local_port_range="1024 65535" sysctl -p
四 、检查带宽
判断带宽有没有问题:
吞吐率
1Mbps = 1024Kbps = 1024/8 KB/s = 128KB/s
ping目标服务器
看时间 没有测试前的时间 与在进行性能测试时的 时间之间有没有明显的差异
看丢包: 如果有丢包 肯定时网络瓶颈
五、网卡
网卡-网络传输介质与终端设备连接的关隘
>发起方/源
>windows10查看网络连接>选中网卡>状态====>速度1.0Gbps = 1024Mbps =1024 / 8MB/s = 128MB/s
100Mbps =100/8 MB/s = 12.5MB/s
>服务器方目的地
>linux ethtool网卡名称|grep Speed
修改命令: ethtool-s 网卡名称 Speed 1000
网络一一接收方限制-网络连接配置
sysctl:sysctl 用于运行时配置内核参数,这些参数位于/proc/sys目录下
>linux系统启动,依次读取
>/etc/svsctl.d/*.conf
>/run/svsctl.d/*.conf
>/usr/lib/sysctl.d/*.conf
svsctl --help