【发布时间】:2021-09-22 03:48:57
【问题描述】:
Ubuntu 服务器连接到一个网桥,远程连接到网络的其余部分。 整个网络的性能都很好,但是当我从服务器下载文件到 MacBook 时,我得到 2MB/s(兆字节/s)。这使得移动大文件变得不可行。
我一直在研究可能出现减速的地方。
它不是服务器上的磁盘(使用 mdadm 的 Raid5)。我运行了一些 IO 测试来检查它的读写并获得了非常可观的分数:
首先 - 写入 /data(在 raid 阵列上):
paul@server:/data/tmp$ dd if=/dev/zero of=testfile bs=8k count=1000000 ; sync
1000000+0 records in
1000000+0 records out
8192000000 bytes (8.2 GB, 7.6 GiB) copied, 48.6398 s, 168 MB/s
现在从 RAID 阵列上的文件读取:
paul@server:/data/tmp$ dd if=/data/tmp/anothertestfile of=/dev/null
21653847+1 records in
21653847+1 records out
11086770047 bytes (11 GB, 10 GiB) copied, 55.1461 s, 201 MB/s
所以它不是磁盘。 网络呢?嗯...这是从服务器到互联网的速度测试:
paul@server:/data/tmp$ speedtest-cli
Retrieving speedtest.net configuration...
Retrieving speedtest.net server list...
Testing from Vocus New Zealand (101.98.130.3)...
Selecting best server based on latency...
Hosted by Vocusgroup NZ (Auckland) [1.37 km]: 5.67 ms
Testing download speed........................................
Download: 202.89 Mbit/s
Testing upload speed..................................................
Upload: 172.08 Mbit/s
让我的服务器在 wifi 连接结束时获得 200Mb 足以满足我的目的。
Mac 获得 1Gb 的互联网,因为它是有线的。
我已经测试过使用 HTTPS、SFTP(即 SSH 上的 FTP)和 SMB 将文件从服务器下载到 Mac。都给出相同的结果 - 大约每秒 2MB。我还测试了连接到防火墙的 AppleTV - 它从服务器获得 2MB/s。
奇怪的是 - 我使用 Wireguard 从外部连接到我的家庭网络。然后我尝试直接从Server下载一个大文件,得到了35MB/s,已经很不错了。
另外,当我将大文件从 MacBook上传到服务器时,我通常会看到更快的结果 - 20-30MB/s。所以写比读快得多。
有什么想法可能会出现减速吗?
谢谢。 保罗
[编辑:添加更多统计数据]
在以大约 2MB/s 的速度从服务器下载期间,以下是来自服务器的一些性能指标。底线是服务器负载非常轻,但仍然缓慢地提供文件。
IFTOP:
19.1Mb 38.1Mb 57.2Mb 76.3Mb 95.4Mb
└─bbbbbbbbbbbbbbbbbbbb┴─bbbbbbbbbbbbbbbbbbbb┴─bbbbbbbbbbbbbbbbbbbb┴─bbbbbbbbbbbbbbbbbbbb┴─bbbbbbbbbbbbbbbbbbb─
server.local => MacBook-Pro.local 13.6Mb 14.5Mb 16.2Mb
<= 660Kb 653Kb 738Kb
顶部:
top - 08:57:41 up 9 days, 14:17, 2 users, load average: 0.16, 0.12, 0.09
Tasks: 208 total, 1 running, 156 sleeping, 0 stopped, 1 zombie
%Cpu(s): 0.4 us, 0.5 sy, 0.0 ni, 97.7 id, 1.1 wa, 0.0 hi, 0.3 si, 0.0 st
KiB Mem : 1841464 total, 82652 free, 550804 used, 1208008 buff/cache
KiB Swap: 2097148 total, 1373180 free, 723968 used. 1023428 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1089 avahi 20 0 48412 2644 1216 S 1.0 0.1 40:45.24 avahi-daemon
25952 paul 20 0 1641140 20908 16224 S 1.0 1.1 0:11.53 smbd
22 root 20 0 0 0 0 S 0.3 0.0 2:55.45 ksoftirqd/2
533 root 20 0 0 0 0 S 0.3 0.0 10:45.52 rc0
1464 mysql 20 0 2685192 207700 4976 S 0.3 11.3 478:43.85 mysqld
【问题讨论】: