[technique] Etat des miroirs chez tetaneutral.net

Baptiste Jonglez baptiste at bitsofnetworks.org
Jeu 31 Oct 09:30:36 CET 2019


Bonjour,

Voilà un petit point d'étape sur les miroirs hébergés par tetaneutral.net.
Pour rappel, l'aventure a commencé en 2014 avec un miroir Debian [1],
d'autres miroirs se sont rajoutés au fur et à mesure [2], et depuis
juillet 2018 les miroirs sont hébergés sur un NUC à TLS00 avec un SSD de
4 TB [3].

L'espace disque occupé se répartit par projet de la façon suivante, en
prenant le max sur le dernier mois parce que ça varie pas mal pour
certains projets :

| Projet          | Espace occupé |
|-----------------+---------------|
| Debian          | 1.1 TB        |
| OpenWrt         | 609 GB        |
| LineageOS       | 531 GB        |
| F-Droid         | 324 GB        |
| OpenWrt archive | 232 GB        |
| OpenStreetMap   | 160 GB        |
| CTAN            | 41 GB         |
| CPAN            | 28 GB         |
| Tails           | 23 GB         |

Niveau réseau, on est à 268 Mbit/s de débit sortant moyen sur le dernier
mois, avec un maximum à 721 Mbit/s et un 95ème percentile autour de
350-400 Mbit/s.  Si c'est plus parlant, ça représente 81 TB de données
servies par mois !
En débit entrant (pour mettre à jour les miroirs !), on est à 32 Mbit/s de
moyenne, c'est environ 10 fois moins.

Le trafic se répartit de la façon suivante, en estimant un peu à la louche
à partir d'une analyse de quelques jours de logs du serveur web (avec
goaccess), sauf pour OpenStreetMap qui est spécial.  À noter que ça ne
prend pas en compte les gens qui utilisent notre miroir comme source de
rsync, il y en a quelques-uns mais ça reste anecdotique (~30 Mbit/s au
total je dirais).

| Projet        | Données servies | Débit              | Info                                                       |
|---------------+-----------------+--------------------+------------------------------------------------------------|
| CTAN          | 1 TB/jour       | ~90 Mbit/s moyenne | load-balancing                                             |
| OpenStreetMap |                 | 55 Mbit/s moyenne  | geo-balancing (service de cache pour tuiles OpenStreetMap) |
| F-Droid       | 450 GB/jour     | ~40 Mbit/s moyenne | load-balancing                                             |
| LineageOS     | 400 GB/jour     | ~35 Mbit/s moyenne | geo-balancing, trafic principalement vers France           |
| Tails         | 100 GB/jour     | ~10 Mbit/s moyenne | load-balancing                                             |
| Debian        | 2 GB/jour       | ---                | 80% de robots                                              |
| CPAN          | 400 MB/jour     | ---                | surtout 2 crawlers (Hetzner)                               |
| OpenWrt       | 300 MB/jour     | ---                | 96% de robots                                              |

Les débits indiqués sont des moyennes : pour avoir la valeur au 95ème
percentile il faut faire entre x1.5 et x2.5 (variation naturelle du trafic
jour / nuit, surtout quand c'est geo-balancé et qu'on sert principalement
la France).

Je pensais que LineageOS était loin devant en trafic réseau, et en fait
non !  Le trafic a dû diminuer depuis qu'il y a un deuxième miroir en
France, grâce au géo-balancing qui partage la charge entre les deux
[4,5,6].

Pour CTAN, la quasi-totalité du trafic est liée à la distribution mactex
[7] qui pèse 4 GB.  On est intégré à un système de load-balancing global,
donc on sert du trafic à des utilisateurs partout dans le monde (en
pratique, c'est surtout réparti entre Europe, Amérique du Nord, Asie)

Pour F-Droid, c'est le client qui load-balance directement entre les
miroirs « actifs », et on en fait partie depuis le début [8,9,10].  Je ne
sais pas sur quoi se base le client F-Droid pour choisir le miroir, j'ai
l'impression que c'est opportuniste.  En pratique, on sert environ 50%
vers l'Europe, 25% vers l'Amérique du Nord et 25% vers le reste du monde.

Pour OpenStreetMap, c'est un peu différent, ce n'est pas un miroir mais un
proxy-cache qui tourne dans une VM.  La distribution est également gérée
avec un système de géo-balancing [11], donc on sert principalement du
trafic vers des AS français (en grande majorité Orange, SFR, Bouygues,
Free).  À noter que ça bouffe beaucoup de CPU et d'I/O (ça sert plein de
fichiers de quelques KB !), on a mis ça sur un SSD NVMe sinon ça tue les
perfs.

Il reste Tails qui est également géré avec du load-balancing, mais qui
consomme relativement peu vu qu'il y a beaucoup de miroirs [12].

Pour les trois derniers (Debian, OpenWrt [13] et CPAN), on ne fait pas
partie d'un système de load-balancing, bien que j'ai un doute sur CPAN
(c'était censé être le cas mais visiblement non...).  Le trafic est donc
beaucoup plus anecdotique.  Il n'empêche que le miroir Debian est quand
même utile et un peu utilisé en interne chez ttnn, genre sur des VM.

Voilà, j'espère que ça visibilise l'impact de ces miroirs et le soutien
technique non-négligeable que tetaneutral.net peut apporter à ces projets
libres, et que ça donne envie de faire tourner d'autres miroirs, ici ou
ailleurs :)

Baptiste

[1] https://chiliproject.tetaneutral.net/projects/tetaneutral/wiki/MiroirDebian
[2] https://lists.tetaneutral.net/pipermail/technique/2017-August/002862.html
[3] https://lists.tetaneutral.net/pipermail/technique/2018-July/003255.html
[4] https://mirrorbits.lineageos.org/?mirrorstats
[5] https://mirrorbits.lineageos.org/TIMESTAMP?mirrorlist
[6] https://www.lineageos.org/mirroring/
[7] https://www.tug.org/mactex/mactex-download.html
[8] https://f-droid.org/en/docs/Running_a_Mirror/
[9] https://gitlab.com/fdroid/mirror-monitor
[10] https://fdroid.gitlab.io/mirror-monitor/
[11] https://wiki.openstreetmap.org/wiki/Servers/Tile_CDN
[12] https://tails.boum.org/mirrors.json
[13] https://openwrt.org/downloads#mirrors
-------------- section suivante --------------
Une pièce jointe autre que texte a été nettoyée...
Nom: signature.asc
Type: application/pgp-signature
Taille: 833 octets
Desc: non disponible
URL: <http://lists.tetaneutral.net/pipermail/technique/attachments/20191031/156e83b9/attachment.sig>


Plus d'informations sur la liste de diffusion technique