Lighthouse 報表的「改善空間」部分會回報伺服器回應時間,也就是使用者瀏覽器發出要求後,接收網頁內容第一個位元組所需的時間:

伺服器回應時間過長會影響效能
如果瀏覽器等待伺服器回應主要文件要求超過 600 毫秒,這項稽核就會失敗。使用者不喜歡網頁載入時間過長,伺服器回應時間緩慢是網頁載入時間過長的原因之一。
使用者在網頁瀏覽器中前往網址時,瀏覽器會發出網路要求來擷取該內容。伺服器收到要求並傳回網頁內容。
伺服器可能需要執行大量工作,才能傳回包含使用者所需所有內容的網頁。舉例來說,如果使用者要查看訂單記錄,伺服器需要從資料庫擷取每位使用者的記錄,然後將該內容插入網頁。盡可能加快伺服器執行這類工作的速度,是縮短使用者等待網頁載入時間的方法之一。
即使伺服器不需要執行大量工作,用戶端與伺服器之間的網路延遲仍可能導致伺服器回應時間緩慢。
如何縮短伺服器回應時間
如要縮短伺服器回應時間,第一步是找出伺服器必須完成的核心概念工作,才能傳回網頁內容,然後評估每項工作所需的時間。找出耗時最長的作業後,請搜尋加快作業速度的方法。
伺服器回應速度緩慢的原因有很多,因此改善方式也很多:
- 最佳化伺服器的應用程式邏輯,加快準備網頁的速度。如果您使用伺服器架構,架構可能會提供相關做法建議。
- 最佳化伺服器查詢資料庫的方式,或遷移至速度更快的資料庫系統。
- 升級伺服器硬體,增加記憶體或 CPU。
使用 CDN 縮短網路延遲時間。如果文件可在 CDN 邊緣節點快取,這項做法就特別有效。
詳情請參閱「最佳化 TTFB」指南。
堆疊專屬指南
Drupal
使用 Internal Page Cache
、Internal Dynamic Page Cache
和 BigPipe
等一或多個 Drupal
快取模組卸載流量。將上述模組搭配 CDN 使用,可進一步縮短回應時間。代管伺服器應採用 PHP OPcache。建議你使用 Redis 或 Memcache 等記憶體快取,縮短資料庫查詢時間。最後,請使用效能良好的主題、模組和速度更快的伺服器,縮短伺服器回應時間。
Magento
使用 Magento 的 Varnish 整合功能。
回應
如果你在伺服器端轉譯任何 React 元件,建議你使用 renderToNodeStream()
或 renderToStaticNodeStream()
,以允許用戶端接收並填入標記的不同部分,而非一次接收整個標記。
WordPress
選擇輕量主題 (最好是區塊主題),並實作全頁快取或靜態網站解決方案。停用不必要的外掛程式,盡量減少伺服器負擔。
建議你將代管作業升級為代管或專屬服務。