[OSM-dev-fr] [OSM-talk-fr] Tr : [OSM-talk] New OpenStreetMap tile server

sly (sylvain letuffe) liste at letuffe.org
Mer 19 Déc 13:40:02 GMT 2012


On mardi 18 décembre 2012, Christophe Merlet wrote:
> bah si, on peut en discuter.

Je préfère donc continuer sur dev-fr

> Moi-même je ne suis pas totalement séduit par la solution actuelle
> (Cache Squid). 

Après analyse un peu plus poussée, des dizaines de graph munin passés en 
revue, je vais tempérer un peu mes doutes pour finalement dire quelque chose 
du genre :
"J'accorde que ça semble être devenu nécessaire et donc c'est une bonne chose 
pour l'OSMF de demander de nouveaux serveurs de cache compte tenu des choix 
actuels, mais j'émets des doutes sur la politique choisie envers le rendu 
standard (page d'accueil d'osm.org) et des choix techniques qui en découlent"

Il s'agit donc du couplage "choix et rôle de ce rendu" impliquant "certains 
choix techniques" que je trouve douteux pour leurs/nos choix d'avenir.

détails :

Le rôle de ce rendu standard me semble ambiguë, d'un coté, on a ceux qui 
voudraient que ça soit un outil pour aider les contributeurs et faire vitrine 
pour présenter "les données osm" et d'autres souhaiteraient peu ou prou que 
ça deviennent un remplaçant direct de google maps (en terme de disponibilité, 
mise à jour, beauté, rapidité et destiné au plus grand nombre)

La politique visant à monter un CDN tente de répondre à l'objectif deux, et 
implique des choix techniques qui me semblent incompatibles avec l'objectif 
1.
Et maintenir l'objectif 1 pénalise grandement la mise en oeuvre du CDN.

> Je trouve que le ratio hit/miss n'est pas fantastique mais néanmoins
> suffisant pour décharger un peu le Master.

Yevaud, le master actuel, me semble confronté à 3 problèmes :
- Charge trop élevée
- BP trop élevée
- Single point of failure

Bref généralités : A mon sens, un CDN de type "cache stupide" (se basant 
uniquement sur les headers d'expiration) est fait pour distribuer du contenu 
éminemment statique, de validité longue, et demandé avec comme base un gros 
ratio hit/miss pas pour diminuer une charge CPU mais une BP de l'ordre de 
1Gbit/s et plus.

On voit bien le résultat : [4] 40% de miss ! ça veut dire que dans 40% des 
cas, et, à mon avis, dans ~80% des cas sur zoom élevés (+11) on inclus 
latence, retard de fraîcheur dans les tuiles et donc pénalité pour objectif 
1) et juste un peu mieux pour l'objectif 2) partie BP
C'est à mon sens peu glorieux pour le nombre de serveur mis en jeu, temps de 
maintenance à y passer et risque de problèmes qui vont s'ajouter.

charge/failure : La mise en oeuvre technique choisie du CDN ne répond à mon 
sens pas du tout ou uniquement très peu au problème de charge car yevaud et 
le point central qui génère les tuiles, et dans ce processus, ça charge 
inquiétante [1] [2] ne me semble dû quasi-exclusivement qu'a la génération 
proprement dite, pas la distribution. Créer le CDN à base de cache n'aide en 
rien pour améliorer ça, et n'apporte pas non plus de solution de replie en 
cas de pépin sur Yevaud.

BP : ça ok, le CDN aide... un peu, mais pour ça, il faut, encore une fois, 
avoir une majorité de contenu statique et très régulièrement demandé, ce qui 
n'est le cas grosso modo que pour les tuiles de zoom faible mais pas ou très 
peu pour les zoom 11 et + qui sont la cause d'une grosse partie du trafic.
[3] montre que sur un an, l'ajout de 3 serveurs de cache n'a fait que 
compenser la croissance des visites de osm.org
Bilan le problème de BP n'a même pas été amélioré ! L'endroit où les coûts de 
BP sont problématique restent problématiques !
Ça ne veut pas dire que ça n'est pas utile, on a au moins réussi à stopper la 
croissance, c'est déjà un bon point, mais je pense qu'avec d'autres 
solutions, on aurait pû régler le problème, là, on va courir après la 
croissance et on va finir par être obligé de prendre des mesures à dommages 
collatéraux.


