On the first one or two days of using Garuda I was constantly impressed at the download speed with Pacman. The speed was comparable to torrents, in that it was downloading at my current download speed, which is the following:
╭─kudos@kudos in ~
╰─λ speedtest
Speedtest by Ookla
Server: SBA Edge - West Chicago, IL (id = 33629)
ISP: WideOpenWest
Latency: 14.03 ms (0.33 ms jitter)
Download: 80.27 Mbps (data used: 105.3 MB)
Upload: 10.68 Mbps (data used: 17.4 MB)
Packet Loss: 0.0%
Result URL: https://www.speedtest.net/result/c/3bb9881a-5e3e-40a4-a3a5-b45f46b3d940
And my speedtest results are reflected on by my torrent download speeds (8MiB/s)
But now Arch packages are downloading @ ~300KiB/s, when I was previously enjoying 5-8MiB/s.
I updated the mirrors again using the Setup Assistant GUI (the top mirrors were at speeds of my max download rate) but whenever I try to install or update anything using pacman, it's still slow.
╭─kudos@kudos in ~/Downloads took 1ms
╰─λ pacman -S go
resolving dependencies...
looking for conflicting packages...
Packages (1) go-2:1.16.3-1
Total Download Size: 61.67 MiB
Total Installed Size: 597.59 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
^Co-2:1.16.3-1-x86_64 28.2 MiB 367 KiB/s 01:33 [----------------C o o o o o o ] 45%
Interrupt signal received
╭─kudos@kudos in ~/Downloads took 59s
╰─λ pacman -Syu
:: Synchronizing package databases...
core 131.0 KiB 351 KiB/s 00:00 [------------------------------------] 100%
extra 1619.2 KiB 233 KiB/s 00:07 [------------------------------------] 100%
community 5.5 MiB 221 KiB/s 00:25 [------------------------------------] 100%
multilib 149.4 KiB 1107 KiB/s 00:00 [------------------------------------] 100%
chaotic-aur 971.9 KiB 452 KiB/s 00:02 [------------------------------------] 100%
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (2) curl-7.76.1-1 lib32-curl-7.76.1-1
You can see how all the download speeds are shown in KiB instead of MiB.
I would love it if anyone could put up some possible reasons to why this is happening and perhaps some possible solutions, thanks in advance!
╭─kudos@kudos in ~ took 1ms
╰─λ upd
[2021-04-14 16:36:10] WARNING: failed to rate http(s) download (https://europe.mirror.pkgbuild.com/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:36:16] WARNING: failed to rate http(s) download (https://archlinux.thaller.ws/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:36:21] WARNING: failed to rate http(s) download (https://arch.mirror.square-r00t.net/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:36:27] WARNING: failed to rate http(s) download (https://archlinux.mailtunnel.eu/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:36:33] WARNING: failed to rate http(s) download (https://mirror.f4st.host/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With: reflector --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# When: 2021-04-14 21:36:33 UTC
# From: https://www.archlinux.org/mirrors/status/json/
# Retrieved: 2021-04-14 21:32:39 UTC
# Last Check: 2021-04-14 21:04:04 UTC
Server = https://europe.mirror.pkgbuild.com/$repo/os/$arch
Server = https://archlinux.thaller.ws/$repo/os/$arch
Server = https://arch.mirror.square-r00t.net/$repo/os/$arch
Server = https://archlinux.mailtunnel.eu/$repo/os/$arch
Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
chaotic-aur is up to date
:: Starting full system upgrade...
there is nothing to do
Unable to get the manpath, falling back to /usr/share/man:/usr/local/man:/usr/local/share/man. Explictly set $MANPATH to fix this error.
Parsing man pages and writing completions to /home/kudos/.local/share/fish/generated_completions/
3291 / 3291 : zramctl.8.gz
╭─kudos@kudos in ~ took 40s
╰─λ sudo reflector --country US --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist && sudo pacman -Syu
[2021-04-14 16:37:25] WARNING: failed to rate http(s) download (https://arch.mirror.square-r00t.net/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:37:30] WARNING: failed to rate http(s) download (https://mirror.lty.me/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:37:43] WARNING: failed to rate http(s) download (https://arlm.tyzoid.com/community/os/x86_64/community.db): Download timed out after 5 second(s).
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################
# With: reflector --country US --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# When: 2021-04-14 21:37:45 UTC
# From: https://www.archlinux.org/mirrors/status/json/
# Retrieved: 2021-04-14 21:37:45 UTC
# Last Check: 2021-04-14 21:04:04 UTC
Server = https://america.mirror.pkgbuild.com/$repo/os/$arch
Server = https://arch.mirror.constant.com/$repo/os/$arch
Server = https://arch.mirror.square-r00t.net/$repo/os/$arch
Server = https://mirror.lty.me/archlinux/$repo/os/$arch
Server = https://arlm.tyzoid.com/$repo/os/$arch
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
multilib is up to date
chaotic-aur is up to date
:: Starting full system upgrade...
there is nothing to do
╭─kudos@kudos in ~ took 28s
╰─λ pacman -S go
resolving dependencies...
looking for conflicting packages...
Packages (1) go-2:1.16.3-1
Total Download Size: 33.42 MiB
Total Installed Size: 597.59 MiB
:: Proceed with installation? [Y/n] Y
:: Retrieving packages...
^Co-2:1.16.3-1-x86_64 16.2 MiB 260 KiB/s 01:07 [-----------------Co o o o o o ] 48%
Interrupt signal received
Nothing changed, I’ll see if waiting another day yields a different result
Oh, and here’s the output of using the setup assistant:
[2021-04-14 16:41:34] INFO: rating 23 mirror(s) by download speed
[2021-04-14 16:41:34] INFO: Server Rate Time
[2021-04-14 16:41:36] INFO: https://mirrors.rit.edu/archlinux/ 5124.46 KiB/s 1.09 s
[2021-04-14 16:41:42] WARNING: failed to rate http(s) download (https://mirrors.kernel.org/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:41:42] INFO: https://mirrors.kernel.org/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:41:47] WARNING: failed to rate http(s) download (https://mirror.dal10.us.leaseweb.net/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:41:47] INFO: https://mirror.dal10.us.leaseweb.net/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:41:53] WARNING: failed to rate http(s) download (https://mirror.mia11.us.leaseweb.net/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:41:53] INFO: https://mirror.mia11.us.leaseweb.net/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:41:58] WARNING: failed to rate http(s) download (https://mirror.sfo12.us.leaseweb.net/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:41:58] INFO: https://mirror.sfo12.us.leaseweb.net/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:04] WARNING: failed to rate http(s) download (https://mirror.wdc1.us.leaseweb.net/archlinux/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:42:04] INFO: https://mirror.wdc1.us.leaseweb.net/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:05] INFO: https://arch.mirror.constant.com/ 7163.23 KiB/s 0.78 s
[2021-04-14 16:42:09] INFO: https://mirrors.ocf.berkeley.edu/archlinux/ 1771.25 KiB/s 3.16 s
[2021-04-14 16:42:10] INFO: https://mirror.lty.me/archlinux/ 3887.07 KiB/s 1.44 s
[2021-04-14 16:42:12] INFO: https://mirror.kaminski.io/archlinux/ 4269.47 KiB/s 1.31 s
[2021-04-14 16:42:17] WARNING: failed to rate http(s) download (https://arlm.tyzoid.com/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:42:17] INFO: https://arlm.tyzoid.com/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:22] WARNING: failed to rate http(s) download (https://arch.mirror.square-r00t.net/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:42:22] INFO: https://arch.mirror.square-r00t.net/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:25] INFO: https://mirrors.xtom.com/archlinux/ 3025.00 KiB/s 1.85 s
[2021-04-14 16:42:26] INFO: https://repo.ialab.dsu.edu/archlinux/ 4217.22 KiB/s 1.33 s
[2021-04-14 16:42:27] INFO: https://iad.mirrors.misaka.one/archlinux/ 6472.73 KiB/s 0.86 s
[2021-04-14 16:42:32] INFO: https://mirror.arizona.edu/archlinux/ 1401.20 KiB/s 3.99 s
[2021-04-14 16:42:38] WARNING: failed to rate http(s) download (https://archmirror1.octyl.net/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:42:38] INFO: https://archmirror1.octyl.net/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:39] INFO: https://plug-mirror.rcac.purdue.edu/archlinux/ 8353.29 KiB/s 0.67 s
[2021-04-14 16:42:39] INFO: https://mirrors.mit.edu/archlinux/ 8413.54 KiB/s 0.66 s
[2021-04-14 16:42:41] INFO: https://arch.hu.fo/archlinux/ 4400.64 KiB/s 1.27 s
[2021-04-14 16:42:41] WARNING: failed to rate http(s) download (https://ftp.sudhip.com/archlinux/community/os/x86_64/community.db): HTTP Error 403: Forbidden
[2021-04-14 16:42:41] INFO: https://ftp.sudhip.com/archlinux/ 0.00 KiB/s 0.00 s
[2021-04-14 16:42:46] WARNING: failed to rate http(s) download (https://zxcvfdsa.com/arch/community/os/x86_64/community.db): Download timed out after 5 second(s).
[2021-04-14 16:42:46] INFO: https://zxcvfdsa.com/arch/ 0.00 KiB/s 0.00 s
If you carefully inspect the output, it is obvious that some servers are failing (no matter why) and several are good.
You may manually select the good ones and add to your mirrorlist, or use another parameter combination with reflector.
Selecting the latest 5 and then ranking them (5) will not filter out the bad ones (as it seems).
I suggest trying rankmirrors (as I only use this one) which is an upstream Arch utility to test mirrors and you may also use it for chaotic-aur mirrorlist.
Read rankmirrors -h for usage.
Just don’t ever forget to forcefully synchronize DBs after each mirrorlist re-configuration (actually when the 1st server has changed).
You don’t need to re-configure your mirrorlists ever, unless you are having continuous speed issues. It should be the last thing to test when having slow package download speeds. Stay on reliable (for you) servers and that’s it.