您好,登錄后才能下訂單哦!
網站加載Waiting TTFB時間過長的原因和解決辦法是什么,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
關注網頁前端性能的朋友,在優化網頁性能的時候都會遇到網站加載 Waiting(TTFB)時間過長的問題。對于沒有優化過的 WordPress 站點,TTFB 時間經常超過了頁面內容的下載時間,為用戶帶來不必要的等待時間。這個問題的主要原因是在服務器端,不熟悉服務器運維的朋友優化起來可能會不知道從哪里下手,今天我們就從各方面分析一下網站加載 Waiting (TTFB) 時間過長的原因和解決辦法。
TTFB 是 Time to First Byte 的縮寫,指的是瀏覽器開始收到服務器響應數據的時間(后臺處理時間+重定向時間),是反映服務端響應速度的重要指標。就像你問朋友了一個問題,你的朋友思考了一會兒才給你答案,你朋友思考的時間就相當于 TTFB。你朋友思考的時間越短,就說明你朋友越聰明或者對你的問題越熟悉。對服務器來說,TTFB 時間越短,就說明服務器響應越快。
因為每個服務器的硬件和網絡環境都不盡相同,每個服務器的 TTFB 時間也不相同。如果想知道你的服務器優化可以到什么程度,大家可以上傳一些靜態的 HTML 頁面到服務器,然后打開這些靜態頁面,看一些這些頁面的 TTFB 時間,大多數服務器的 TTFB 時間都在 50 ms 以下,這個時間就是我們優化時候可以追求的時間。下面兩個圖中的 TTFB 時間分別是本站所在服務器的靜態和動態網頁 TTFB 等待時間。
根據我們的測試,TTFB 時間如果超過了 500 ms,用戶在打開網頁的時候就會感覺到明顯的等待。我么可以把 500 ms 以上認為是 TTFB 時間過長。可見,WordPress 智庫的服務器還不算差。
我們知道,對于動態網頁來說,服務器收到用戶打開一個頁面的請求時,首先要從數據庫中讀取該頁面需要的數據,然后把這些數據傳入到模版中,模版渲染后,再返回給用戶。由于查詢數據和渲染模版需要需要一定的時間,在這個過程沒有完成之前,瀏覽器就一致處于等待接收服務器響應的狀態。有些服務的性能比較低,或者優化沒做好,這個時間就會比較長。
當然,如果服務器到用戶之間的網絡不好,(比如,服務器在歐洲,用戶在中國,用戶打開網頁的時候,請求需要跨越千山萬水才能達到服務器),服務器接收到用戶請求的時間過長,也是導致 TTFB 時間過長的原因。
有時候,頁面在用戶的瀏覽器中保存了過多的 Cookie,每次請求,這些 Cookie 都要發送到服務器,服務器都要處理這些 Cookie,這也是導致 TTFB 時間過長的原因之一。
知道了原因,解決辦法就顯而易見了,那就是縮短服務器響應時間,最簡單直接并且有效的辦法就是使用緩存,把 PHP 和 MySQL 的執行時間最小化,一些緩存插件可以把 SQL 查詢結果緩存起來,把幾十次查詢結果轉換為幾次;一些緩存插件可以直接把用戶所請求的頁面靜態化,用戶打開網頁時,相當于直接從服務器上下載了靜態頁面。
如果是網絡原因,換一個服務器是比較直接的解決辦法。如果因為一些原因不能換服務器,可以使用一個 CDN,把頁面同步到離用戶比較近的 CDN 節點上,也是一個不錯的解決辦法。
如果是 Cookie 的原因,可以通過修改應用程序,刪除一些不必要的 Cookie,或者精簡 Cookie 內容,縮短 Cookie 的有效期等,都是解決辦法。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。