#1 Wed 03 December 2014 11:43
- lcros
- Participant occasionnel
- Lieu: toulouse
- Date d'inscription: 12 Oct 2009
- Messages: 20
OpenStreetMap performance du serveur BD
Bonjour,
J'ai un serveur applicatif de 8Go et 4 cpu et un serveur de BD postgresql 9.3 avec 8Go et 4cpu
J'utilise nginx, gunicorn (1 serveur web et 4 workers).
J'ai testé sur la donnée de corse et j'ai de très bonne réponse.
J'ai inséré les données totale : fichier planet.
J'ai effectué des tests et du zoom 1 au zoom 10, j'ai des timeout du serveur gunicorn et c'est très lent.
Au delà du zoom 12 les réponses sont meilleures.
Mon problème est le serveur de BD : est-ce un problème d'un index pas créé ou partiellement créé ou juste ma conf du serveur qui n'est pas bonne.
Je met le résultat de la commande top quand je génère des tuiles en zoom 4 :
Code:
top - 10:40:07 up 1 day, 20:34, 1 user, load average: 4.22, 1.92, 0.76 Tasks: 139 total, 2 running, 137 sleeping, 0 stopped, 0 zombie Cpu(s): 0.4%us, 0.7%sy, 0.0%ni, 42.5%id, 56.3%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 8200028k total, 8147392k used, 52636k free, 8732k buffers Swap: 1464312k total, 13040k used, 1451272k free, 8007000k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 11443 postgres 20 0 2069m 193m 187m D 1 2.4 0:01.14 postgres 11453 postgres 20 0 2075m 159m 149m D 1 2.0 0:00.68 postgres 2526 postgres 20 0 2045m 2688 1048 S 0 0.0 0:10.33 postgres 1 root 20 0 8664 684 648 S 0 0.0 0:01.89 init
Je vous mets la conf de postgresql.conf (faite par le soft pgtune) :
Code:
# Add settings for extensions here default_statistics_target = 50 # pgtune wizard 2014-11-27 constraint_exclusion = on # pgtune wizard 2014-11-27 checkpoint_completion_target = 0.9 # pgtune wizard 2014-11-27 checkpoint_segments = 16 # pgtune wizard 2014-11-27 max_connections = 80 # pgtune wizard 2014-11-27 maintenance_work_mem = 480MB # pgtune wizard 2014-12-01 effective_cache_size = 5632MB # pgtune wizard 2014-12-01 work_mem = 48MB # pgtune wizard 2014-12-01 wal_buffers = 8MB # pgtune wizard 2014-12-01 shared_buffers = 1920MB # pgtune wizard 2014-12-01
Dernière modification par lcros (Wed 03 December 2014 11:53)
Hors ligne
#3 Wed 03 December 2014 16:43
- lcros
- Participant occasionnel
- Lieu: toulouse
- Date d'inscription: 12 Oct 2009
- Messages: 20
Re: OpenStreetMap performance du serveur BD
Merci pour votre réponse.
Je créé des tuiles en utilisant mapnik qui génère des tuiles en 256.
Pour la partie serveur web j'ai nginx, gunicorn et tilestache.
Pour la partie client j'ai une page openlayers.
Laurent.
Hors ligne
#4 Wed 03 December 2014 16:45
Re: OpenStreetMap performance du serveur BD
Bonjour,
Une réponse rapide :
1. vous avez optimiser Postgresql autrement que par pgTune (qui n'est pas à jour au niveau des optimisations)
2. comment avez vous importé les données osm ? Peut être que vous avez trop d'information dans les tables, alourdissant le serveur pour rien.
3. avez vous logué les requêtes SQL ? Si oui quels sont celles qui sont lentes ? Avez vous essayer un EXPLAIN ?
4. avez vous vérifié vos index et vos statistiques ?
5. vous utilisez quoi comme serveur carto ? (idem question Dof)
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Wed 03 December 2014 18:12
- lcros
- Participant occasionnel
- Lieu: toulouse
- Date d'inscription: 12 Oct 2009
- Messages: 20
Re: OpenStreetMap performance du serveur BD
Merci Yves pour cette réponse :
1. Je ne connais que pgtune. Si vous en connaissez un autre ou si vous pouvez me dire comment faire pour mettre une valeur pertinente à chaque paramètre je suis preneur.
2. Le besoin de ma société est de tout avoir en terme de données.
3. Je ne sais pas comment voir les requêtes que mapnik execute.
4.Je viens de faire tourner le statement
Code:
"analyse;"
sur mon serveur de BD, mais je ne sais pas comment l'utiliser et voir si mes index créés par osm2pgsql sont pertinents.
J'ai trouvé ce lien sur le web pour améliorer les requêtes sql de osm.xml : https://github.com/mapnik/mapnik/wiki/O … ithPostGIS
Une grosse piste d'amélioration est de passer par des tuiles de 512*512, j'ai changé la conf de Tilestache pour générer des tuiles de 512 et a openlayers de faire des requetes de 512 mais les images générés sont trop au nord : il y a un problème de position.
Merci et bonne soirée,
laurent.
Dernière modification par lcros (Wed 03 December 2014 18:16)
Hors ligne