> Mais cette solution a plusieurs avantages. C'est facile à administrer à
> distance. ça ne nécessite pas de serveur puissant, juste de la RAM (en
> 9h, 18 Go de tuiles distinctes ont été demandées). 

Je te l'accorde, mais une mise en oeuvre/maintenance aisée (encore que 
j'attends sur le long terme) qui ne sert à pas grand chose n'est pas 
forcément plus profitable qu'une réflexion amont pour ré-attribuer objectifs, 
configs et donc ressources.

> Il semble que les sysadmins osm réfléchissent à d'autres solutions,
> genre des générateurs de tuiles autonomes. 

A mon avis, pour l'objectif 2) voire l'objectif 1) c'est LA solution a 
privilégiée, car cela réduirait tout : charge, manque de redondance, BP chez 
nos voisins anglais.
C'est certes plus difficile car ressources plus chères, mais ce serait à mon 
sens largement plus efficace.

> Pas sûr que les internautes y gagne avec cette solution.
Moi je pense que oui, et je fais le paris que tant que plus nous avançons vers 
la solution CDN, pire encore pour les internautes ça va être.

(Philippe V. dans un plaisant message de lucidité, à déjà pointé du doigts 
quelques problèmes pour l'objectif 1))
Mais connaissant bien les options de mod_tile, je crois savoir ce qui va être 
trifouillé sous peu, faute de ne plus avoir le choix, et qui va empirer 
l'objectif 1) en ajoutant :
- délais de fraîcheur plus important sur les tuiles
- /dirty qui ne marchera que au petit bonheur la chance
- bug de cache trop vieux persistants et aléatoires
 
> Mais tout compte fait, la seule vraie bonne solution à long terme est
> que les gros consommateurs de tuiles installe leur propre serveur...
> 
> Tu vois quoi comme autres solutions ?

J'en vois 2 : 
- celle que tu viens juste de citer, qui passe par une autre manière de penser 
la carte par défaut d'osm.org et qui n'a rien avoir avec la technique (des 
documentations toujours mieux faites, encouragement à le faire, VM toutes 
prêtes) et communiquer sur le fait que OSM, ça n'ai pas juste osm.org, faire 
la pub à donf pour openmapquest, inciter (férocement) à re-router du trafic 
là bas, mettre en valeur les serveurs alternatifs et admettre que non, on ne 
peut pas gérer la distribution à tous pour tous nous sur yevaud.

- séparer mes objectifs 1) et 2) en deux serveurs/services distincts car je ne 
crois pas que l'on puisse couvrir 1) et 2) avec les mêmes configs

2) passerais sur le CDN, dont le serveur de génération principal ne serait pas 
chez les anglais = règlement de la question de BP, de charge et presque de 
failure, d'un coup
1) resterait sur yevaud

[1] 
http://munin.openstreetmap.org/openstreetmap/yevaud.openstreetmap/load.html
[2]
http://munin.openstreetmap.org/openstreetmap/yevaud.openstreetmap/cpu.html
[3]
http://munin.openstreetmap.org/openstreetmap/yevaud.openstreetmap/if_eth1.html
[4]
http://tile.paulla.asso.fr/munin-osm/paulla.asso.fr/lurien.paulla.asso.fr/squid_requests.html

-- 
sly, DWG member since 11/2012
Coordinateur du groupe [ga]
http://wiki.openstreetmap.org/wiki/User:Sletuffe



Plus d'informations sur la liste de diffusion dev-fr