Vorgeschichte: Ich entwickle aktuell einen Nachfolger für
Gourmet. Das - neue, stark verbesserte - Datenbankmodell ist soweit fertig, Import von der Gourmet-DB klappt auch. Da ich sowohl sqlite als auch MySQL und PostgreSQL als Backend unterstütze, teste ich alle drei Datenbanksysteme. MySQL und PostgreSQL auf einer entfernten Maschine, via ssh Tunnel, ich hatte keine Lust die Datenbankports nach außen zu öffnen
Hier ist mir was seltsames aufgefallen: Während die lokale sqlite meine 245 Rezepte von Gourmet in etwa 12-15 Sekunden importiert, brauchen die entfernen MySQL und PostgreSQL sage und schreibe zwischen 500 und 950 Sekunden(!). Um zu sehen ob es an der Datenbank liegt hatte ich dann lokal eine MySQL/MariaDB installiert und dann den Import durchgeführt:
Finished. Imported 245 recipes of 245 (0 duplicates, 0 errors), added 7 new units. Took 20.12 seconds
An CPU/Last auf der entfernten Maschine liegt es auch nicht, die langweilt sich - auch während des Imports, ditteo an der Verbindung. Das sind alles Latenzen - kann mir jemand erklären warum ein ssh tunnel zu *so* massiven Latenzen führt?