Servidor de tessel·les de #OpenStreetMap (i 2?)

En la primera entrada deia com van anar les proves en un servidor dedicat i disc dur convencional, amb una conclusió clara: no es pot renderitzar tessel·les amb disc dur mecànic. Doncs el primer intent d'importació del mapa del planeta sencer en un servidor VPS i disc dur SSD no ha funcionat. M'he trobat el procés parat amb un “killed”. Mirant el log syslog del sistema trobo el motiu, un “Out of memory”:

kernel: [392548.151678] Out of memory: Killed process 968 (osm2pgsql) total-vm:35032344kB, anon-rss:33595356kB, file-rss:0kB, shmem-rss:0kB, UID:109 pgtables:66244kB oomscoreadj:0

Cercant informació, en aquesta pàgina diuen clarament que la millor manera d'evitar quedar-te sense memòria és importar el mapa fent servir el paràmetre “—flat-nodes”.
Provem-ho. He esborrat la base de dades gis i la he creat de nou per a iniciar l'importació fent servir “—flat-nodes”. Veurem si tindré per fí èxit però per ara va molt més ràpid, amb un ritme deu vegades millor:

Reading in file: /home/osm/planet-latest.osm.pbf Using PBF parser. Processing: Node(4667810k 915.4k/s) Way(0k 0.00k/s) Relation(0 0.00/s)

Veurem...

Altre cop el mateix error, un “killed” degut a “Out of memory”. Ho torno a provar, ara sense el paràmetre “-C 32000”, o sigui, no li defineixo la memòria cau per a que agafi la que necessiti.

Veurem...

Èxit!

Osm2pgsql took 188133s overall Mid: removing persistent node cache at /home/osm/nodes.cache node cache: stored: 100039713(1.31%), storage efficiency: 95.40% (dense blocks: 11631, sparse nodes: 4790528), hit rate: 1.32%

Sense definir la memòria cau ha funcionat! 52 hores, 15 minuts i 32 segons és el temps total necessari, en un disc dur SSD i amb '—flat-nodes'. Següent pas.

Un cop tot muntat segueixo patint errors de renderd quan faig zoom. Torno a començar de zero però seguint les instruccions d'un altre pàgina. Veurem...

L'importació planetària a la base de dades #gis ha acabat. La vaig iniciar amb aquest paràmetres:

osm2pgsql -d gis —create —slim -G —hstore —tag-transform-script ~/src/openstreetmap-carto/openstreetmap-carto.lua —number-processes 10 -S ~/src/openstreetmap-carto/openstreetmap-carto.style ~/data/planet-latest.osm.pbf.

Ha acabat aquesta matinada amb aquests resultats, ocupant 1,7 dels 2TB de disc dur SSD disponibles:

node cache: stored: 100039713(1.31%), storage efficiency: 95.40% (dense blocks: 11631, sparse nodes: 4790528), hit rate: 1.32%. osm2pgsql took 886292s (246h 11m 32s) overall.