減少 TTFB 時間對您的 WordPress 網站的速度優化是非常重要的,很多時候我們都專注於 WordPress 前端速度性能和優化以提高頁面加載速度,但往往卻忽略 TTFB 的重要性。
但是,基本上最好從您的網站最初開始加載的伺服器端去查看它,今天我們將深入探討 TTFB (第一個位元組時間) 如何影響你的網站,並討論一些如何減少它的簡單方法,TTFB 通常是一個被忽視的性能因素,但在測試站點速度時應該考慮到它。
內容目錄:
- 什麼是 TTFB?
- TTFB 重要嗎?
- 如何測量 TTFB 的反應時間?
- 減短 WordPress 網站的 TTFB 的 4 種方法
什麼是 TTFB?
TTFB 是 Time To First Byte 的縮寫,代表第一個位元組時間。
簡單來說,是 Client 用戶端送出對伺服器的請求,瀏覽器收到伺服器接回應的第一個位元組數據的等待時間。
TTFB 獲取該數據所需的時間越短,顯示你的網站頁面所需的時間就越快。
一個常見的誤解是,這是在 DNS 查找時間之後開始計算的 !
然而,網路中 TTFB 的原始計算總是包括網路延遲,這涉及一個過程,包含 DNS 的速度、網路延遲和您的網站主機 (伺服器) 與客戶端的距離,這 3 項因素總加起來就是您的總 TTFB 反應時間。
可以利用 Chrome 按 F12 查看自己網站的 Waiting TTFB 的反應時間。
1. 向伺服器請求
當有人訪問您的網站時,首先第一步會發送 HTTP 請求從客戶端 (瀏覽器) 發送到網站的伺服器。
在此步驟中,有多種因素會導致延遲,TTFB 等待的時間拉長:
- 緩慢的DNS 查找時間可能會增加請求的時間。
- 網站伺服器位於地理位置距離 client 客戶端有很遠的距離,在數據傳輸上造成延遲。
- 您的伺服器有復雜的防火牆規則,可能會增加路由時間。
- 客戶端使用的網路頻寬與速度。
2. 伺服器的效能
發送 HTTP 請求後,伺服器現在必須處理它並生成回應。
這可能會引入許多不同程度的延遲,例如:資料庫調用緩慢、第三方腳本過多、未快取您的第一個回應、代碼或 WordPress 主題優化不佳以及硬碟 I/O 或記憶體等伺服器資源效能低落。
3. 對客戶端 (client) 的回應
伺服器處理完請求後,必須將結果發送回客戶端 (或者更簡單的說,發送回第一個字節)。
這在很大程度上受到伺服器和客戶端的網路速度的影響,如果客戶端使用 Wi-Fi 上網或當地網路速度較慢,它也將會反應在 TTFB 中。
最快的 WordPress 網站代管
通過簡單的設置和管理,讓您的 WordPress 網站有如閃電般的快速、安全,創造更佳的 SEO 排名。
開始免費的網站遷移
TTFB 重要嗎?
重點的是要了解 TTFB (第一個位元組時間) ,這與網站最佳化速度不同。
這實際上是對網路、伺服器回應的能力的衡量。
網路上有很多關於 TTFB 是否重要的討論,有人說它沒有意義,也有人說它很重要 (Google 的 Web 性能工程師)。雙方都提出了一些關於為什麼重要或為什麼它不重要的觀點,以及關於它是如何實際計算的一些問題。
Moz 甚至對搜尋排名和 TTFB 之間的相關性進行了深入研究, 但是,很難知道這是否是真正的原因,或者 TTFB 反應較慢,但是網站總體速度上較快,而這是否可能受到 Google 的頁面速度排名因素的影響。
與其花時間去討論它 (TTFB) 是否重要,我們寧可專注於網站可以做的優化來改進,您所做的網站優化都可以提高 WordPress 網站的整體速度,而這反過來又會影響您的 TTFB。
在我們的測試中,TTFB 的時間過長的網站,感覺加載更慢。
一般來說,任何低於 100 ms 時間的都是不錯 TTFB,Google PageSpeed Insights 建議伺服器反應時間應低於 200 ms,如果您的網站在 300-500 ms 範圍內,這是非常標準的;如果您的網站時間超過 600 ms,那您的伺服器上可能配置有問題,或者是時候升級到更好的託管主機了。
或者參考我們如何減少 TTFB 的建議,請記住,SSL/TLS 傳輸協議也可能是一個因素。
如何測量 TTFB 的反應時間?
我們可以通過多種不同的方式測試 TTFB,我們將在下面說明幾個方法,每種測試工具都會給出不同的結果,因此,找出一個自己適合的一個工具並堅持使用它作為基礎很重要。
Google Chrome DevTools 測量 TTFB
您可以啟動 DevTools 在 Google Chrome 中測量 TTFB,如果,您在桌上電腦 PC 上測試 TTFB 會受到網路延遲和 Internet 連接的影響,因此,使用從第 3 方工具 (如下例子) 可能更準確有效。
- 從 Chrome 選單中選擇更多工具 > 開發者工具。
- 右鍵單擊頁面元素並選擇檢查
- 使用鍵盤快捷鍵 Ctrl+ Shift+ I (Windows) 或 Cmd + Opt+ I (Mac)
啟動 F12 窗口並查看網站的性能。
WebPageTest 測量 TTFB
您還可以使用 WebPageTest 測量您的 TTFB,根據他們的詳細訊息,目標時間是 DNS、socket 和 SSL 協議所需的時間,正如您在下面的測試中看到的那樣,該網站的測量時間為 66 ms TTFB。
GTmetrix 測量 TTFB
在 GTmetrix 中,TTFB 被稱為等待時間 (wait time),請點擊 Waterfall 頁面,然後將滑鼠指標移動到你所測量的網址旁,會出現一個顯示視窗。
KeyCDN 中的工具測量 TTFB
KeyCDN 有一個很棒的 Web 性能測試工具 ,您可以在其中同時從 10 個不同的地點測量您的 TTFB。
正如您在下面的測試中看到的那樣,TTFB 在新加坡較低,而在其他國家測量點則高得多,這是因為網站的伺服器實際上位於新加坡;這也證明了網路延遲和距離對 TTFB 有影響。
還有一些其他第三方測量 TTFB 的工具,例如:
- Sucuri Performance Tool
- ByteCheck
- Google Analytics (GA3)
WooWP 可以為您節省 外掛 / CDN 的成本。
您當前的虛擬主機可能會花費您的時間和金錢,在 WooWP,我們的主機架構已包含快取、備份、防毒、CDN 功能,讓您省下這些額外的金錢。
了解更多
減短 WordPress 網站的 TTFB 的 4 種方法
現在讓我們深入說明如何減短 WordPress 網站上的 TTFB 反應時間。
1. 使用高效能的 WordPress 主機
減少 TTFB 的第一種方法,最基本的是使用快速的 WordPress 主機,一個好的 WordPress 主機不僅有足夠的硬體效能,還有一個快速的網路。
例如:Kinsta 主機 現在擁有所有 34 個 Google Cloud Platform 數據中心,因此,您可以將 WordPress 網站放置在更靠近訪問者的位置,這非常重要。
另外,Kinsta 主機使用 Google Cloud Platform 的高級網路,許多其他託管主機商提供的是使用 Google Cloud 的標準層網路,這會導致較慢的網路速度。
擁有一個良好的架構的 WordPress 主機對於降低 TTFB 反應速度是很重要的。
仔細選擇位於客戶所在地區的資料中心也是要考量進去,如果,您的大多數客戶都在美國,請不要在選擇歐洲的數據中心 (普通的 CDN 並不能解決 TTFB 的一些問題)。
2. 使用 CDN
另一種減少 TTFB 的簡單方法是利用 CDN (內容交付網路)。
如果,您的網站數據中心不在主要客戶的地區或國家提供服務,這會大大降低您網站的 TTFB,正如上面看到的,新加坡以外的地區,TTFB 反應時間分常的長,網站主機的位置非常重要。
使用 Cloudflare CDN,您的 TTFB 可能會有改善,但是要注意,有些地區沒有 CDN 的節點,這反而會造成 Cloudflare 要繞行其它國家或地區,再進入您的客戶所在的地區,這對 TTFB 反而沒有幫助。
例如:您使用 Cloudflare Free 方案 (Free、Pro 方案並沒有台灣的網路節點),而你的客戶來源都來自台灣,這時的 CDN 網路反而會繞道 LAX 或 NRT,TTFB 時間反而會更長,這不是一個好的選擇。
因台灣的電信單位與 Cloudflare 有特殊的問題存在,想要有更好的 CDN 速度,就必須購買 Cloudflare Enterprise 方案,才會有 TPE 節點,但是 Enterprise 方案價格非常貴,並不適合一般的使用者。
現在主機託管商與 Cloudflare Enterprise 整合,是一個流行趨勢,如:Kinsta, BigScoots, Rocket, Servebolt, Convesio, Cloudways, WP Engine 這些網站 (主機) 託管商都與 Cloudflare 整合了,您的網站可以選擇打開 CDN 功能,達到更好的 TTFB 時間。
3. WordPress 快取
第三種方法,是減少 TTFB 的最簡單及效果最明顯方法之一,在 WordPress 網站上使用快取。
許多人只認為快取可以幫助減少網站加載時間,但實際上,它也有助於減短 TTFB 反應時間,因為,它有助於減少伺服器處理時間,我們在執行和不使用快取的情況下再次運行了一些測試,得到的結果如下。
網站沒有快取測試
網站主機位置在新加坡,測量位置於台灣,我們通過 Chrome DevTools 運行該網站,並且在沒有快取運行的情況下,我們的站點獲得了 142.61 ms 的加載時間和 135.23 ms 的 TTFB。
網站啟用網站快取
我們啟用網站快取再測試一次,主機位置一樣在新加坡,測量位置於台灣,我們通過 Chrome DevTools 運行該網站,並且在有快取運行的情況下,我們的站點獲得了 56.53 ms 的加載時間和 48.73 ms 的 TTFB。
因此,通過啟用 WordPress 快取,我們能夠將有效的減少 TTFB 反應時間!
我們的 JET WooWP 的快取機制是伺服器級別的操作,也就是說您不需要安裝快取外掛;如果您是使用其它的主機託管商管理 WordPress 網站,我們建議您使用免費的快取外掛,例如:Cache Enabler。
4. 使用高級 DNS 管理提供商
最後但同樣重要的是,DNS 也在 TTFB 中有影響作用,很難準確計算它受到的影響有多大,但您仍然可以看到整體 DNS 查找時間,並看到那裡有更快和更慢的提供商。
DNS 的作用是將域名和 IP 位址相互對映的一個分散式資料庫,瀏覽器 (客戶端) 輸入一個網址 (yungke.me),DNS 主機會快速查詢 Domain Name 和 IP 對應資料,而指向該 IP 位置的主機。
這些對應的動作,就是上述 TTFB 中的第一個影響因素。
您可以利用 DNSPerf 速度測試工具進行 DNS 主機測試,以下是 yungke.me 網站所使用的 Cloudflare DNS 為例:
如您所見,DNS 查詢的時間越短 TTFB 總體時間也會減少。
您也可以測試一下自己的 DNS 主機的響應時間,有的 DNS 主機的響應時間會慢到 100ms 以上,如果網站伺服器又不快速,TTFB 的時間被拉長是必然的了。
結語
在之前 2018 年時,我就寫過一篇關於 TTFB 的文章,經過這幾年的網路變化及更好的 CDN 技術,TTFB 的反應時間可以在更縮短。
我們可以最佳化網站許多事情而減少 TTFB,例如:資料庫快取、更快的 NVMe SSD 硬碟 I / O、RAM、PHP 快取設定置、MySQL 設定、網路頻寬、快速的 HTTP/3 協定。
上面提到的那些優化是相當的容易做到,並且有效果提升網站性能。
但是,不要忘記一個快速 WordPress 主機、DNS 和 CDN 是減少 TTFB 反應時間最重要的關鍵。
你很努力的最佳化 WordPress 網站,但別忘了減少 TTFB 反應時間。
FAQ
TTFB 是甚麼 ?
- TTFB 是 Time To First Byte 的縮寫,是指從訪客開啟網站頁面到網頁內容開始呈現之間的等待時間。
我都照上面的教學方法改進了,為什麼 TTFB 的速度還是不理想?
- 主機的效能和 CDN 是減少 TTFB 反應時間最重要的關鍵,但是一般的 CDN 只能處理 JS、CSS 的檔案,CDN 的邊緣快取 HTML 才能真正縮短 TTFB 的時間。
2024/08/05 補充:
感謝你看到這裡,一定還是一頭霧水;用 TTFB 關鍵字搜尋,第一頁排名的文章,我真的看不懂他們在寫甚麼 ? 東抄一點西抄一點 (包含我自己這一篇)。
隨著時間的推移,對 TTFB 的最佳化方法,會有不同的看法,所以,我決定重新寫了一篇 – 你須知道第一個位元組時間 TTFB 的一切,以最淺顯易懂的表達 TTFB 最佳化。
Feature Photo by Unsplash+
發佈留言