**
JMeter压测时报错:
JMeter:Response message: Non HTTP response message: Address already in use: connect
**
① java.net.BindException: Address already in use: connect
② Connection timed out: connect
③ java.net.SocketException: Socket closed
④ java.net.SocketException: Socket operation on nonsocket: connect
⑤ jmeter.sh: line 109: ./jmeter: Permission denied
前四种报错:是因为windows本身提供的端口访问机制的问题,Windows XP提供给 TCP/IP链接的端口为 1024-5000,并且要四分钟来循环回收他们。就导致我们在短时间内跑大量的请求时将端口占满了
解决方案为:
1.cmd中,用regedit命令打开注册表
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下,
1 .右击parameters,添加一个新的DWORD,名字为MaxUserPort
2 .然后双击MaxUserPort,输入数值数据为65534,基数选择十进制
3.修改配置完毕之后重启机器生效
然而,并没有卵用,问题依然存在
此时解决方案为: 将JMter安装包放到linux服务器上,不要在windows桌面压测
unzip命令解压(如果在windows桌面解压后再放到服务器,可能会报⑤异常)
在windows使用jemter-4.0录制脚本(录制脚本需注意录制脚本使用的jemter与linux中安装的jmeter版本一致,否则执行脚本易报错)
录制完成后,通过安装linux的服务器上传脚本到bin目录下data文件夹下(没有data文件夹可新建一个)
执行脚本密令:
sh jmeter.sh -n -t data/jiaoben.jmx -l data/resylt.jtl
jiaoben.jmx—脚本(windows录制脚本后手动上传至data文件夹)
如下命令:
sh jmeter.sh -n -t /home/ucp/jmeter/jilin.jmx -l /home/ucp/jmeter/test.jtl
在聚合报告中打开保存的 test.jtl 文件