3
タイルのキャッシュ速度を上げる(TileStache)
TileStacheを使用してベクタータイルを提供しています。すべての設定を思いどおりに行います。データはPostgresに保存されており、VecTilesプロバイダーを使用してGeoJSONタイルを提供しています。 すべてのタイルをキャッシュして、タイルの配信を高速化したい。私はtilestache-seed.pyを使用してキャッシュをシードしています。複数のマシンでtilestache-seedを実行しています。Tilestache-seedはズームレベル13まで本当にうまく機能しましたが、その後、タイルをキャッシュするには時間がかかりすぎています。ズームレベル16の場合、キャッシュする5023772タイルがあり、各マシンで1日あたり100k〜200kのタイルしか取得できません。 タイルキャッシュを高速化するにはどうすればよいですか?tilestache-seed.pyを微調整してシードを高速化する方法はありますか? 更新:テーブルに空間インデックスを構築しようとしました(ジオメトリカラムとwhere句でデータをフィルタリングするために使用されるカラム)。それでも、タイルスピードの大幅な向上は見られませんでした。このレートでは、ズーム17のみで1か月かかりますが、この時間はズーム21に向かって指数関数的に増加するだけです。 更新2:マテリアライズドビューも作成しようとしましたが、パフォーマンスに目に見える変化はないため、データベースの最適化は機能していません。tilestache-seed.py自体を最適化するか、タイルをキャッシュする新しい方法を考案する必要があると思います。 ハードウェア情報 8つの異なるPCでキャッシングプロセスを実行しています。1つは32GB RAMを搭載したi7で、もう1つは4GB RAMを搭載したi3ですが、どちらもほぼ同じキャッシュ速度を提供します