Voilà, le rangement est terminé et les I/O ont bien baissé !

On était en moyenne à 85% d'utilisation des IO, on est maintenant plutôt vers 15% à données identiques :)

Un gros index a quand même pris 36h à être regénéré, mais on a gagné plus de 100Go dans la manip sur ce seul index.



On voit bien le changement
Le 27/06/2017 à 23:11, Christian Quest a écrit :
Un SSD a des temps d'accès (latence) moindres qu'un HDD, c'est sûr, mais ce n'est pas aussi simple car il y a aussi une limite en bande passante.

Les données sont stockées par blocs (4Ko sur les SSD/HDD actuels et postgres segmente ses données par blocs de 8Ko). Si j'ai besoin d'accéder à 100 noeuds différents, et que ceux-ci occupent disons 40 octets en étant rangés sur des blocs différents cela fera 100 accès disques... mais si ils sont rangés sur le même bloc cela ne fera que 1 accès... pour lire la même quantité de données UTILES... (comparer le ratio entre 100x4Ko lus et 4000 octets utiles, même ratio d'usage utile dans le cache disque occupé en RAM).

Or, pour générer une tuile de fond de carte on a de très fortes chances d'avoir besoin des points/lignes/polygones proches géographiquement donc autant le ranger ensemble si possible sur les mêmes blocs pour que la densité de données utiles lues soit maximale à tout les niveaux.

J'ai mesuré une diminution d'un facteur 6 des IO après un CLUSTER postgres. On verra dans quelques jours l'effet sur les graphes d'activité du serveur osm13...

J'ai remis les slides de ma présentation du SOTM-2014 sur ce sujet sur https://frama.link/_K9FdJtJ


--
Christian Quest - OpenStreetMap France


_______________________________________________
Talk-fr mailing list
Talk-fr@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-fr

Reply via email to