決定網(wǎng)站加載速度的最大因素之一是初始服務(wù)器響應時(shí)間。顧名思義,服務(wù)器響應時(shí)間是您的服務(wù)器響應用戶(hù)請求的速度,它會(huì )顯著(zhù)影響您網(wǎng)站的用戶(hù)體驗 (UX)。在本指南中,我們將討論如何確定服務(wù)器響應時(shí)間慢的原因,尤其是如何減少初始服務(wù)器響應時(shí)間。
什么是服務(wù)器響應時(shí)間?
服務(wù)器響應時(shí)間是一個(gè)度量標準,它描述了設備(即計算機)在成功向服務(wù)器發(fā)送請求以加載網(wǎng)頁(yè)后,需要多長(cháng)時(shí)間才能從服務(wù)器接收到反饋。
這是一個(gè)極其重要的衡量指標,因為如果沒(méi)有這種反饋,許多網(wǎng)絡(luò )應用程序將無(wú)法運行。同時(shí),較長(cháng)的服務(wù)器響應時(shí)間將轉化為用戶(hù)較長(cháng)的等待時(shí)間,在此期間網(wǎng)頁(yè)根本不顯示或顯示錯誤(加載一半的圖像、損壞的布局等)。
因此,較慢的服務(wù)器響應時(shí)間不僅會(huì )影響加載速度,還會(huì )影響用戶(hù)的視覺(jué)穩定性,這是用另一個(gè)稱(chēng)為累積布局偏移 (CLS) 的指標來(lái)衡量的。使用更專(zhuān)業(yè)的術(shù)語(yǔ),服務(wù)器響應時(shí)間也稱(chēng)為首字節時(shí)間 (TTFB),因為它衡量服務(wù)器向用戶(hù)發(fā)送單個(gè)字節作為對用戶(hù)請求的響應所需的時(shí)間。
為什么要減少服務(wù)器響應時(shí)間
根據 Google 的說(shuō)法,如果網(wǎng)站加載時(shí)間超過(guò)三秒,人們就會(huì )離開(kāi)網(wǎng)站,我們已經(jīng)提到服務(wù)器響應時(shí)間在決定頁(yè)面加載速度的最佳程度方面起著(zhù)非常重要的作用。
因此,高響應時(shí)間將轉化為高跳出率。高跳出率不僅僅反映了負面的用戶(hù)體驗;這也是一個(gè)負面的 SEO 排名因素。當然,頁(yè)面加載速度已經(jīng)是一個(gè)重要的 SEO 排名因素,這也是 Google 擁有自己的PageSpeed Insights的原因。
因此,減少服務(wù)器響應時(shí)間很重要,原因有以下三個(gè):
- 為您的訪(fǎng)客帶來(lái)更好的體驗。
- 跳出率較低。
- 更好的搜索引擎優(yōu)化性能。
哪些因素會(huì )影響服務(wù)器響應時(shí)間和加載速度?
首先,您網(wǎng)站的最佳響應時(shí)間是多少?最佳服務(wù)器響應時(shí)間有多快?根據 Google 的說(shuō)法,當 TTFB 在 200 毫秒以下時(shí),網(wǎng)站具有良好的響應時(shí)間。所以:
- 如果您的服務(wù)器響應時(shí)間低于 100 毫秒,那就太好了。
- 100 毫秒到 200 毫秒之間被認為是好的。
- 200 毫秒到 1 秒之間是可以接受的,但應該改進(jìn)。
- 超過(guò) 1 秒太慢了。您可能需要減少服務(wù)器響應時(shí)間。
您可以使用各種工具來(lái)檢查您當前的服務(wù)器響應時(shí)間,但方便的 Google Pagespeed Insights(上面討論過(guò))通常就足夠了。如果您當前的響應時(shí)間超過(guò) 200 毫秒,那么以下是一些可能是罪魁禍首的重要因素:
- 托管服務(wù):在許多情況下,服務(wù)器響應時(shí)間過(guò)長(cháng)是由糟糕的網(wǎng)絡(luò )托管服務(wù)提供商造成的,尤其是當您使用共享托管而非專(zhuān)用托管時(shí)。
- 配置:您的托管服務(wù)和/或服務(wù)器設置可能未正確優(yōu)化。
- 資源:如果您的網(wǎng)站有很多頁(yè)面、圖片、插件、擴展程序和應用程序,并且它們的結構不合理,它們會(huì )顯著(zhù)降低您的網(wǎng)站速度。
- 緩存:適當的緩存允許網(wǎng)絡(luò )瀏覽器從本地緩存中提取資源,而不是每次都向服務(wù)器發(fā)出新的請求。最佳緩存可以顯著(zhù)提高頁(yè)面的加載速度,即使它不會(huì )直接減少服務(wù)器響應時(shí)間。
- 網(wǎng)站流量:根據一般經(jīng)驗,當訪(fǎng)問(wèn)者在您網(wǎng)站上發(fā)出的請求超過(guò)服務(wù)器的容量時(shí),服務(wù)器響應時(shí)間就會(huì )變慢。在這種情況下,訪(fǎng)問(wèn)者可能根本無(wú)法訪(fǎng)問(wèn)您的網(wǎng)站。
如何減少服務(wù)器響應時(shí)間
1. 確保您使用的是合適的托管服務(wù)。
上面,我們討論了您的托管服務(wù)如何成為服務(wù)器響應時(shí)間長(cháng)的罪魁禍首,因此確保您使用信譽(yù)良好且最佳的托管服務(wù)提供商非常重要。理想情況下,您應該選擇專(zhuān)用托管服務(wù),但我們都知道它們可能非常昂貴。但是,有一些經(jīng)過(guò)適當優(yōu)化的共享托管服務(wù),對于小型網(wǎng)站來(lái)說(shuō)可能是一種經(jīng)濟高效的選擇。
因此,在不同的托管服務(wù)提供商套餐之間進(jìn)行選擇時(shí),請查看在線(xiàn)評論和對能夠保持快速服務(wù)器響應時(shí)間且穩定的提供商的建議。如果您有預算,那么顯然推薦使用專(zhuān)用服務(wù)器,它可以顯著(zhù)加快服務(wù)器響應時(shí)間。
您可以控制的與托管服務(wù)提供商相關(guān)的其他因素包括:
- 最佳緩存:如果您的站點(diǎn)是基于 WordPress 的,那么您可以為此目的使用緩存插件。如果沒(méi)有,您還可以嘗試各種第三方緩存工具。
- 減少 PHP 腳本:PHP 腳本通常用于您網(wǎng)站上的主題、插件等許多不同元素。除非絕對必要,否則減少它們。此外,請確保您的網(wǎng)站運行的是最新版本的 PHP。
- CDN:如果您當前使用響應時(shí)間不佳的共享托管服務(wù),則使用 CDN(內容分發(fā)網(wǎng)絡(luò ))服務(wù)也是幫助提高頁(yè)面速度的好方法。
2. 投資一個(gè)好的機器人管理解決方案。
世界上大約一半的網(wǎng)絡(luò )總流量來(lái)自機器人。如果發(fā)出的請求太多,超出了服務(wù)器的處理能力,則會(huì )導致響應時(shí)間變慢。
使用像 DataDome 這樣的機器人管理解決方案可以幫助管理這種機器人流量,并可以通過(guò)兩種不同的方式幫助減少服務(wù)器響應時(shí)間:
- 確保為合法訪(fǎng)問(wèn)者提供服務(wù):當機器人抓取您的網(wǎng)站進(jìn)行惡意活動(dòng)時(shí),可能需要大量服務(wù)器處理能力來(lái)滿(mǎn)足他們的請求。當像 DataDome 這樣的實(shí)時(shí)機器人程序管理解決方案到位時(shí),不需要的機器人程序流量就會(huì )被阻止,從而釋放服務(wù)器資源并有效縮短響應時(shí)間。有了這個(gè),頁(yè)面加載速度的顯著(zhù)提高是可能的,確保合法訪(fǎng)問(wèn)者的最佳瀏覽速度。
- 優(yōu)化服務(wù)器帶寬:一個(gè)好的機器人管理解決方案可以幫助優(yōu)化服務(wù)器帶寬并節省服務(wù)器存儲空間。例如,如果一個(gè)機器人請求一個(gè) 2MB 大小的頁(yè)面,而該網(wǎng)站每個(gè)月會(huì )收到 100,000 個(gè)來(lái)自機器人的類(lèi)似請求,它會(huì )占用 200 GB 寶貴的服務(wù)器帶寬。同樣,臃腫的資源會(huì )導致更長(cháng)的服務(wù)器響應時(shí)間。
3. 減少膨脹和資源大小。
如果您的站點(diǎn)在 WordPress 上,請確保選擇最佳主題。WordPress 主題可以包含各種 JavaScript 和 PHP 代碼,如果這些代碼沒(méi)有經(jīng)過(guò)優(yōu)化,它們會(huì )大大增加您的服務(wù)器響應時(shí)間。同樣,在安裝之前檢查評論并檢查主題創(chuàng )建者的聲譽(yù)。
同樣,如果您正在使用插件(如果您的網(wǎng)站不是基于 WordPress 的,則使用擴展/附加組件),請確保使用不臃腫的優(yōu)化插件,這樣它們就不會(huì )減慢您服務(wù)器的響應時(shí)間。
關(guān)于此的其他提示:
- 縮小 JavaScript 和 CSS。
對于大多數網(wǎng)站,CSS 控制網(wǎng)站的外觀(guān)和性能。它們會(huì )占用服務(wù)器上的大量存儲空間,JavaScript 也是如此。壓縮本質(zhì)上是壓縮 CSS 和 JavaScript 代碼中不必要的換行符、空格和字符,以節省文件大小并提高處理這些代碼的速度。同樣,如果您使用的是 WordPress,則有各種插件可以幫助解決這個(gè)問(wèn)題。
- 優(yōu)化圖像和視頻。
現在大多數網(wǎng)站都擁有豐富的視覺(jué)資產(chǎn),如圖像和視頻。確保所有圖像和視頻文件在上傳到您的網(wǎng)站之前都經(jīng)過(guò)適當的優(yōu)化和壓縮。有多種工具可以讓您批量壓縮文件,它們可以顯著(zhù)幫助減小文件大小和縮短服務(wù)器響應時(shí)間。
4.優(yōu)化你的數據庫。
在 CMS 中實(shí)施數據庫優(yōu)化是提高服務(wù)器性能的一種非常有效的方法。你的內容增長(cháng)得越大(更多的博客文章、更多的評論等),你的數據庫就越大,你的網(wǎng)站運行就越慢?,F代 CMS 通常提供一種相當簡(jiǎn)單的方法來(lái)優(yōu)化其數據庫。例如,WordPress 提供了各種插件,例如WP-Optimize,可讓您輕松執行此功能。
5.預取。
預取意味著(zhù)在用戶(hù)請求指令之前預期并執行指令。例如,通過(guò)預測用戶(hù)未來(lái)的請求,提前加載一些內容或鏈接。
現代瀏覽器通常允許預取。通常,存在三種不同類(lèi)型的預?。?/p>
- 鏈接預?。喝绻?yè)面上只有一個(gè)或幾個(gè)鏈接,并且您確定用戶(hù)會(huì )點(diǎn)擊特定鏈接,那么您可以進(jìn)行鏈接預取。這對于在網(wǎng)站上獲得更穩定的用戶(hù)體驗很有用,并且可以應用于例如在用戶(hù)添加項目后更快地加載購物車(chē)頁(yè)面。
- DNS Pre-Fetching:提前將域名轉換為IP地址形式,以加快加載速度。
- 預渲染:提前渲染部分元素或整個(gè)頁(yè)面
雖然預取對于如何提高服務(wù)器響應時(shí)間絕對有效,但它需要正確理解您的用戶(hù)行為,否則會(huì )轉化為資源浪費。
6. 避免使用網(wǎng)絡(luò )字體。
網(wǎng)絡(luò )字體或網(wǎng)絡(luò )排版在較新的網(wǎng)站上變得越來(lái)越流行,但是如果它們沒(méi)有得到適當的優(yōu)化,它們會(huì )給您的服務(wù)器帶來(lái)額外的壓力,并會(huì )降低頁(yè)面呈現的速度。這是因為網(wǎng)絡(luò )字體本質(zhì)上是向外部資源添加額外的 HTTP 請求。
作為一般經(jīng)驗法則,僅使用絕對必要的網(wǎng)絡(luò )字體樣式,并且如果可能,僅包括站點(diǎn)上使用的字符集。但是,如果您必須使用網(wǎng)絡(luò )字體,請確保您使用的是新的WOFF 2.0 格式以獲得更好的壓縮效果。
7.消除404錯誤。
當用戶(hù)請求不再存在的頁(yè)面時(shí),會(huì )出現 404 錯誤。這些請求仍然會(huì )消耗您服務(wù)器的資源,并且在請求過(guò)多時(shí)可能會(huì )降低您的服務(wù)器速度。您可以使用各種工具和插件來(lái)檢測網(wǎng)站上是否存在 404 錯誤 URL,包括免費且方便的Google 網(wǎng)站管理員工具。
確定網(wǎng)站上的 404 錯誤后,請檢查它們產(chǎn)生的流量。如果鏈接不產(chǎn)生任何流量,您可以將它們保持原樣。但是,如果它們仍然產(chǎn)生一些傳入流量,您可能需要設置重定向并修復內部鏈接的鏈接地址。但是,除非絕對必要,否則我們建議不要使用重定向。重定向會(huì )轉化為額外的 HTTP 請求,這會(huì )降低您網(wǎng)站的性能。
8. 保持一切更新。
您正在使用的軟件的新版本通常會(huì )帶來(lái)性能增強。例如,從 WordPress 8.0 升級到 WordPress 8.1 后,Kinsta 的人員在其網(wǎng)站上的速度提高了 47.10%。同樣,如果您使用的是 WordPress,保持主題和插件更新很重要,因為補丁通常包含性能增強功能。一般來(lái)說(shuō),最好的做法是只保留你需要的主題和插件,刪除其余的,這樣它們就不會(huì )占用不必要的空間。