JavaScript性能優化:度量、監控與可視化1

HTTP事務所須要的步驟:web

接下來,瀏覽器與遠程Web服務器經過TCP三次握手協商來創建一個TCP/IP鏈接,相似對講機的Over(完畢) Roger(明白)瀏覽器

TCP/IP模型服務器

TCP即傳輸控制協議(Transmission Con-trol Protocol)網絡

一旦TCP/IP鏈接創建,瀏覽器會經過該鏈接向遠程服務器發送HTTP的GET請求架構

遠程服務器找到資源並使用HTTP響應返回該資源,經常使用的有:ide

 •200表示來自服務器的成功響應; •404意味着服務器沒有找到請求的資源;•500表示執行請求時發生了錯誤。模塊化

IPv4和IPv6協議規定一個IP包的最大值爲65535字節,將你的總頁面大小轉化爲字節數,再除以最大IP包的字節值獲得服務器的響應次數函數

頁面中的每一項資源——每個圖片、外部JavaScript文件和CSS文件,都須要從服務器到本地走個來回。每項資源的請求都會開啓一個新的線程和一個新流程(flow)實例,而每個實例又會產生DNS查詢、TCP鏈接、HTTP請求和響應工具

1.2 解析與渲染性能

瀏覽器解析和呈現Web頁面架構(下圖) 瀏覽器架構處理UI(用戶界面)的代碼(包括了地址欄和回退(history)按鈕),用於解析和繪製頁面中全部對象的渲染引擎,解釋Javascript的JavaScript引擎,以及一個處理HTTP請求的網絡層

瀏覽器是自上而下讀取內容的,所以放置資源的位置會影響網站的訪問速度,若是將JavaScript標籤放在HTML內容的前邊,瀏覽器就會先調用JavaScript解釋器對JavaScript進行解析,完成以後纔會渲染其他的HTML內容

1.2.1 渲染引擎

瀏覽器架構能夠劃分爲多個模塊,一直以來,瀏覽器製造商也是經過組合模塊來構造瀏覽器的

Chrome和Safari使用Webkit渲染引擎http://www.webkit.org/

1.2.2 JavaScript引擎

JavaScript解釋器也應用了模塊化這一律念,也能夠嵌入到其餘工具中

Firefox的SpiderMonkey

Chrome的V8

1.3 運行時性能

所謂運行時(runtime)是指應用程序執行或運行的時長。運行時性能是指應用程序運行時對用戶輸入的響應速度(好比保存特性或訪問DOM中的元素時)

第2章 測量和影響性能的工具與技術

2.1 Firebug

2.2 YSlow

若要更深刻地分析網頁性能,可使用YS-low,能夠移植到大多數瀏覽器上http://yslow.org/,Google曾經開發了Page Speed相似於YSlow的產品

2.3 WebPagetest

http://www.webpagetest.org/

WebPagetest是一款Web應用程序,它將一個URL以及一系列配置參數做爲輸入,並對那個URL運行性能測試。WebPagetest可配置參數的數量很是多,範圍很是廣

2.4 縮減

須要縮減JavaScript

2.4.1 Minify

http://code.google.com/p/minify/

Minify,讀入JavaScript文件的URL。Minify剔除掉沒必要要的字符,並設置響應頭(response header)爲gzip編碼格式,返回結果給script標籤,並將結果加載到瀏覽器,要使用Minify,只須要從http://code.google.com/p/minify/網站上將它下載下來,將其解壓縮至/min文件夾並放到Web網站根目錄下,而後到/min/builder/目錄下打開Minify控制面板。在控制面板中,能夠添加你想要縮減的JavaScript文件,頁面生成可連接到JavaScript文件縮減後的腳本標籤

2.4.2 YUI Compressor

另外一個用於縮減的工具是Yahoo的YUI Com-pressor,能夠在這裏找到它:http://yuili-brary.com/download/yuicompressor/

2.4.3 Closure Compiler https://developers.google.com/closure/com-piler/ 它不只縮減了JavaScript,並且經過重寫進一步壓縮了JavaScript 優化策略——它將函數展開,重寫變量名,刪除從不會調用的函數(只要它能判斷)

2.5 R入門

http://cran.r-project.org/ 使用R進行數據可視化準

之後再填這個坑

相關文章
相關標籤/搜索