最近中文字幕mv2018在线高清,伊人久久综合色,一区二区亚洲精品国产精华液,又粗又爽高潮午夜免费视频,中文字幕亚洲码在线

最新活動 新春特惠

產(chǎn)品

硅云幫助文檔中心

搜索文檔

熱門搜索詞:

網(wǎng)站加載 Waiting (TTFB) 時間過長的原因和解決辦法

更新時間:2021-10-28?14:57 ?版本:v1.0
分享到: ? ?
我要反饋?
收藏 我的收藏

在做網(wǎng)頁前端加載性能測試時,經(jīng)常會遇到網(wǎng)站加載 Waiting(TTFB)時間過長的問題。比如對于沒有優(yōu)化過的 WordPress 站點,TTFB 時間經(jīng)常超過了頁面內(nèi)容的下載時間,為用戶帶來不必要的等待時間。這個問題的主要原因是在服務器端,不熟悉服務器運維的朋友優(yōu)化起來可能會不知道從哪里下手,今天我們就從各方面分析一下網(wǎng)站加載 Waiting (TTFB) 時間過長的原因和解決辦法。

什么是 Waiting (TTFB) 時間

TTFB 是 Time to First Byte 的縮寫,指的是瀏覽器開始收到服務器響應數(shù)據(jù)的時間(后臺處理時間+重定向時間),是反映服務端響應速度的重要指標。就像你問朋友了一個問題,你的朋友思考了一會兒才給你答案,你朋友思考的時間就相當于 TTFB。你朋友思考的時間越短,就說明你朋友越聰明或者對你的問題越熟悉。對服務器來說,TTFB 時間越短,就說明服務器響應越快。

TTFB 時間多長算長?

因為每個服務器的硬件和網(wǎng)絡環(huán)境都不盡相同,每個服務器的 TTFB 時間也不相同。如果想知道你的服務器優(yōu)化可以到什么程度,大家可以上傳一些靜態(tài)的 HTML 頁面到服務器,然后打開這些靜態(tài)頁面,看一些這些頁面的 TTFB 時間,大多數(shù)服務器的 TTFB 時間都在 50 ms 以下,這個時間就是我們優(yōu)化時候可以追求的時間。下面兩個圖中的 TTFB 時間分別是本站所在服務器的靜態(tài)和動態(tài)網(wǎng)頁 TTFB 等待時間。

根據(jù)對大量網(wǎng)站的測試,TTFB 時間如果超過了 500 ms,用戶在打開網(wǎng)頁的時候就會感覺到明顯的等待。我么可以把 500 ms 以上認為是 TTFB 時間過長。可見,WordPress 智庫的服務器還不算差。

TTFB 過長的原因

 我們知道,對于動態(tài)網(wǎng)頁來說,服務器收到用戶打開一個頁面的請求時,首先要從數(shù)據(jù)庫中讀取該頁面需要的數(shù)據(jù),然后把這些數(shù)據(jù)傳入到模版中,模版渲染后,再返回給用戶。由于查詢數(shù)據(jù)和渲染模版需要需要一定的時間,在這個過程沒有完成之前,瀏覽器就一致處于等待接收服務器響應的狀態(tài)。有些服務代碼的性能比較低,或者代碼邏輯優(yōu)化沒做好,這個時間就會比較長。 當然,如果服務器到用戶之間的網(wǎng)絡不好,(比如,服務器在歐洲,用戶在中國,用戶打開網(wǎng)頁的時候,請求需要跨越千山萬水才能達到服務器),服務器接收到用戶請求的時間過長,也是導致 TTFB 時間過長的原因。 有時候,頁面在用戶的瀏覽器中保存了過多的 Cookie,每次請求,這些 Cookie 都要發(fā)送到服務器,服務器都要處理這些 Cookie,這也是導致 TTFB 時間過長的原因之一。 

還有一種容易被忽視的地方,比如我們的某項服務代碼中有請求外部接口資源(如采集內(nèi)容等),當請求的外部資源接口數(shù)據(jù)下載量大、或者這個接口的與服務器之間的網(wǎng)絡通信質(zhì)量欠佳的時候,也會導致Waiting (TTFB)變長,這時候我們需要去和接口放確認是否能夠優(yōu)化兩者之間的網(wǎng)絡通信質(zhì)量,也需要同步核實修改外部資源的請求策略,比如采用緩存的形式,不必每次訪客訪問網(wǎng)頁都請求獲取外部資源,而是直接使用緩存的資源,這針對于并非實時更新的數(shù)據(jù)是相當有效的優(yōu)化手段。

Waiting (TTFB) 時間過長的解決辦法

知道了原因,解決辦法就顯而易見了,那就是縮短服務器響應時間,最簡單直接并且有效的辦法就是使用緩存,把 PHP 和 MySQL 的執(zhí)行時間最小化,一些緩存插件可以把 SQL 查詢結果緩存起來,把幾十次查詢結果轉(zhuǎn)換為幾次;一些緩存插件可以直接把用戶所請求的頁面靜態(tài)化,用戶打開網(wǎng)頁時,相當于直接從服務器上下載了靜態(tài)頁面。 如果是網(wǎng)絡原因,換一個服務器是比較直接的解決辦法。如果因為一些原因不能換服務器,可以使用一個 CDN,把頁面同步到離用戶比較近的 CDN 節(jié)點上,也是一個不錯的解決辦法。 如果是 Cookie 的原因,可以通過修改應用程序,刪除一些不必要的 Cookie,或者精簡 Cookie 內(nèi)容,縮短 Cookie 的有效期等,都是解決辦法。 本站使用的是 Cachify 插件 Memcached 緩存方式,直接把用戶請求過的頁面,緩存到了內(nèi)存中,網(wǎng)站加載 Waiting (TTFB) 時間達到了 50 ms 左右,感興趣的朋友可以用谷歌瀏覽器的調(diào)試工具查看一下。

您對該文檔有什么建議?

您對該文檔的評分:

本文導航

什么是 Waiting (TTFB) 時間

TTFB 時間多長算長?

TTFB 過長的原因

Waiting (TTFB) 時間過長的解決辦法

搜索文檔