Pacman downloads sluggish all of a sudden

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:

╭─[email protected] 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.

╭─[email protected] 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
╭─[email protected] 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!

1 Like

First, Garuda can't control internet speed, if a million user download chaotic or repos file :slight_smile:

Second, try

upd

=

sudo reflector --country Germany --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist && cat /etc/pacman.d/mirrorlist && sudo pacman -Syu

or change to your liking

4 Likes
╭─[email protected] 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                                        

╭─[email protected] 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

╭─[email protected] 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 :slight_smile:

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

:man_shrugging:

Work fine here in europe.
Why in your (good :slight_smile: ) country are less speed, IDK :frowning:

1 Like
 upd
[sudo] Passwort für sgs:    
File: /etc/pacman.d/mirrorlist
################################################################################
################# Arch Linux mirrorlist generated by Reflector #################
################################################################################

# With:       reflector --country Germany --latest 5 --age 2 --fastest 5 --protocol https --sort rate --save /etc/pacman.d/mirrorlist
# When:       2021-04-14 21:52:50 UTC
# From:       https://www.archlinux.org/mirrors/status/json/
# Retrieved:  2021-04-14 21:52:43 UTC
# Last Check: 2021-04-14 21:04:04 UTC

Server = https://mirror.chaoticum.net/arch/$repo/os/$arch
Server = https://archlinux.thaller.ws/$repo/os/$arch
Server = https://mirror.pseudoform.org/$repo/os/$arch
Server = https://mirror.f4st.host/archlinux/$repo/os/$arch
Server = https://ftp.halifax.rwth-aachen.de/archlinux/$repo/os/$arch
:: Synchronisiere Paketdatenbanken...
 core                                                                                                             131,0 KiB  1455 KiB/s 00:00 [---------------------------------------------------------------------------------------] 100%
 extra                                                                                                           1619,2 KiB  4,25 MiB/s 00:00 [---------------------------------------------------------------------------------------] 100%
 community                                                                                                          5,5 MiB  6,00 MiB/s 00:01 [---------------------------------------------------------------------------------------] 100%
 multilib                                                                                                         149,4 KiB  5,41 MiB/s 00:00 [---------------------------------------------------------------------------------------] 100%
 chaotic-aur                                                                                                      972,1 KiB   872 KiB/s 00:01 [---------------------------------------------------------------------------------------] 100%
:: Starte vollständige Systemaktualisierung...
Löse Abhängigkeiten auf...
Suche nach in Konflikt stehenden Paketen...

Pakete (11) android-tools-31.0.0-2  curl-7.76.1-1  fuse-common-3.10.3-1  fuse3-3.10.3-1  gitkraken-7.5.5-1  irqbalance-1.8.0-1  lib32-curl-7.76.1-1  libvips-8.10.6-1  metis-5.1.0.p10-2  mujs-1.1.1-1  subversion-1.14.1-2

Gesamtgröße des Downloads:           110,00 MiB
Gesamtgröße der installierten Pakete:  344,44 MiB
Größendifferenz der Aktualisierung:    0,65 MiB

:: Installation fortsetzen? [J/n] 
:: Empfange Pakete...
 curl-7.76.1-1-x86_64                                                                                            1087,9 KiB  5,29 MiB/s 00:00 [---------------------------------------------------------------------------------------]   0%
 fuse-common-3.10.3-1-x86_64                                                                                     1090,5 KiB  4,75 MiB/s 00:00 [---------------------------------------------------------------------------------------]   0%
 fuse3-3.10.3-1-x86_64                                                                                           1213,0 KiB  4,26 MiB/s 00:00 [---------------------------------------------------------------------------------------]   1%
 irqbalance-1.8.0-1-x86_64                                                                                       1257,1 KiB  3,99 MiB/s 00:00 [---------------------------------------------------------------------------------------]   1%
 metis-5.1.0.p10-2-x86_64                                                                                        1423,8 KiB  4,04 MiB/s 00:00 [---------------------------------------------------------------------------------------]   1%
 subversion-1.14.1-2-x86_64                                                                                         9,9 MiB  5,87 MiB/s 00:02 [---------------------------------------------------------------------------------------]   8%
 android-tools-31.0.0-2-x86_64                                                                                     11,6 MiB  5,89 MiB/s 00:02 [---------------------------------------------------------------------------------------]  10%
 libvips-8.10.6-1-x86_64                                                                                           13,2 MiB  5,91 MiB/s 00:02 [---------------------------------------------------------------------------------------]  11%
 mujs-1.1.1-1-x86_64                                                                                               13,4 MiB  5,90 MiB/s 00:02 [---------------------------------------------------------------------------------------]  12%
 lib32-curl-7.76.1-1-x86_64                                                                                        13,6 MiB  5,86 MiB/s 00:02 [---------------------------------------------------------------------------------------]  12%
 gitkraken-7.5.5-1-x86_64                                                                                         110,0 MiB  4,42 MiB/s 00:25 [---------------------------------------------------------------------------------------] 100%

Work fine 4,04-5,91 MiB/s my max I can reach.

1 Like

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.

3 Likes

:confetti_ball:

I got it!
First, I got the output from reflector --latest 40 --protocol https and ran that as input for rankmirrors.

Saving that to my mirrorlist and installing Golang is @ 7.66 MiB/s!

4 Likes

Didn't you replace --country Germany with your country?
Also, you can remove --country Germany altogether.

4 Likes

Considering you're talking to me, I replaced --country Germany with --country US as shown in the terminal output shown earlier:

4 Likes

It is United States
Btw, you can see
https://archlinux.org/mirrorlist/?country=all&protocol=http&protocol=https&ip_version=4
To know actual name of your country as in mirrorlist.

2 Likes

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.

Actually reflector accepts both (either or).

4 Likes

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.