性能學習-瞭解前端性能測試

   原文:http://www.wangyuxiong.com/archives/51405css

   原文:http://www.cnblogs.com/fnng/archive/2012/07/11/2587196.htmlhtml

  性能測試一直是Web應用中很是受關注的部分,目前大多數人對於性能測試還主要集中在服務器端,重點都會放在服務器端的性能測試與調優,但實際上,除了考慮服務端在足夠短的時間內返回頁面數據以外,還能夠從頁面前端考慮。前端

     從用戶的感覺來看,雖然傳輸速度受用戶帶寬的限制。但咱們能夠經過不少技術來使用戶想要看到的頁面更快的顯示web

   Web應用的基礎是超文本傳輸協議(HTTP)和超文本標記語言(HTML),HTTP協議自己是一種面向非鏈接的協議,HTML語言則是一種用於製做超文本文檔資料的簡單標記語言。瀏覽器

  對於一個頁面而言,「請求」與「返回數據」均可能屢次發生,因爲HTTP對瀏覽器下載資源併發請求數量、Cache等方面都進行定義和限制,以及瀏覽器對於HTML的處理過程因此說,用戶因此感覺的響應時間中的至關大的一部分並不徹底取決於應用的後臺處理所須要的時間安全

  前端性能測試的執行工具備 YSlow,Page Speed ,dyna Trace AJAX Edition,webload,這些關注的性能點有所不一樣,全部有了將這些工具產生的數據收集起來的工具----showslow---收集數據生成報表服務器

  如今的一些思路:網絡

  一、須要測試的URL可能比較多,因此每次手動添加刷新不太靠譜,因此須要自動化併發

  二、安裝執行插件:FireBug,YSlow,pagespeed,dynatrace負載均衡

  三、搭建一個showslow,用於收集數據生成報表

前端性能指標說明

  一、Dynatrace時間

    ①首次顯示時間(Time to First Impression):在瀏覽器地址欄輸入URL按回車到用戶看到網頁的第一視覺標誌爲止

    ②onLoad事件時間(Time to onLoad Event):這個時間是知道瀏覽器觸發onload事件的時間,當初始文檔和全部引用的內容徹底下載後纔會觸發這個時間

    ③徹底載入時間(Time to Fully Loaded):等於知道全部的onLoad JavaScript處理程序執行完畢,全部動態的或延遲加載的內容都經過這些處理程序觸發的時間

  二、頁面大小:組成頁面的全部資源總大小,圖像/css/js的大小也能夠單獨成爲一個指標

  三、請求數量:從網站下載資源時全部網絡請求的總數,儘可能少

  四、網絡方面的指標(yslow中的一些指標的意義)

    ①DNS時間:託管網站資源的每一個域名都會發生一次DNS查找,若是你在多個網頁之間移動,當前一個頁面已經請求過一次DNS查找後,瀏覽器不會再對同一個域名請求另外一個DNS查找,但經過查看整體DNS時間,能夠肯定是否存在DNS查找時間問題,有可能牽出DNS配置不當的問題

    ②鏈接時間:根據瀏覽器和資源的大小不一樣,瀏覽器可能會在域名上創建一到多個鏈接,鏈接時間就是瀏覽器與Web服務器創建TCP/IP鏈接的時間,鏈接一般會保持打開狀態,除非Web服務器命令瀏覽器關閉鏈接。當使用SSL創建安全通訊時,鏈接時間也包括SSL握手時間,鏈接時間過長有如下緣由:到Web服務器的網絡連接速度較慢,使用了SSl,不容許瀏覽器保持鏈接打開

    ③服務器時間:高服務器時間意味着Web/應用程序服務器須要很長的時間請求處理,監視服務器時間對於找出性能瓶頸和應用程序的擴展問題是相當重要的,經過增長Web服務器實現負載均衡,使靜態內容的擴展是很容易的,固然也能夠購買CDN加速服務來達到一樣的目的,但以這種方法實現動態應用程序擴展就行不通

    ④傳輸時間:這個時間與傳輸內容的大小、瀏覽器與服務器之間的連接速度緊密相關,保持低傳輸時間是確保頁面快速載入的關鍵,能夠經過減少總的頁面大小,或者經過CDN將內容擋在離最終用戶較近的地方改善傳輸時間

    ⑤等待時間:等待時間與相同域名下資源的數量直接相關,受瀏覽器同一域名物理網絡連接數的限制,訪問某個資源時可能必須等待另外一個鏈接的釋放,減小資源的數量,或將資源分佈在多個域名商,能夠有效較少等待時間 

    ⑥域名的數量:託管網站資源域名的數量也很重要,由於它會影響DNS,鏈接和等待時間,要下載的資源使用額外的域名將會直接減小等待時間

相關文章
相關標籤/搜索