使Instagram.com更快的三個步驟:預取數據、推送數據和使用緩存 -Instagram Engineering

19-10-12 banq
                   

近年來,instagram.com發生了許多變化-我們推出了故事,過濾器,創建工具,通知和直接消息傳遞,以及許多其他功能和增強功能。但是,隨著產品的增長,副作用是我們的網絡性能開始下降。在過去的一年中,我們做出了有意識的努力來改善這一狀況。到目前為止,這項持續不斷的工作已使我們的Feed頁面加載時間累計提高了近50%。這一系列博客文章將概述我們所做的一些工作,這些工作導致了這些改進。

第1部分中,我們討論了使用JavaScript,XHR和圖像預取數據:

<link rel="preload" href="/static/FeedPageContainer.js" as="script" type="text/javascript" />

第2部分中,我們討論了通過直接將數據推送給客戶端而不是等待客戶端請求數據來提高性能。使用早期刷新和漸進HTML推送數據

在第3部分(點擊標題進入)使用緩存:

  • 在頁面加載時,我們發送對新數據的請求(或等待其推送)
  • 創建Redux狀態的分段子集
  • 在請求/推送未決期間,我們存儲所有調度的動作
  • 請求解決后,我們會將操作與新數據以及所有待處理的操作一起應用到暫存狀態
  • 提交暫存狀態后,我們只需用暫存狀態替換當前狀態即可。

第4部分中,將介紹如何通過代碼大小和執行優化來減少代碼庫的大小并提高其性能。

?

                   

一级黄色录像影片 夫妻性生活影片 免费在线观看 一级a做爰片