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