傳統靜態網站:瀏覽器 ←→ Web Server(兩層)
Web 2.0 動態互動網站:瀏覽器 ←→ Web Server ←→ App Server ←→ DB(三/四層)
優化原則:越上層收益越大,優化由上而下。
background-position 顯示。ADSL 環境下,連線建立開銷大於傳輸大小。Expires/Cache-Control,二次造訪請求趨近 1(僅 HTML)或 0(304 Not Modified)。</body> 前,避免阻塞渲染。defer 或 async 載入。server.modules = ( ..., "mod_compress", ... )
compress.cache-dir = "/tmp/lighttpd/cache/compress/"
compress.filetype = ("text/plain", "text/html", "text/css", "text/xml", "text/javascript", "application/javascript", "application/json")
ASP.NET <%@ OutputCache %>、MVC [OutputCache]、ASP.NET Core ResponseCachingMiddleware。
MemoryCache / Redis / Memcached 快取熱門查詢、計算結果、頁面片段。
async/await 釋放執行緒。使用 Redis / SQL Server Session State,支援 Web Farm 水平擴展。
SELECT *、隱含轉換、參數嗅探問題。主庫寫、從庫讀;大表水平切分(Sharding)或垂直切分。
ADO.NET 連線池預設啟用,確保 using 區塊正確釋放;全面參數化防注入並利用計畫快取。
Web 2.0 效能調優是系統工程,需從 DNS、瀏覽器快取、靜態資源壓縮合併、CDN、應用層快取非同步、資料庫索引架構、監控體系全鏈路佈局。記住:測量 → 分析 → 優化 → 驗證 閉環,才能持續交付極速體驗。