this post was submitted on 19 Jun 2023
16 points (100.0% liked)

Arch Linux

7781 readers
12 users here now

The beloved lightweight distro

founded 4 years ago
MODERATORS
 

I used to pick out mirrors manually and had servers very close to me, but I recently started using reflector to automate the process, but the mirrors it chooses is absolute dogshit and gives me really slow speeds.

What am I doing wrong?

top 16 comments
sorted by: hot top controversial new old
[–] [email protected] 5 points 1 year ago (1 children)

Could you include what you're currently using for the various reflector command-line switches? (e.g. --age --protocol --sort ...)

[–] [email protected] 1 points 1 year ago (5 children)

Here's whats in /etc/xdg/reflector/reflector.conf


# Reflector configuration file for the systemd service.
#
# Empty lines and lines beginning with "#" are ignored.  All other lines should
# contain valid reflector command-line arguments. The lines are parsed with
# Python's shlex modules so standard shell syntax should work. All arguments are
# collected into a single argument list.
#
# See "reflector --help" for details.

# Recommended Options

# Set the output path where the mirrorlist will be saved (--save).
--save /etc/pacman.d/mirrorlist

# Select the transfer protocol (--protocol).
--protocol https

# Select the country (--country).
# Consult the list of available countries with "reflector --list-countries" and
# select the countries nearest to you or the ones that you trust. For example:
--country Bangladesh,India

# Use only the  most recently synchronized mirrors (--latest).
--latest 5

# Sort the mirrors by synchronization time (--sort).
--sort age
[–] [email protected] 3 points 1 year ago (1 children)

You are sorting by age, there is probably an option for sorting by speed or similar. You are already only choosing from the latest 5 synchronized mirrors, which should be very much up-to-date, so I'd sort by speed.

And IMO, your countries are not that many, maybe increase the list and double --latest to 10.

[–] [email protected] 1 points 1 year ago

Thank you. I will apply your recommendations.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

Been a while since I mucked with reflector, but you don't seem to be prioritizing faster mirrors whatsoever. Try --sort rate instead. If that's not fast enough I'd also increase your --latest up to maybe 15 so that you have higher odds of a fast mirror being in the group of just-updated mirrors.

[–] [email protected] 2 points 1 year ago* (last edited 1 year ago)

In my reflector.conf, I have --score 5 instead of --latest 5. I don't know how much this actually improves anything, but surely selecting by score is better than just using the most recently updated mirrors.

[–] [email protected] 1 points 1 year ago (1 children)

i believe that is what will be used by reflector if it is enabled/started as a systemd service. but, i think, that'll not be used if you're just calling it on the command-line. in that latter case, i think you must supply (those) command-line switches on ...the command-line. (maybe)

[–] [email protected] 1 points 1 year ago (1 children)

The systemd service is enabled, and when I did actually apply all these in the command line manually too before enabling the service.

[–] [email protected] 3 points 1 year ago

ah. now armed with that extra information, i can only profess cluelessness. perhaps a "--verbose" option, well watched, would reveal something (maybe) good luck!

[–] trachemys 1 points 1 year ago

Change “—sort age” to “—sort rate”

[–] memchr 4 points 1 year ago

A bit off topic:

Normally the mirrors behind the CDN would have decent speeds everywhere, e.g.

  • mirror.osbeck.com
  • arch.hu.fo
  • mirror.sunred.org

These are the top tree mirrors currently on the mirror status and they are all behind cloudflare.

[–] [email protected] 3 points 1 year ago
[–] Fredol 2 points 1 year ago

If reflector is failing you, know that you can do it without reflector:

curl -s "https://archlinux.org/mirrorlist/?country=FR&country=GB&protocol=https&use_mirror_status=on" | sed -e 's/^#Server/Server/' -e '/^#/d' | rankmirrors -n 5 -

[–] [email protected] 2 points 1 year ago

My config is set to: --country US --protocol https --sort rate --age 48 --latest 10. As a result, installations and updates are always very fast for me.

[–] eruchitanda 1 points 1 year ago

I usually do reflector -l 20 -p https,http --sort rate --save /etc/pacman.d/mirrorlist

Even though it'd probably be safer to omit the ,http.

[–] [email protected] 1 points 1 year ago

Reflector is broken now because it's hardcoded to test the community.db file, but that file is now just an empy stub as that repo was merged into extra. Reflector is just a python script so you could edit it to replace mention of community.db with extra.db until the devs fix it.

load more comments
view more: next ›