SFTP 传文件(不过墙)上下行都只能跑到带宽十分之一,怎么排查哪里的问题?好几个月了,一点相关资料都找不到。FTP(S)要开多个端口。除了这 3 个似乎没有别的稍微主流一点的原生支持上传的断点续传的协议了

2023-01-10 02:30:55 +08:00
 edis0n0
1994 次点击
所在节点    宽带症候群
16 条回复
1423
2023-01-10 02:40:02 +08:00
http ,上传就是对面在下载,隧道打好,对面 aria2c 下载 http
cnbatch
2023-01-10 02:51:40 +08:00
还有一种可能性,运营商主动限制了单线程的速度。

已经有先例:
https://www.v2ex.com/t/906804
主题是 IPv6 的,而回帖当中有人提到部分地区、运营商连 IPv4 都有这种限速,所以还得考虑运营商是否限了速。
cnbatch
2023-01-10 03:00:21 +08:00
至于支持断点续传的主流协议,别忘了还有 BT 协议,双向断点续传毫无问题。
不想自己制作种子文件的话,用 Syncthing 即可。
edis0n0
2023-01-10 03:07:20 +08:00
@cnbatch #2 但我单线程 HTTP 上传也能跑满上行。为了防止 SSH 流量被 QoS ,我套国内 VPN 也测试了一遍,SSH 速度还是只有同样套 VPN 传的 HTTP 的 1/10 。
ryd994
2023-01-10 03:26:00 +08:00
filezilla 可以多线程
edis0n0
2023-01-10 03:34:06 +08:00
@ryd994 #5 都说了不是多线程的问题
Vneix
2023-01-10 03:38:34 +08:00
1.接收端 CPU 性能不足,接收数据时因为解密导致性能下降。(可能性较大)
2.使用非 22 端口试试。
eason1874
2023-01-10 03:39:03 +08:00
参数配置要调优吧。我同一台内网机器,用 SMB 大概 115MB/s ,用 SFTP 大概 25MB/s (服务器使用率很低,不知是哪个配置锁死了,我懒得管,不知道怎么调)
shiji
2023-01-10 03:47:19 +08:00
davidyin
2023-01-10 08:01:38 +08:00
SFTP 加密解密开销太大?
jacy
2023-01-10 10:00:45 +08:00
同问,同服务器 http/https 很快,ss 确超慢
edis0n0
2023-01-10 12:43:14 +08:00
@Vneix #7
@davidyin #10 非标端口,两边都是近 5 年主流配置独立服务器,CPU 占用小于<1%
cnbatch
2023-01-10 13:06:50 +08:00
那大概率就是加解密的原因了。

这里有一份 SSH 调优参考:
https://www.nsoftware.com/kb/articles/legacy/sbb/6-lowtransferspeedsftp.rst
它第一条就讲清楚了,SSH 一般情况下只有 1-1.5 Mb/s 的速度,想要让速度变快,首先要做的就是调整加密算法,最好换成 AES (因为大概率有硬件加速)。

所以可以尝试下让 SSH 优先使用 AES 。
edis0n0
2023-01-10 13:10:49 +08:00
@cnbatch 我的宽带是 100Mbps 下行 50Mbps 上行,HTTP 单线程两者都能跑满,SFTP 只有 10Mbps 下行和 3.5Mbps 还稳不住的上行,就算没有硬件加速也不可能这么慢的
cnbatch
2023-01-10 13:54:29 +08:00
SSH 还真的会这么慢,一点都不奇怪,我用 SCP 复制文件经常只有 1~2 MB/s 的速度,速度快的反倒极少遇到,换成 SFTP 才好点但也不保证万能。

那份 SSH 调优参考是这么说的:
DES and 3DES are very slow, RC4 is the fastest, and AES is relatively fast
DES 和 3DES 非常慢,RC4 最快,AES 相对较快

some clients started to use hardware support for processor instructions that make AES faster
某些客户端使用硬件指令集支持让 AES 更快

如果你的 SSH 恰好就用 DES 或者 3DES ,它还真的可以慢到气死人
datocp
2023-01-18 07:46:39 +08:00
stunnel 有关于各种算法的性能测试

Performance was tested on:

Intel® Core™ i5-3570K CPU @ 3.40GHz
Ubuntu 14.10, kernel 3.18.11-031811-generic x86_64
OpenSSL 1.0.2a (built from source with gcc-4.9)
stunnel 5.16 running on a single CPU core (taskset -c 0)
(1) 2048-bit RSA certificate
(2) Negotiated encryption: ECDHE-RSA-AES256-GCM-SHA384
(3) Negotiated encryption: PSK-AES256-CBC-SHA
(4) In order to handle N concurrent connections on a Unix platform, stunnel requires nfile (ulimit -n) to be higher than 2*N, and nproc (ulimit -u) to be higher than N

ECDHE-RSA-AES128-GCM-SHA256 688 MB/s 5.5 Gbit/s
ECDHE-RSA-AES256-GCM-SHA384 648 MB/s 5.2 Gbit/s
ECDHE-RSA-AES128-SHA256 244 MB/s 2.0 Gbit/s
ECDHE-RSA-AES256-SHA384 204 MB/s 1.6 Gbit/s
DES-CBC3-SHA 28 MB/s 0.22 Gbit/s

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/907763

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX