網站開啟速度是使用者體驗和 SEO 營銷的要點之一。許多研究已經證明,當網頁載入時間超過 3 秒,超過 50% 的使用者會關閉網頁。網站開啟過慢會造成負面使用者體驗,增加跳出率,導致你的網站在搜尋結果頁的位置較低。SonderCloud恆創科技為你簡單介紹網站開啟速度取決於哪些因素以及如何增強它。
一、哪些因素影響網站載入速度
網站載入速度取決於許多因素。本文重點討論 3 點:伺服器響應時間,內容特點和內容載入速度以及頁面渲染。
1. 伺服器響應時間
當用戶開啟網站時,瀏覽器會向伺服器傳送 HTTP 請求。伺服器響應該請求後,內容將呈現出來。傳送請求和收到響應之間的時間跨度稱為伺服器響應時間。
此術語稱為 TTFB,即“第一個位元組返回的時間” 。使用者視角為:從開啟網站的那一刻到頁面開始載入的那一刻之間的時間跨度。
伺服器響應時間取決於:
伺服器載入
,即同時開啟網站的使用者數量和同時發生的請求數量。請求越多,伺服器處理請求的速度就越慢。
伺服器特性
,即伺服器是否有足夠的容量來承受當前負載。
伺服器和使用者位置。
伺服器和使用者之間的距離越大,處理請求並得到響應所需的時間就越多。
與資料庫配合使用。
如果你的網站與資料庫進行互動,如果資料庫位於資源稀缺或功能設定與當前負載無關的伺服器上,這也可能導致高時延。
2. 內容特點和內容載入速度
很容易理解:內容越重,載入的時間越長。因此,網站上釋出的元素越小越好。
然而,在檔案大小和質量之間保持平衡非常重要。僅有幾 kb 的影象肯定載入更快。但如果它們模糊不清或包含一些無法區分的元素,這可能會對你的線上服務造成不良印象,進而導致銷售額降低。
3. 頁面渲染
網站由影象、影片、文字內容、圖形元素等組成。當頁面載入時,所有這些元素都完全顯示在使用者的螢幕上。這被稱為頁面渲染。頁面渲染速度可以使用各種服務進行測試。
頁面渲染速度取決於以下因素:
頁面上的元素數量。
元素載入的順序(最重要的元素應首先顯示)。
頁面佈局。
二、如何縮短伺服器響應時間
1. 最佳化資料庫效能
為了使內容顯示在頁面上,伺服器需要呼叫儲存此內容的資料庫。資料庫缺乏效能最佳化,會增加網站載入時間。如果你使用動態內容(社交網路、論壇、線上商店中的推薦清單,以及資料庫中未儲存的、需要按需即時獲取的任何其他內容),則更加重要。在這種情況下,系統不僅需要檢索檔案,還需要形成客戶端應該看到的資訊塊。
對於經驗豐富的程式設計師來說,最佳化資料庫效能是一項優先任務。需要做的第一件事如下:
最佳化資料庫請求。
使用資料庫時,使用 EXPLAIN 命令來了解哪些請求緩慢,並找到加快速度的方法。
預先快取最常見和類似請求的內容。
動態內容網站更需要此項工作。資料庫可以返回儲存在快取中的現成資料,而不是一遍又一遍地生成相同內容。
設定資料庫索引。
索引表字段便於資料搜尋和加快搜索。
2. 啟用 CDN
伺服器離使用者的位置越遠,處理請求、獲得響應所需的時間越長。如果你的所有客戶都在同一區域,則沒有問題,你只需租用附近的伺服器即可。例如,如果你的目標受眾都在中國內地,則建議選擇國內伺服器;如果你的目標受眾主要在中國內地、東南亞以及日本、韓國等地區,建議選擇香港伺服器,兼具國內和海外高速訪問。
然而,大多數情況下,線上業務的目標受眾分散在不同的國家/地區,不可能在每個地區都租用伺服器。此問題可以透過 CDN(內容交付網路)伺服器解決。它是大量連線的伺服器(即節點),從源伺服器檢索資料、快取資料並將資訊傳達給使用者。CDN 伺服器通常儘可能靠近終端使用者。當用戶開啟你的網站時,請求被髮送到最近的存在點,而不是傳送到源伺服器。這會減少請求路徑和伺服器響應時間。
3. 減少伺服器負載
要減少伺服器負載,首先要減少請求數量。
載入網站時,瀏覽器需要傳送每個頁面元素。網站上的元素越少,瀏覽器需要傳送的請求越少。
為此,為避免更改頁面設計,你可以進行以下工作:
使用 CSS 精靈技術,將零散的背景影象、介面元素(如按鈕和圖示)以及相同調色盤的影象通常組合在一起,形成 CSS 精靈圖。當用戶訪問頁面時,只需傳送一次請求,網頁中的背景影象即可全部展示出來。在某些情況下,CSS 精靈甚至可以減少影象大小並加快內容負載。
使用內聯影象,即使用“dаta: URL”方案(圖片包含在 HTML 檔案中)的影象。但是,內聯影象會增加 HTML 檔案大小。
將多個檔案組合在一起。例如,合併多個 CSS 或 JS 檔案。如果你有許多重檔案,它們的組合將減少伺服器負載,但不會顯著提高網站效能。
4. 將域名放在離客戶端最近的 DNS 伺服器上
開啟網站之前,瀏覽器需要獲取網站的 IP 地址。域名和 IP 地址資訊是儲存在 DNS 伺服器裡。
訪客開啟網站時,瀏覽器首先向 DNS 伺服器傳送請求,接收必要的 IP 地址。儲存域名和 IP 地址資訊的 DNS 伺服器離目標使用者越遠,處理請求的時間越長,從而增加伺服器響應時間。因此,最好是將你的域名放在離你的目標受眾最近的 DNS 伺服器上,並選擇具有多個位置的 DNS 服務,允許你平衡伺服器負載。
5. 選擇另一臺伺服器
如果你嘗試了所有最佳化,但伺服器響應時間還是慢,原因可能在伺服器本身。你當前的伺服器可能無法應付如此高的負載,因此你需要切換到具有更高計算效能的伺服器。
計算網站正常執行所需的儲存空間和 RAM 量,並檢查當前伺服器是否滿足這些要求。如果沒有,則更換到效能更高的伺服器套餐,甚至切換到其他服務商。如果你的專案正在大規模增長,則傳統託管服務提供的資源可能不適合你。你可以考慮是否將專案轉移到雲伺服器或私有云、混合雲之中。
三、如何提高內容載入速度
頁面元素重量越小,載入速度越快。為加快你的網站,請將所有檔案的大小減少到最低限度。但請記住,縮小大小不應該使檔案的質量變差。建議使用現代資料壓縮演算法,如 Gzip、Brotli 和 WebP。這些演算法提供無損資料壓縮。它們顯著減少元素大小而不影響其外觀。這些演算法可以在內容傳送給使用者的“路上”壓縮檔案。
四、如何最佳化頁面渲染
1. 將 javascript 檔案放在頁面底部。
如上所述,應該優先載入最重要的元素。JS 檔案不被視為此類檔案。
使用者首先應該看到的頁面內容。在頁面完全載入之前,頁面內容應該優先呈現。javascript 檔案可能很重, 因此應該最後載入。
2. 隱藏對網站移動端版本不必要的元素。
如今,使用者習慣在手機上瀏覽網站。移動裝置的效能比臺式 PC 弱。在移動網際網路連線不穩定的情況下,網站載入時間會大大增加。
五、結論
當載入時間超過 3 秒,超過 50% 的使用者會關閉你的網站。搜尋引擎對載入速度快的網站排名更友好。重要的是,怎樣提升你的網站載入速度。
網站的開啟速度取決於伺服器響應時間、內容載入速度、頁面渲染等因素。
為縮短伺服器響應時間,你可以最佳化資料庫效能,減少請求數量,在最接近客戶端的 DNS 伺服器上放置域名,並啟用 CDN。如果這些無濟於事,則現有負載對於你當前的伺服器來說可能太高,你需要選擇另一臺具有更高計算效能的伺服器。
要提高內容載入速度,需要將檔案大小降到最低。建議使用資料壓縮演算法,如Gzip、Brotli 和 WebP。
要加快頁面渲染速度,請將 JS 檔案放在頁面底部,並隱藏對網站移動版本不必要的元素。
(注:本文屬【SonderCloud_恆創科技】原創內容,轉載請註明出處!)