Jmeter SSHCommandSampler: Failed to connect to server with credentials :

使用Jmeter的SSH插件执行命令行时,出现以下错误:

 详细错误信息:

2021-09-02 17:03:43,023 ERROR o.a.j.p.s.s.SSHCommandSampler: Failed to connect to server with credentials root@10.xx.xx.xx:22 pw=****
2021-09-02 17:03:43,023 ERROR o.a.j.p.s.s.AbstractSSHSampler: SSH connexion error
com.jcraft.jsch.JSchException: Session.connect: java.net.SocketException: Connection reset

    at com.jcraft.jsch.Session.connect(Session.java:565) ~[jsch-0.1.54.jar:?]
    at org.apache.jmeter.protocol.ssh.sampler.AbstractSSHSampler.connect(AbstractSSHSampler.java:72) [ApacheJMeter_ssh-1.1.1-SNAPSHOT.jar:?]
    at org.apache.jmeter.protocol.ssh.sampler.SSHCommandSampler.sample(SSHCommandSampler.java:64) [ApacheJMeter_ssh-1.1.1-SNAPSHOT.jar:?]
    at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:491) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:425) [ApacheJMeter_core.jar:3.2 r1790748]
    at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:254) [ApacheJMeter_core.jar:3.2 r1790748]
    at java.lang.Thread.run(Unknown Source) [?:1.8.0_131]

仔细看了下: SSH connexion error
com.jcraft.jsch.JSchException: Session.connect: java.net.SocketException: Connection reset

原因: SSH插件连接远程linux机器时 连接重置,经定位发现是系统SSH终端连接数配置过小,查看虚拟机该参数(该参数在/etc/ssh/sshd_config中配置,为MaxStartups),MaxStartups 默认设置是 10:30:100,意思是从第10个连接开始以30%的概率(递增)拒绝新连接,直到连接数达到100为止。

解决方法:

  • 修改/etc/ssh/sshd_config中的MaxStartups,将其改为MaxStartups 1000:30:1200;修改/etc/ssh/sshd_config中的MaxSessions,将其修改为1000
  • 重启SSH服务 
    systemctl restart sshd.service
  • 查看状态
    systemctl status sshd.service

另外,系统的默认连接时间120秒,如果远程终端连接数过多,则会出现超时连接,解决办法如下:

  • 修改/etc/ssh/sshd_config中LoginGraceTime 120,将其改为LoginGraceTime 0,其中0表示不限制连接时间。
  • 重启SSH服务systemctl restart sshd.service

参考:并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host_weixin_30772261的博客-CSDN博客

当在JMeter中执行测试时,可能会遇到"failed: Connection refused: connect"错误。这个错误通常是由于以下原因之一引起的: 1. 服务端连接处理能力不足:这个错误可能是由于服务端的连接处理能力不足导致的。服务端只能同时处理有限数量的连接,如果超过了这个数量,就会拒绝新的连接请求。 2. 网络问题:这个错误也可能是由于网络问题引起的。可能是服务端无法响应连接请求,或者网络中存在阻塞或故障。 为了解决这个问题,你可以尝试以下几个方法: 1. 检查服务端连接处理能力:确保服务端的连接处理能力足够。如果服务端只允许同时建立1万个连接,而你的测试中超过了这个数量,就会出现连接被拒绝的错误。可以与服务端管理员沟通,了解服务端的连接处理能力,并相应地调整你的测试设置。 2. 检查网络连接:确保网络连接正常。可以尝试使用其他工具或命令来测试与服务端的连接是否正常,例如使用telnet命令。 3. 调整JMeter设置:可以尝试调整JMeter的设置来减少连接数或增加连接超时时间。可以通过减少线程数或增加连接超时时间来降低连接请求的频率,以便服务端能够处理更多的连接。 4. 使用合适的插件:如果你需要提取JMeter请求的JSON响应结果,可以使用JSON Extractor插件来提取所需的数据。确保你已经正确安装了JSONPathExtractor插件,并按照插件的文档说明来使用它。 希望以上方法能够帮助你解决"failed: Connection refused: connect"错误。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值