我在Google和StackOverflow上搜索是否有人對我的問題有解決方案,但沒有發現任何人有同樣的問題。Mapserver的臨時磁貼高速緩存
因此,目前我正在運行安裝有Mapserver的Debian機器。該服務器還運行webserver以通過瀏覽器顯示地圖數據。地圖的生成是動態的,基於數據庫中的圖層定義我在PHP中構建mapfile,並基於生成的PHP地圖向用戶顯示。數據在數據庫中定義並作爲SHP文件(都在單個映射文件中組合)。
它是完全動態的,我的意思是說,用戶可以啓用/禁用任何圖層或單擊內部多邊形(選擇地圖上的某些點)它爲選區着色(根據選擇生成新的地圖文件並重新生成磚)。
因此,從選擇某個區域到選定項目着色的所有代碼的執行需要花費太多時間以獲得良好的用戶體驗。
對於解決方案,我想使用某種類型的臨時切片緩存,可用於單個用戶,並且可以在用戶選擇地圖上的某些項目或啓用/禁用其中一個圖層時刪除其內容。
P.S.我已經做了從Mapserver文檔提供的所有優化。
感謝您的任何幫助。
請張貼您的地圖文件。你使用的是哪個數據庫?數據庫查找速度慢嗎?還是渲染?或者兩者兼而有之?你是如何衡量這一點的? –
嗨,我使用的最簡單的地圖示例包含DOF和來自PG數據庫的兩層,mapfile如下所示:http://pastebin.com/0qb87Wgs。 – user2473933
我認爲最耗時的任務是處理DOF文件和重新投影數據,因爲我使用的數據保存在我們當地的高斯克魯格投影中,但後來又重新投影到Google的3857投影中,其中地圖顯示給用戶。我使用mapfile中的DEBUG選項將映射文件生成設置爲5,並在linux中查找進程。我不知道如何測試從創建mapfile到在屏幕上顯示切片的整個過程的性能。 – user2473933