網(wǎng)絡(luò)連接方面的KPI
瀏覽器底層網(wǎng)絡(luò)連接也是影響網(wǎng)站內(nèi)容下載速度的主要因素,下載內(nèi)容的過程分幾個(gè)階段,dynaTrace AJAX版本可以顯示每個(gè)網(wǎng)絡(luò)請(qǐng)求的所有階段,如下圖所示。
圖3 網(wǎng)絡(luò)連接的幾個(gè)階段
瀏覽器處理請(qǐng)求的過程分為幾個(gè)階段,下面就對(duì)這些階段的影響加以解釋。
1、DNS時(shí)間
托管網(wǎng)站資源的每個(gè)域名都會(huì)發(fā)生一次DNS查找,如果你在多個(gè)網(wǎng)頁(yè)之間移動(dòng),當(dāng)前一個(gè)頁(yè)面已經(jīng)請(qǐng)求過一次DNS查找后,瀏覽器不會(huì)再對(duì)同一個(gè)域名請(qǐng)求另一個(gè)DNS查找,但通過查看總體DNS時(shí)間,可以確定是否存在DNS查找時(shí)間問題,有可能牽出DNS配置不當(dāng)?shù)膯栴}。
2、連接時(shí)間
根據(jù)瀏覽器和資源的大小不同,瀏覽器可能會(huì)在域名上建立一到多個(gè)連接,連接時(shí)間就是瀏覽器與Web服務(wù)器建立TCP/IP連接的時(shí)間,連接通常會(huì)保持打開狀態(tài),除非Web服務(wù)器命令瀏覽器關(guān)閉連接。當(dāng)使用SSL建立安全通信時(shí),連接時(shí)間也包括SSL握手的時(shí)間,連接時(shí)間過長(zhǎng)有以下原因:到Web服務(wù)器的網(wǎng)絡(luò)連接速度較慢,使用了SSL,不允許瀏覽器保持連接打開。
3、服務(wù)器時(shí)間
高服務(wù)器時(shí)間意味著Web/應(yīng)用程序服務(wù)器需要很長(zhǎng)的時(shí)間處理請(qǐng)求,監(jiān)視服務(wù)器時(shí)間對(duì)于找出性能瓶頸和應(yīng)用程序的擴(kuò)展問題是至關(guān)重要的,通過增加Web服務(wù)器實(shí)現(xiàn)負(fù)載均衡,使靜態(tài)內(nèi)容的擴(kuò)展是很容易的,當(dāng)然也可以購(gòu)買CDN加速服務(wù)來(lái)達(dá)到同樣的目的,但以這種方法實(shí)現(xiàn)動(dòng)態(tài)應(yīng)用程序擴(kuò)展就行不通了。
4、傳輸時(shí)間
這個(gè)時(shí)間與傳輸內(nèi)容的大小,瀏覽器與服務(wù)器之間的連接速度緊密相關(guān),保持低傳輸時(shí)間是確保頁(yè)面快速載入的關(guān)鍵,可以通過減小總的頁(yè)面大小,或者通過CDN將內(nèi)容放在離最終用戶較近的地方改善傳輸時(shí)間。
5、等待時(shí)間
等待時(shí)間與相同域名下資源的數(shù)量直接相關(guān),受瀏覽器同一域名物理網(wǎng)絡(luò)連接數(shù)的限制,訪問某個(gè)資源時(shí)可能必須等待另一個(gè)連接的釋放,減少資源的數(shù)量,或?qū)①Y源分布在多個(gè)域名上,可以有效減少等待時(shí)間。
6、域名的數(shù)量
托管網(wǎng)站資源域名的數(shù)量也很重要,因?yàn)樗鼤?huì)影響DNS,連接和等待時(shí)間,要下載的資源使用額外的域名將會(huì)直接減少等待時(shí)間,因?yàn)闉g覽器最終使用更多的物理連接,但如果需要非常多的DNS查找時(shí),這又會(huì)產(chǎn)生負(fù)面影響,此外,應(yīng)該盡量避開單一資源域名,但有時(shí)是無(wú)法避免的,如從外部?jī)?nèi)容提供商下載資源時(shí)(如廣告服務(wù))。