我注意到当我通过慢速链接SSH到远程计算机时,在传输相对大量的数据后SSH似乎“粘住”了。
例如,在链接上键入文本是可以的,但是运行ls /etc
将冻结连接几分钟。
我会理解延迟是否是因为我正在最大限度地提高连接速度,并且一旦传输了数据,它就恢复了正常状态,但是该连接的冻结时间比您实际涉及的数据量的预期长得多。
奇怪的是,如果我打开和关闭来自同一台计算机的两个SSH连接,则其中一个冻结后,另一个仍然可以正常工作。因此,我无法最大化连接速度,否则它们将同时冻结。
两者之间或(据我所知)路由器之间都没有激活流量整形,因此不应丢包以将平均传输速度保持在一定范围内。
任何人都可以提出任何可能导致这种行为的建议,或者进一步检查的方法吗?
同样的事情发生的scp
,并sshfs
与scp
报告了巨大的传输速率(许多MB /秒,然后缓慢的速度回落到stalled
了几分钟,然后如果我很幸运,它会重复,直到完成文件传输。)sshfs
的作品,但文件保存后,挂载点通常(并非总是)在几分钟内没有响应,这会暂时阻止尝试访问该文件的任何程序。
编辑:我尝试使用iperf
并获得一些有趣的统计信息:
Local: 0.0- 0.9 sec 256 KBytes 2.25 Mbits/sec
Remote: 0.0- 7.0 sec 256 KBytes 302 Kbits/sec
Local: 0.0-15.9 sec 1.00 MBytes 529 Kbits/sec
Remote: 0.0-16.0 sec 1.00 MBytes 524 Kbits/sec
看起来在一定数量的数据以下,本地端可以比远程接收快得多的速度发送数据。我想这毕竟不是SSH问题。我将研究一些可能会对此进行调整的TCP设置,但是如果有人肯定知道任何设置,请提出建议!
您的SSH连接超出了客户端和服务器之间某处的MTU大小,并且“路径最大传输单位发现”不起作用。(这是以安全的名义全面防止ICMP流量的一个好主意的几个原因之一。)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句