Ich bediene Vektorkacheln mit TileStache . Ich habe alles so eingerichtet, wie ich es möchte. Meine Daten werden in Postgres gespeichert und ich verwende den VecTiles- Anbieter, um GeoJSON- Kacheln zu liefern .
Ich möchte alle meine Kacheln zwischenspeichern, damit sie schneller geliefert werden. Ich benutze tilestache-seed.py, um meinen Cache zu säen. Ich lasse auf mehreren Maschinen Tilestache-Seed laufen . Tilestache-Seed hat bis Zoomstufe 13 sehr gut funktioniert, aber danach dauert es viel zu lange, um die Kacheln zwischenzuspeichern. Nur für Zoomstufe 16 muss ich 5023772 Kacheln zwischenspeichern, und ich erhalte nur 100.000 bis 200.000 Kacheln pro Tag auf jeder Maschine.
Wie kann ich meine Kacheln schneller zwischenspeichern ? Gibt es eine Möglichkeit, tilestache-seed.py zu verfeinern und den Samen schneller zu machen?
Update: Ich habe versucht, räumliche Indizes für meine Tabellen zu erstellen (für die Geometriespalte und die Spalten, die zum Filtern von Daten durch die where-Klausel verwendet werden), und ich habe immer noch keine signifikante Steigerung der Kachelgeschwindigkeit festgestellt. Bei dieser Geschwindigkeit brauche ich nur für Zoom 17 einen Monat, und diese Zeit nimmt nur exponentiell zu, wenn ich auf Zoom 21 zugehe
Update 2: Ich habe versucht, auch materialisierte Ansichten zu erstellen, und es ist keine Änderung der Leistung festzustellen, sodass die Optimierung der Datenbank nicht funktioniert. Ich denke, ich muss die Datei tilestache-seed.py selbst optimieren oder einen neuen Weg finden, um die Kacheln zwischenzuspeichern.
Hardware-Informationen Ich führe die Caching-Prozesse auf 8 verschiedenen PCs aus, von denen einer ein i7 mit 32 GB RAM und einer ein i3 mit 4 GB RAM ist, aber beide geben mir fast die gleiche Caching-Geschwindigkeit (ca. 100.000 Kacheln pro Tag).