并发下sftp连接报错——com.jcraft.jsch.JSchException: connection is closed by foreign host


当对单接口极限测试时,随着并发量上升,接口稳定性出现不稳定的情况,排查后台日志,发现报错在该接口调用sftp上传时出现问题(确切的是在初始化连接时失败)

原因:系统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服务/etc/init.d/ssh restart

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

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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM