Lighthouse 報表的「商機」部分會回報伺服器回應時間,也就是使用者瀏覽器在提出要求後,收到網頁內容第一個位元組所需的時間:
伺服器回應時間緩慢會影響效能
如果瀏覽器等待伺服器回應主要文件要求超過 600 毫秒,這項稽核作業就會失敗。使用者不喜歡網頁載入時間過長。伺服器回應時間速度緩慢是網頁載入時間過長的可能原因。
當使用者透過網路瀏覽器前往某個網址時,瀏覽器會產生網路要求來擷取該內容。您的伺服器收到要求並傳回網頁內容。
伺服器可能需要執行大量作業才能傳回包含所有使用者所需內容的網頁。舉例來說,如果使用者正在查看訂單記錄,伺服器就必須從資料庫擷取每位使用者的記錄,然後將內容插入網頁。如要縮短使用者等待頁面載入所花費的時間,請將伺服器最佳化,以盡快達到上述目的。
即使伺服器不需要執行大量工作,用戶端和伺服器之間的網路延遲也可能會降低伺服器回應時間。
如何縮短伺服器回應時間
如要縮短伺服器回應時間,首先請找出伺服器必須完成哪些核心概念工作,才能傳回網頁內容,然後評估每項工作需要多少時間。找出最耗時的工作後,請搜尋能加快工作速度的方法。
造成伺服器回應速度過慢的可能原因有很多,因此你可以透過多種方式改善:
- 最佳化伺服器的應用程式邏輯,加快網頁準備速度。如果您使用伺服器架構,該架構可能會提供如何完成這項作業的建議。
- 最佳化伺服器查詢資料庫的方式,或遷移至速度更快的資料庫系統。
- 升級伺服器硬體即可取得更多記憶體或 CPU。
使用 CDN 縮短網路延遲時間。如果文件可以快取至 CDN 邊緣節點,這種做法就特別有效。
詳情請參閱最佳化 TTFB 指南。
堆疊專屬指南
Drupal
主題、模組和伺服器規格都會影響伺服器回應時間。建議你尋找經過最佳化調整的主題、謹慎選擇最佳化模組,或升級伺服器。您的代管伺服器應使用 PHP opcode 快取、Memcached 或 Redis 等記憶體快取系統來縮短資料庫查詢時間,以及使用最佳化的應用程式邏輯來加快網頁準備速度。
Magento
使用 Magento 的 Varnish 整合功能。
回應
如果你在伺服器端轉譯任何 React 元件,建議使用 renderToNodeStream()
或 renderToStaticNodeStream()
,讓用戶端接收並補充標記的不同部分,而非一次接收所有標記。
WordPress
選擇輕量的主題 (最好是區塊主題),並實作整頁快取或靜態網站解決方案。停用不必要的外掛程式,以將伺服器負擔降至最低。
建議將代管服務升級至代管或專屬服務。