刪除不必要的下載

最快最優的資源是不需要下載的資源。最近是否曾檢查您的資源? 這是務必要定期執行的工作,如此才可確保每種資源都能為使用者提供更優異的體驗。

TL;DR

  • 清點網頁上所有自有和協力廠商的資產
  • 評估每個資產的成效:資產的價值及其技術效能
  • 確定這些資源是否提供了足夠的價值

最快最優的資源是不需要下載的資源。當然,這聽起來可能像是老生常談,但實際上,這一點卻往往被忽視:效能工程師的職責就是始終保持批判的眼光,抓住一切機會刪除應用程式中不必要的資源。定期與您的團隊聚集,針對隱性和顯性的假設進行質詢和重新審視,就不失為一種好做法。在此提供以下幾個例子:

  • 資源 X 一直都在我們的網頁上,但下載及顯示該資源的成本與它為使用者提供的價值是否成正比? 我們是否能夠評估並證明其價值?
  • 這項資源 (特別是協力廠商資源) 是否能保證穩定的效能? 這項資源是否位於關鍵路徑中?有需要將納入關鍵路徑嗎? 如果該資源處於關鍵路徑中,是否會成為我們網站的單點故障?換句話說,如果該資源無法使用,是否會影響網頁的效能和使用者體驗?
  • 這項資源是否需要 SLA?或是否具有 SLA? 這項資源是否遵循提升效能的最佳做法 (壓縮、快取等)?

我們的網頁往往會包含一些不必要的資源;或者更糟的是,某些資源會影響網頁效能,同時也無法為訪客或所處的網站帶來太大價值。這個作法同樣適用於我們自有和協力廠商的資源和小工具:

  • 網站 A 已決定在主頁上顯示一個照片輪播機,訪客只需點擊一下即可預覽多張照片。所有照片都會隨著網頁載入,使用者需自行控制查看下一張照片。
    • 問題:是否統計過有多少使用者在照片輪播機中查看多張照片? 大多數訪客可能因此累積了不必要的昂貴下載開銷,因為他們下載了很多永遠不會看的資源。
  • 網站 B 已決定安裝一個協力廠商小工具來顯示相關內容、提高社交參與度或提供某種其他服務。
    • 問題:是否追蹤過有多少訪客使用這個小工具或點擊瀏覽這個小工具提供的內容? 這個小工具帶來的社交互動的有利影響,是否能抵消下載時造成間接成本的不利影響?

正如您所看到的,儘管刪除不必要的下載看起來似乎微不足道,實際上卻正好相反,要確實做好往往需要非常縝密的思考和評估。事實上,想要獲得最佳效果,您應定期清點網頁上的每個資源,並重新評估上述問題。