Closed taotieren closed 1 year ago
@taotieren 感谢告知,请您提供尽可能详细的网络环境(包括网络服务商,网络类型,geoip等信息),同时打印
tracepath mirrors.cqu.edu.cn
我们将根据以上信息进行研判。
@taotieren 感谢告知,请您提供尽可能详细的网络环境(包括网络服务商,网络类型,geoip等信息),同时打印
tracepath mirrors.cqu.edu.cn
我们将根据以上信息进行研判。
❯ tracepath mirrors.cqu.edu.cn
1?: [LOCALHOST] 0.005ms pmtu 1460
1: 240e:3b3:600:3b0::1 0.397ms
1: 240e:3b3:600:3b0::1 0.337ms
2: 240e:f8:4d::1 8.947ms
3: 240e:1e:0:29a2::2 2.267ms
4: 240e:1e:0:103::2 1.703ms
5: 240e::c:3:5200:703 1.512ms
6: 240e::e:3:2008:403 2.453ms
7: 2001:da8:2:754::1 3.679ms
8: 2001:da8:2:16::2 12.084ms
9: 2001:da8:2:f::1 36.057ms
10: 2001:da8:2:c::2 54.386ms
11: 2001:da8:2:117::2 50.734ms
12: 2001:da8:b1:ffff::f002 52.044ms
13: cernet2.net 51.082ms
14: cernet2.net 52.980ms
15: no reply
16: no reply
17: no reply
18: no reply
19: no reply
20: no reply
21: no reply
22: no reply
23: no reply
24: no reply
25: no reply
26: no reply
27: no reply
28: no reply
29: no reply
30: no reply
Too many hops: pmtu 1460
Resume: pmtu 1460
❯ tracepath mirrors.cqu.edu.cn -4
1?: [LOCALHOST] pmtu 1492
1: _gateway 0.241ms
1: _gateway 0.231ms
2: _gateway 0.211ms pmtu 1460
2: 119.129.120.1 1.317ms
3: 121.8.109.97 3.579ms
4: no reply
5: no reply
6: no reply
7: 101.4.118.154 52.247ms asymm 15
8: 101.4.114.73 47.664ms asymm 14
9: 101.4.115.233 50.032ms asymm 13
10: 101.4.117.233 49.993ms
11: 101.4.115.62 50.423ms asymm 13
12: 202.202.216.2 47.533ms
13: no reply
14: no reply
15: no reply
16: no reply
17: no reply
18: no reply
19: no reply
20: no reply
21: no reply
22: no reply
23: no reply
24: no reply
25: no reply
26: no reply
27: no reply
28: no reply
29: no reply
30: no reply
Too many hops: pmtu 1460
Resume: pmtu 1460
@taotieren 感谢告知,请您提供尽可能详细的网络环境(包括网络服务商,网络类型,geoip等信息),同时打印
tracepath mirrors.cqu.edu.cn
我们将根据以上信息进行研判。
根据上一个问题的反馈,是在广州电信千兆光纤,同时可以使用 IPv4 和 IPv6. 上面是 IPv4 IPv6 测试情况
使用 mirrors.cernet.edu.cn/archlinux/ 解析到重庆大学镜像站下载慢的问题 详细讨论如下: mirrorz-org/mirrorz#110 (comment)
是重庆大学镜像站做了限速吗?archlinux 默认开启了并发下载,makepkg.conf 设置的 4线程下载也会被封吗? 具体的限制是怎样的呢? 能否设置多线程下载为 4 或 8 呢?
您好,经过研判,您的运营商线路没有问题。我本人也使用手里可以ssh的福建电信千兆家宽线路进行了测试,AS4134到AS23910与您的线路类似,也是在广东华南理工大学处进入。测试IPv6下载arch iso,下行可以到33MB/s。请问您遇到的问题是持续性下行只有1MB/s还是偶发性由于镜像站负载过大导致?
使用 yay -Syu 进行更新。下载 linux-lts 包时稳定在 1~2MB/s
yay -S linux-lts{,-headers}
Sync Explicit (2): linux-lts-headers-6.1.54-1, linux-lts-6.1.54-1
警告:linux-lts-6.1.54-1 已经为最新 -- 重新安装警告:linux-lts-headers-6.1.54-1 已经为最新 -- 重新安装正在解析依赖关系...
正在查找软件包冲突...
软件包 (2) 旧版本 新版本 净变化 下载大小
core/linux-lts 6.1.54-1 6.1.54-1 0.00 MiB 116.24 MiB
core/linux-lts-headers 6.1.54-1 6.1.54-1 0.00 MiB 26.85 MiB
下载大小: 143.10 MiB
全部安装大小: 264.23 MiB
净更新大小: 0.00 MiB
:: 进行安装吗? [Y/n]
:: 正在获取软件包......
linux-lts-headers-6.1.54-1-x86_64 26.9 MiB 735 KiB/s 00:37 [##########################################] 100%
linux-lts-6.1.54-1-x86_64 116.2 MiB 741 KiB/s 02:41 [##########################################] 100%
全部 (2/2) 143.1 MiB 912 KiB/s 02:41 [##########################################] 100%
(2/2) 正在检查密钥环里的密钥 [##########################################] 100%
(2/2) 正在检查软件包完整性 [##########################################] 100%
(2/2) 正在加载软件包文件 [##########################################] 100%
(2/2) 正在检查文件冲突 [##########################################] 100%
(2/2) 正在检查可用存储空间 [##########################################] 100%
:: 正在运行事务前钩子函数...
(1/1) Remove upgraded DKMS modules
==> dkms remove --no-depmod acpi
❯ curl -v mirrors.cernet.edu.cn/archlinux/
* Trying [2001:250:4:100::2]:80...
* Connected to mirrors.cernet.edu.cn (2001:250:4:100::2) port 80
> GET /archlinux/ HTTP/1.1
> Host: mirrors.cernet.edu.cn
> User-Agent: curl/8.3.0
> Accept: */*
>
< HTTP/1.1 302 Found
< Server: nginx/1.20.1
< Date: Wed, 20 Sep 2023 12:08:50 GMT
< Content-Type: text/html; charset=utf-8
< Content-Length: 59
< Connection: keep-alive
< Location: http://mirrors.cqu.edu.cn/archlinux/
<
<a href="http://mirrors.cqu.edu.cn/archlinux/">Found</a>.
* Connection #0 to host mirrors.cernet.edu.cn left intact
测试 下载 archlinux.iso 同样是维持在 1MB/s 左右
我尝试了如下 sysctl 的配置后下载速度能稳定有所提升
❯ cat /etc/sysctl.d/90-sysctl.conf
net.core.netdev_max_backlog = 52428800
net.core.somaxconn = 81920
net.core.optmem_max = 26214400
net.core.rmem_max=26214400
net.core.rmem_default=26214400
net.core.wmem_max=26214400
net.core.wmem_default=26214400
net.ipv4.tcp_rmem = 81920 1048576 2097152
net.ipv4.tcp_wmem = 81920 65536 16777216
net.ipv4.udp_rmem_min = 81920
net.ipv4.udp_wmem_min = 81920
net.ipv4.tcp_max_syn_backlog = 163840
net.ipv4.tcp_max_tw_buckets = 81920
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 300
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.all.log_martians = 1
net.ipv4.ping_group_range = 0 65535
vm.dirty_background_bytes = 52428800
vm.dirty_bytes = 104857600
❯ cat /etc/sysctl.d/90-sysctl-ipv6.conf
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.all.accept_ra = 1
net.ipv6.conf.all.accept_redirects = 1
net.ipv6.conf.all.autoconf = 1
net.ipv6.neigh.default.gc_thresh1 = 256
net.ipv6.neigh.default.gc_thresh2 = 1024
net.ipv6.neigh.default.gc_thresh3 = 2048
net.ipv6.route.max_size = 8192
net.ipv6.conf.all.forwarding = 1
net.ipv6.conf.all.use_tempaddr = 2
net.ipv6.conf.default.use_tempaddr = 2
net.ipv6.conf.wlan0.addr_gen_mode=3
❯ cat /etc/sysctl.d/80-bbr.conf
net.core.default_qdisc=cake
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_fastopen=3
下载测试
❯ wget https://mirrors.cqu.edu.cn/archlinux/iso/latest/archlinux-2023.09.01-x86_64.iso
--2023-09-21 22:17:54-- https://mirrors.cqu.edu.cn/archlinux/iso/latest/archlinux-2023.09.01-x86_64.iso
已载入 CA 证书“/etc/ssl/certs/ca-certificates.crt”
正在解析主机 mirrors.cqu.edu.cn (mirrors.cqu.edu.cn)... 2001:da8:c800:1021::caca:18c, 202.202.1.140
正在连接 mirrors.cqu.edu.cn (mirrors.cqu.edu.cn)|2001:da8:c800:1021::caca:18c|:443... 已连接。已发出 HTTP 请求,正在等待回应... 200 OK
长度:843395072 (804M) [application/octet-stream]
正在保存至: “archlinux-2023.09.01-x86_64.iso”
archlinux-2023.09.01-x86_64.iso 100%[====================================================>] 804.32M 17.5MB/s 用时 45s
2023-09-21 22:18:40 (17.9 MB/s) - 已保存 “archlinux-2023.09.01-x86_64.iso” [843395072/843395072])
❯ yay -S linux-lts{,-headers}
Sync Explicit (2): linux-lts-headers-6.1.54-1, linux-lts-6.1.54-1
警告:linux-lts-headers-6.1.54-1 已经为最新 -- 重新安装警告:linux-lts-6.1.54-1 已经为最新 -- 重新安装正在解析依赖关系...
正在查找软件包冲突...
软件包 (2) 旧版本 新版本 净变化 下载大小
core/linux-lts 6.1.54-1 6.1.54-1 0.00 MiB 116.24 MiB
core/linux-lts-headers 6.1.54-1 6.1.54-1 0.00 MiB 26.85 MiB
下载大小: 143.10 MiB
全部安装大小: 264.23 MiB
净更新大小: 0.00 MiB
:: 进行安装吗? [Y/n]
:: 正在获取软件包......
linux-lts-headers-6.1.54-1-x86_64 26.9 MiB 11.9 MiB/s 00:02 [##########################################] 100%
linux-lts-6.1.54-1-x86_64 116.2 MiB 20.6 MiB/s 00:06 [##########################################] 100%
全部 (2/2) 143.1 MiB 25.3 MiB/s 00:06 [##########################################] 100%
(2/2) 正在检查密钥环里的密钥 [##########################################] 100%
(2/2) 正在检查软件包完整性 [##########################################] 100%
(2/2) 正在加载软件包文件 [##########################################] 100%
(2/2) 正在检查文件冲突 [##########################################] 100%
(2/2) 正在检查可用存储空间 [##########################################] 100%
:: 正在运行事务前钩子函数...
(1/1) Remove upgraded DKMS modules
经过一段时间的测试发现是net.ipv4.tcp_window_scaling
配置的问题
启用时速度是满速下载
net.ipv4.tcp_window_scaling = 1
禁用时速度在 1˜2MB/s
net.ipv4.tcp_window_scaling = 1
看了下 Arch Wiki 关于这里的解释 6.1 The TCP window scaling problem
最后的调整配置是
net.core.netdev_max_backlog = 52428800
net.core.somaxconn = 81920
net.core.optmem_max = 26214400
net.core.rmem_max=26214400
net.core.rmem_default=26214400
net.core.wmem_max=26214400
net.core.wmem_default=26214400
net.ipv4.tcp_max_syn_backlog = 163840
net.ipv4.tcp_max_tw_buckets = 81920
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_fin_timeout = 300
net.ipv4.tcp_slow_start_after_idle = 1
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_keepalive_intvl = 30
net.ipv4.tcp_keepalive_probes = 5
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_sack = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_rfc1337 = 0
net.ipv4.tcp_window_scaling = 1
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.log_martians = 1
net.ipv4.conf.all.log_martians = 1
net.ipv4.ping_group_range = 0 65535
vm.dirty_background_bytes = 52428800
vm.dirty_bytes = 104857600
@taotieren 大多数情况请保持发行版默认的内核参数,镜像站为同一地区的用户提供均等条件的服务,不对用户行为进行负责。感谢告知故障原因。
经过一段时间的测试发现是
net.ipv4.tcp_window_scaling
配置的问题 启用时速度是满速下载
比较好奇您之前的配置为什么会出现tcp_window_scaling默认关闭的情况,关闭的情况下最大带宽不会超过64KB/RTT,假设您到我们镜像站RTT为50ms,那么关闭的情况下最大带宽只有1.2MB/s。 且观察了Linux主线内核代码 https://github.com/torvalds/linux/blob/v6.6-rc2/net/ipv4/tcp_ipv4.c#L3225 后发现,内核默认配置中该选项也是开启状态。
经过一段时间的测试发现是
net.ipv4.tcp_window_scaling
配置的问题 启用时速度是满速下载比较好奇您之前的配置为什么会出现tcp_window_scaling默认关闭的情况,关闭的情况下最大带宽不会超过64KB/RTT,假设您到我们镜像站RTT为50ms,那么关闭的情况下最大带宽只有1.2MB/s。 且观察了Linux主线内核代码 https://github.com/torvalds/linux/blob/v6.6-rc2/net/ipv4/tcp_ipv4.c#L3225 后发现,内核默认配置中该选项也是开启状态。
以前是参考 arch wiki 进行配置,使用的是北外的镜像,一直使用正常,最近换成智能镜像前面使用正常后面出现 1~2MB/s 的情况才进行了反馈。 用的是 linux-ck 的内核。
使用 mirrors.cernet.edu.cn/archlinux/ 解析到重庆大学镜像站下载慢的问题 详细讨论如下: https://github.com/mirrorz-org/mirrorz/issues/110#issuecomment-1724918722
是重庆大学镜像站做了限速吗?archlinux 默认开启了并发下载,makepkg.conf 设置的 4线程下载也会被封吗? 具体的限制是怎样的呢? 能否设置多线程下载为 4 或 8 呢?