手機網站建設TCP層面的時延對于網頁瀏覽整體時延的影響分析
日期 : 2019-06-25 17:28:24
TCP層面的時延對于網頁瀏覽整體時延的影響分析。當前, 主流門戶網站首頁的頁面元素數量均在120個以上, 因此TCP會話的數量也相應較多。根據統計, 各TCP會話的平均下載字節數為24.2KB, 消耗時延均值為390ms。與DNS會話相對應, 這些TCP會話也是分批次執行的, 每批次的會話存在一定的并行關系。本次測試大致可將會話粗略分為八個批次, 則TCP會話所消耗的時間可近似計算為3.12s, 這與實際的TCP會話消耗時長基本一致。
接下來, 進一步對單個TCP會話的時延消耗開展分析。此處牽涉到TCP滑動窗口概念的簡述。基于TCP下載服務器數據時, 需要UE告知服務器側當前可接收的數據總量, 即UE的TCP接收窗口大小。在非智能機時代, UE的初始接收窗口普遍較小 (15KB以下) 。因此在初次TCP下載時, 服務器一次性下發的數據包字節數就被限制在15KB以下。UE接收完成后擴大接收窗口, 允許服務器在下一回合下載中并行發送更多數據包, 這就是慢啟動過程。
而當今智能機的初始接收窗口大小已達到40KB以上。本次測試所用的蘋果7達到了256KB。那么較大的初始接收窗口是否為下載帶來了巨幅性能提升呢?事實并不樂觀, 實際上服務器發送窗口的取值為, 接收端通告的接收窗口和發送端的擁塞控制窗口的最小值。當前多數主流網站服務器的發送初始擁塞窗口默認值均為15KB左右, 因此限制了數據包下載速率的提升。
根據統計, 本次測試各TCP會話的平均下載字節數為24.2KB, 是無法在首批次的下載過程中傳遞完畢的, 需經歷兩個下載批次。因此單TCP會話的耗時可計算為TCP建鏈耗時+2個批次的數據下載耗時, 即193ms (3.5×RTT) , 但該值與本節開頭所列出的TCP會話消耗時延均值 (390ms) 存在約200ms的偏差。
接下來, 進一步對單個TCP會話的時延消耗開展分析。此處牽涉到TCP滑動窗口概念的簡述。基于TCP下載服務器數據時, 需要UE告知服務器側當前可接收的數據總量, 即UE的TCP接收窗口大小。在非智能機時代, UE的初始接收窗口普遍較小 (15KB以下) 。因此在初次TCP下載時, 服務器一次性下發的數據包字節數就被限制在15KB以下。UE接收完成后擴大接收窗口, 允許服務器在下一回合下載中并行發送更多數據包, 這就是慢啟動過程。
而當今智能機的初始接收窗口大小已達到40KB以上。本次測試所用的蘋果7達到了256KB。那么較大的初始接收窗口是否為下載帶來了巨幅性能提升呢?事實并不樂觀, 實際上服務器發送窗口的取值為, 接收端通告的接收窗口和發送端的擁塞控制窗口的最小值。當前多數主流網站服務器的發送初始擁塞窗口默認值均為15KB左右, 因此限制了數據包下載速率的提升。
根據統計, 本次測試各TCP會話的平均下載字節數為24.2KB, 是無法在首批次的下載過程中傳遞完畢的, 需經歷兩個下載批次。因此單TCP會話的耗時可計算為TCP建鏈耗時+2個批次的數據下載耗時, 即193ms (3.5×RTT) , 但該值與本節開頭所列出的TCP會話消耗時延均值 (390ms) 存在約200ms的偏差。
上一篇:手機網站建設頁面構成的基本元素
下一篇:手機網站建設提高自然手勢交互的直觀性