5 points par GN⁺ 2025-08-10 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • OpenFreeMap a géré avec succès jusqu'à 100 000 requêtes par seconde et 300 millions de requêtes quotidiennes.
  • La hausse soudaine de popularité de Wplace.live et les requêtes massives automatisées sont à l'origine du pic de trafic.
  • Le taux de cache CDN de Cloudflare est de 99,4 %, et le serveur a absorbé sans difficulté les 1 000 rps restants.
  • Cela n'a provoqué que de petites pannes, comme des tuiles manquantes, et le service est resté globalement opérationnel.
  • À l'avenir, des améliorations de gestion automatique du trafic sont prévues, notamment la limitation de la bande passante basée sur le référent.

Expérience d'OpenFreeMap des 10 derniers mois face à un trafic de très grande ampleur

OpenFreeMap a accumulé une expérience d'exploitation très stable ces 10 derniers mois. La fiabilité du système est démontrée grâce au soutien de bande passante de Cloudflare, à la stabilité des serveurs Hetzner, au service de tuiles sur Btrfs, et à l'efficacité de nginx. Cependant, un jour, il a reçu un signalement selon lequel certaines tuiles ne se chargeaient pas. Ce problème est généralement dû à un bug d'algorithme, mais cette fois-ci, l'erreur open() "Too many open files" a été trouvée dans les journaux nginx.

La surveillance du trafic a montré qu'il y avait eu 3 milliards de requêtes sur 24 h, et que 215 TB de trafic avaient été enregistrés avec seulement de petits fichiers de tuiles. Au cours des cinq dernières minutes, il y a eu 30 millions de requêtes, soit une hausse atteignant 100 000 requêtes par seconde. Ce trafic aurait coûté plus de 6 millions de dollars par mois sur un service de cartographie commerciale.

Le tableau de bord Cloudflare affichait 96 % de réponses 200 OK, et seulement 3,6 % étaient anormales (206 Partial Content). La majorité des requêtes était correctement servie, et à part quelques tuiles manquantes, le système dans son ensemble fonctionnait correctement.

Cause de la hausse de trafic : Wplace.live

La cause de cette hausse est Wplace.live, un nouveau site de dessin collaboratif. Il a attiré de nombreux utilisateurs dès son lancement et a été conçu pour utiliser une carte basée sur OpenFreeMap. Les utilisateurs ont généré des requêtes en masse via des outils automatisés (par exemple Puppeteer/Chromium, rotation d'IP, etc.) pour contourner la limite de 1 pixel/30 s.

Le mainteneur souligne, citant son expérience passée avec Neal.fun, l'importance d'une communication en amont avant la survenue d'un pic. Cette fois-ci, comme le fonctionnement du service en a souffert, il a appliqué pour la première fois des règles Cloudflare pour bloquer le trafic. Par la suite, il prévoit des solutions de contrôle automatique du trafic basées sur le referer ou des headers personnalisés (incluant l'utilisation de l'API Cloudflare).

Support de Cloudflare et performances de l'architecture OpenFreeMap

Cloudflare a approuvé le support de bande passante dans un délai très court (moins de 48 h, week-end inclus), et a même discuté avec les ingénieurs de la compatibilité de l'architecture. Malgré sa taille, le groupe a montré une grande réactivité.

Le propriétaire se félicite d'avoir atteint un taux de cache CDN de 99,4 % et que le serveur a tenu une charge de 1 000 rps. C'est une performance élevée pour un service qui propose des mises à jour de données hebdomadaires.

Échanges avec le développeur de Wplace.live et propositions de correction

Par la suite, un échange a été possible avec le développeur de Wplace.live, qui a compris qu'il n'était pas préparé à une hausse soudaine à 2 millions d'utilisateurs. Une discussion a eu lieu pour proposer le support d'instances self-hosting OpenFreeMap, afin d'éviter la concentration du trafic et d'améliorer l'efficacité.

De plus, le fait que 3 milliards de requêtes aient été générées pour les 2 millions d'utilisateurs réels indique que des requêtes massives automatisées par scripts dominaient. Puisque l'utilisateur moyen se limite à 10 à 20 requêtes, il recommande de modifier la politique du service pour empêcher les requêtes automatisées inutiles.

Prochaines améliorations et apprentissages

Le mainteneur annonce deux améliorations à apporter :

  1. Limitation de la bande passante basée sur le référent (Referer)

    • Mise en place prévue sur Cloudflare d'une limitation de 100 à 200 millions de requêtes par référent et par 24 h
    • Les applications natives devraient être orientées vers l'utilisation d'un custom header
  2. Gestion des tuiles manquantes et amélioration de la configuration serveur

    • Mesures prévues pour éviter la génération de tuiles vides dues à une mauvaise configuration serveur

OpenFreeMap fonctionne actuellement grâce à des dons mensuels de 500 dollars. Les coûts d'infrastructure sont suffisamment couverts, mais les nouveaux développements dépendent d'un temps personnel limité. Avec un soutien supplémentaire, il serait possible d'accélérer le rythme de développement et d'élargir la stabilité du service.

Vous pouvez participer au soutien du projet via GitHub Sponsors : https://github.com/sponsors/hyperknot

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.