縮短伺服器回應時間

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

Lighthouse 伺服器回應時間的螢幕截圖不足

伺服器回應時間緩慢會影響效能

如果瀏覽器等待伺服器回應主要文件要求的時間超過 600 毫秒,這項稽核就會失敗。使用者不喜歡網頁載入時間過長。伺服器回應速度緩慢可能是網頁載入時間過長的其中一個原因。

當使用者透過網路瀏覽器前往某個網址時,瀏覽器會產生網路要求來擷取該內容。您的伺服器收到要求並傳回網頁內容。

伺服器可能需要執行大量作業,才能傳回包含所有使用者所需內容的網頁。舉例來說,如果使用者查看自己的訂單記錄,伺服器就需要從資料庫擷取每位使用者的記錄,然後將該內容插入網頁。最佳化伺服器,讓伺服器盡可能快速執行這類工作,是減少使用者等待網頁載入時間的一種方法。

即使伺服器不需要執行太多工作,用戶端和伺服器之間的網路延遲時間仍可能導致伺服器回應時間變慢。

如何縮短伺服器回應時間

改善伺服器回應時間的第一步,就是找出伺服器必須完成的核心概念性工作,才能傳回網頁內容,然後測量每項工作所需的時間。找出耗時最久的工作後,請尋找加速方法。

造成伺服器回應速度過慢的可能原因有很多,因此你可以透過多種方式改善:

  • 最佳化伺服器的應用程式邏輯,加快頁面準備速度。如果您使用伺服器架構,架構可能會提供相關做法建議。
  • 最佳化伺服器查詢資料庫的方式,或遷移至速度更快的資料庫系統。
  • 升級伺服器硬體,以便增加記憶體或 CPU。

使用 CDN 來縮短網路延遲時間。如果文件可以快取至 CDN 邊緣節點,這種做法就特別有效。

詳情請參閱「最佳化 TTFB」指南。

堆疊專屬指南

Drupal

使用一或多個 Drupal 快取模組 (例如 Internal Page CacheInternal Dynamic Page CacheBigPipe) 卸載流量。搭配使用 CDN 可進一步縮短回應時間。你的代管伺服器應使用 PHP OPcache。建議使用 Redis 或 Memcached 等記憶體快取功能,縮短資料庫查詢時間。最後,請使用效能良好的主題、模組和速度更快的伺服器,以縮短伺服器回應時間。

Magento

使用 Magento 的 Varnish 整合功能

回應

如果你在伺服器端轉譯任何 React 元件,建議你使用 renderToNodeStream()renderToStaticNodeStream(),以允許用戶端接收並填入標記的不同部分,而非一次接收整個標記。

WordPress

選擇輕量主題 (最好是區塊主題),並實作全頁快取或靜態網站解決方案。停用不必要的外掛程式,以將伺服器負擔降至最低。

建議您將代管服務升級為代管或專屬服務。

資源