2017-11-05 4 views
3

Ich sehe extrem niedrige Verarbeitungszeiten nach einem Postgres-Upgrade von 9.5 auf 9.6 im Zusammenhang mit Abfragen Osmosis (die Befehlszeilen-Java-Anwendung für die Verarbeitung von OpenStreetMap-Daten). Spezifische Synchronisierung einer lokalen Osm-Datenbank mit dem Master-Osm-Repo (Postgis 2.3 von 2.2). Die Synchronisation fand jeden Tag statt und dauerte durchschnittlich etwa 500 Sekunden. Nach dem Upgrade, nach 48 Stunden, ist es noch nicht vorbei. Ich bemerke sehr langsam (unter Null) Objektverarbeitungszeiten (Log-Record unten) im Vergleich zu vorher. Ich bin ziemlich sicher, dass das Problem mit dem Postgres-Update ist. Ich kann nicht herausfinden, was ich reparieren soll. pg_stat_activity gibt die folgende Abfrage (derzeit):Extrem langsame Abfrageausführung nach Postgres 9.6 Upgrade

UPDATE ways w 
SET linestring = ( 
    SELECT ST_MakeLine(c.geom) AS way_line 
    FROM ( 
     SELECT n.geom AS geom 
     FROM nodes n 
     INNER JOIN way_nodes wn ON n.id = wn.node_id 
     WHERE (wn.way_id = w.id) 
     ORDER BY wn.sequence_id) c) 
WHERE w.id IN ( 
    SELECT w.id 
    FROM ways w 
    INNER JOIN way_nodes wn ON w.id = wn.way_id 
    WHERE wn.node_id = $1 
    GROUP BY w.id) 

Log Rekord nach dem Update:

Oct 31, 2017 12:23:59 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Osmosis Version 0.45 
Oct 31, 2017 12:24:00 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Preparing pipeline. 
Oct 31, 2017 12:24:00 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Launching pipeline execution. 
Oct 31, 2017 12:24:00 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Pipeline executing, waiting for completion. 
Oct 31, 2017 12:24:16 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022046 with action Modify, 0.06660006660006661 objects/second. 
Oct 31, 2017 4:12:49 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022047 with action Modify, 7.292125918680253E-5 objects/second. 
Oct 31, 2017 6:54:27 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022053 with action Modify, 1.0311411856040729E-4 objects/second. 
Oct 31, 2017 9:39:22 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022056 with action Modify, 1.0106204077408672E-4 objects/second. 
Nov 01, 2017 5:07:11 AM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022057 with action Modify, 3.72178939465691E-5 objects/second. 
Nov 01, 2017 7:43:20 AM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 26022058 with action Modify, 1.0673723278600615E-4 objects/second. 

Log Datensatz vor dem Update:

Oct 22, 2017 11:00:01 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Osmosis Version 0.45 
Oct 22, 2017 11:00:02 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Preparing pipeline. 
Oct 22, 2017 11:00:02 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Launching pipeline execution. 
Oct 22, 2017 11:00:02 PM org.openstreetmap.osmosis.core.Osmosis run 
INFO: Pipeline executing, waiting for completion. 
Oct 22, 2017 11:00:17 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 557521 with action Modify, 0.06700616456714018 objects/second. 
Oct 22, 2017 11:00:22 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 49820266 with action Modify, 58.15347721822542 objects/second. 
Oct 22, 2017 11:00:27 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 81804664 with action Modify, 40.64719810576164 objects/second. 
Oct 22, 2017 11:00:32 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 109690032 with action Modify, 24.57577530719719 objects/second. 
Oct 22, 2017 11:00:38 PM org.openstreetmap.osmosis.core.progress.v0_6.ChangeProgressLogger process 
INFO: Processing Node 124684125 with action Modify, 58.35490938060148 objects/second. 
+6

Welche Methode haben Sie zum Aktualisieren verwendet - pg_upgrade? Wenn ja, haben Sie nach dem Upgrade einen ANALYSE in der Datenbank durchgeführt? – harmic

+0

Danke für den Kommentar. Ja. Es war pg_upgrade. Und nein, habe keine ANALYSE durchgeführt. Ich werde es versuchen. –

+0

'pg_upgrade' erstellt eine Shell-Skript/Batch-Datei namens' analyze_new_cluster', die genau dafür gedacht ist –

Antwort

4

FYI, ich kam across mit genau dem gleichen Problem: Ich habe pg auf 9,6 von 9,4 aktualisiert und Abfragen liefen viel langsamer.

Ich hatte nur Vakuum, nichts geändert, aber dann lief ich analysieren, wie @harmic vorgeschlagen und läuft jetzt gut (noch schneller, dank Pg 9.6 Verbesserungen :))!

+2

'pg_upgrade' erstellt eine Shellscript/Batch Datei mit dem Namen' analyze_new_cluster', die genau dafür gedacht ist (ich glaube sogar, dass pg_upgrade Ihnen sagt, dass das Skript ausgeführt werden soll) –

+0

Dieses Problem hat mich auch erwischt. Ich habe das Analyse-Skript nicht absichtlich übersprungen, aber ich hatte keine Ahnung, wie wichtig es war - es klingt wie etwas, das sich auf das Sammeln von Leistungsstatistiken bezieht, anstatt eine essenzielle Aufgabe, um sicherzustellen, dass die Datenbank mit akzeptabler Geschwindigkeit arbeitet! – mpavey

Verwandte Themen