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