问题:高并发访问一定时间出现以下报错,且访问未到服务器。
报错:java.net.SocketException: Permission denied: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
原因:
高并发访问时有部分链接会选择ipv6的请求方式进行,jmeter需配置相关参数,禁止此行为。
解决方法
1、尝试将下一行添加到system.properties文件(位于JMeter的 “ bin”文件夹中)
2、java.net.preferIPv4Stack=true
并重新启动JMeter来拾取属性
问题:链接重置
报错:java.net.SocketException: Connection reset
原因:高并发访问一定时间出现以下报错。
解决方法:
打开jmeter的重试功能,当无端口使用时进行重试
1、在user.properties文件中,添加以下两行:
httpclient4.retrycount = 1
hc.parameters.file = hc.parameters
2、在hc.parameters文件中,添加以下行:
http.connection.stalecheck $ Boolean = true
问题:端口已被使用
报错:java.net.BindException: Address already in use: connect
原因:高并发访问一定时间出现以下报错,端口占满了。
解决方法:
1.cmd中,用regedit命令打开注册表
2.在 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters下,
1 .右击parameters,添加一个新的DWORD,名字为MaxUserPort
2 .然后双击MaxUserPort,输入数值数据为65534,基数选择十进制(如果是分布式运行的话,控制机器和负载机器都需要这样操作哦)
3.修改配置完毕之后记得重启机器才会生效
https://www.cnblogs.com/pgf622/p/9109521.html
注:以上根据网络各种大神的帖子实验总结而来,若无效请留言,我会修改以适应新情况。