面對 70 萬地名資料檔案,從無快取 → 檔案快取 → 結構化存儲的演進歷程與技術決策心得。
| 方案 | 優點 | 缺點 |
|---|---|---|
| 無快取 | 實作簡單 | DB 壓力大、回應慢、地圖查詢耗能 |
| 檔案快取 | DB 壓力小 | 維護麻煩 (FTP 刪除)、單目錄檔案過多影響效能、虛擬主機限制 5 萬檔案 |
虛擬主機檔案數上限 5 萬,5GB 空間無法利用 → 需合併檔案 → 結構化存儲 (單一大檔案模擬檔案系統)。
雖 ASP.NET 建議繼承 VirtualPathProvider 整合檔案系統,但因:
選擇自定 FileSystem 抽象層 + Handler 路由攔截,在頁面層顯式調用,架構清晰可控。
結構化存儲會增加伺服器 CPU/IO 負載,目前僅技術驗證階段,未上線部署。需壓測評估併發下的效能表現再決定是否採用。