JMeter Address Already in use 实测2种解决方案

这篇具有很好参考价值的文章主要介绍了JMeter Address Already in use 实测2种解决方案。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

        在windows 环境下使用jmeter 进行压测的过程中,通常会遇到这样的错误:
        java.net.BindException:Address already in use:conned

        ......

        “JMeter Address Already in use”,  这是windows本身提供的默认端口访问机制的问题引起。

        执行JMeter时,当并发线程数较高时(尤其是测试机器还存在连接其他服务器的socket),运行一会就会产生address already in use的异常,这是因为Windows中TCP客户端和服务器连接时,客户端必须分配一个动态端口,默认情况下这个动态端口的分配范围为 1024-5000 ,也就是说默认情况下,客户端最多可以同时发起3977 个Socket 连接,如果线程数过多,导致了我们在短时间内发起大量请求的时候将端口占满了且无法及时回收,导致客户端的地址就会不够用,就会引发该异常。

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

     解决方案一:

        Jmeter里的http sample勾选了keep alive,导致会话一直保持,而windows本身的端口有限,导致端口被占用完后,无法分配新的端口,因此会产生java.net.BindException: Address already in use: connect 报错。

        解决方法:HTTP SAMPLE 不勾选"KeepAlive"即可,如下图所示:JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

      解决方案二:

        步骤一:按win+r 键,打开运行窗品cmd,输入“regedit”命令打开注册表

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

         步骤二:打开注册表

           1、在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters 目录下

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

            2、右键Parameters 新建DWORD

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

            3、输入名字为MaxUserPort,输入数值65534(十进制)

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

            4、再次右键 Parameters 新建DWORD,名字为TCPTimedWaitDelay,输入数值30(十进制)表示30秒回收端口

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络

         步骤三:重启计算机即可,亲测试可以解决上述问题,生效的最大端口号及回收时间如下图所示。

JMeter Address Already in use 实测2种解决方案,Jmeter,jmeter,服务器,网络文章来源地址https://www.toymoban.com/news/detail-619050.html

到了这里,关于JMeter Address Already in use 实测2种解决方案的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux下clash启动出现“server error: listen tcp 127.0.0.1:7890: bind: address already in use”的解决方法

    原因是端口被占用了,根据网上的解决方法,一说使用lsof查询占用端口的进程,再kill掉 另一说是手动更改clash的配置文件“config.yaml”,本人是使用这个方法解决的。 在这里不得不多说两句,clash的配置文件可能在这个目录下: 但是我在装clash时将配置文件放在了其他地方,

    2024年02月08日
    浏览(60)
  • OkHttp Address already in use: no further information异常

    说下场景,我的程序在多线程场景下一个循环体中处理业务数据,其中需要调用一个外部http接口去获取一些数据,程序总会在在本地执行一段时间后会抛出Address already in use: no further information错误。 这是大量并发场景下出现的问题,经过查阅原因是OkHttp的链接没有被有效回收

    2023年04月13日
    浏览(56)
  • 服务器出现Address already in use(地址占用)错误怎么处理——【Linux】

    首先出现这种问题的原因是因为服务器频繁调用,导致前一个服务器运行没有完全结束,地址被占用,下一次调用该地址时候,显示地址被占用了。 这里提供两个方法: 第一个方法 第一个方法也就是最蠢的方法就是关闭终端后,等待几分钟后,出现打开终端然后运行服务器

    2024年02月07日
    浏览(46)
  • 解决httpd占用80端口导致Nginx启动不成功报nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

            今天在建自己小网站时启动Nginx时,发现其报下列错误,意思是因为80端口被占用导致Nginx启动失败。           既然是因为80端口被占用了,那我们就要首先排查错误缘由,使用下面该命令对80端口进行摸排,结果显示80端口被httpd这个程序一直占用着。          

    2024年02月05日
    浏览(49)
  • Caused by: java.net.BindException: Address already in use: bind

    一,换端口号 这个比较简单,就是把tomcat的端口号改一下,换一个没用的端口号就行了。 1,找到找到server.xml文件 去tomcat的安装目录下的conf文件夹就可以找到 2,修改端口号 找到Connector标签,红方框中8080位置就是端口号,修改这个端口号即可,之后重启服务器 二,杀掉占

    2024年02月11日
    浏览(49)
  • Error running ‘Tomcat 8.5.29‘ Address localhost:1099 is already in use

    原因:端口1099被占用了。 2.1 解决方法一-结束该端口1099占用 具体命令 : 截图: 2.2 解决方法二-修改端口号1099为其他端口 使用 方法一 或者 方法二 解决问题后, 再次启动Tomcat ,便不会再报此 端口占用 错误。

    2024年02月11日
    浏览(31)
  • Linux Server 终止后立即重启报错 bind error: Address already in use

    先启动Server,再启动Client,然后使用Ctrl+C关闭Server,马上再运行Server,会得到以下结果: 这是因为,虽然Server的应用程序终止了,但TCP协议层的连接并没有完全断开,因此Server不能再监听同样的端口 使用netstat命令可以查看,Server终止时,Socket描述符会自动关闭并发FIN段给

    2024年02月07日
    浏览(47)
  • 【Kafka】ZooKeeper启动失败报错java.net.BindException: Address already in use: bind

    Kafka 2.8.1 ZooKeeper启动失败。 2181端口被占用。 打开cmd。 无结果返回,找不到占用2181端口的程序。 修改config/zookeeper.properties 找到: 改为: 重新启动ZooKeeper,启动成功。 记得修改config/server.properties,不然Kafka Server无法连接。 找到: 改为: 在解决端口被占用的问题时,首先需

    2024年02月09日
    浏览(62)
  • nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

    原因就是80 端口被占用了可能是你的centos安装了Apache中间件,然后它俩都用的80 端口所以导致占用了,这时候关闭端口即可!用到命令fuser fuser 是Linux上的一个命令,用以由文件或设备去找出使用文件、或设备的进程,该命令列出本地进程的进程号,那些本地进程使用File 参数

    2024年02月09日
    浏览(43)
  • nginx报错 nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

    今天重新优化nginx管理以后,检查配置文件是配置正确的,但启动nginx确报错了 报错显示nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 查看nginx的端口(nginx使用的端口为80)   发现可能是之前的nginx服务自己占用80端口,导致不能启动,把他的进程全部杀掉,再重启服

    2024年02月16日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包