Tôi đang phục vụ gạch vector bằng TileStache , tôi có mọi thứ được thiết lập như tôi muốn. Dữ liệu của tôi được lưu trữ trong Postgres và tôi đang sử dụng nhà cung cấp VecTiles để phục vụ gạch GeoJSON .
Tôi muốn lưu trữ tất cả các ô của mình để làm cho các ô phục vụ nhanh hơn. Tôi đang sử dụng tilestache-seed.py để chọn bộ đệm của mình. Tôi đang chạy tilestache-seed trên một số máy. Tilestache-seed hoạt động rất tốt ở mức zoom zoom 13, nhưng sau đó, nó mất quá nhiều thời gian để lưu trữ các ô. Chỉ với Zoom Level 16, tôi có 5023772 ô để lưu vào bộ đệm và tôi chỉ nhận được các ô 100k-200k mỗi ngày trên mỗi máy.
Làm thế nào tôi có thể làm cho bộ đệm của tôi nhanh hơn ? Có cách nào để tinh chỉnh tilestache-seed.py và làm cho nó nhanh hơn không?
Cập nhật: Tôi đã thử xây dựng các chỉ mục không gian trên các bảng của mình (trên cột hình học và các cột được sử dụng để lọc dữ liệu qua mệnh đề where) và tôi vẫn chưa thấy tốc độ ốp lát tăng đáng kể. Với tốc độ này, chỉ có Zoom 17 sẽ đưa tôi một tháng và lần này sẽ chỉ tăng theo cấp số nhân khi tôi tiến tới Zoom 21
Cập nhật 2: Tôi cũng đã thử thực hiện các chế độ xem cụ thể hóa và không có thay đổi rõ rệt về hiệu suất, vì vậy tối ưu hóa cơ sở dữ liệu không hoạt động. Tôi nghĩ rằng tôi sẽ cần phải tối ưu hóa chính tilestache-seed.py hoặc nghĩ ra một cách mới để lưu trữ các ô.
Thông tin về phần cứng Tôi đang chạy các quy trình lưu trữ trên 8 PC khác nhau, một trong số đó là i7 với ram 32gb và một là i3 với ram 4gb nhưng cả hai đều cho tôi tốc độ bộ nhớ đệm gần như nhau (khoảng 100 nghìn gạch mỗi ngày)