近幾年來,Web應用程序的性能變得越來越重要,甚至比業務還重要,因為搜索引擎(如Google)在排名時,會將網站的性能因素納入考慮,最終形成了“性能=更好的可見性=更多的用戶=更多的收入”這樣的連環效應。
網站性能測試的最佳辦法是看幾個能告訴你網站快慢的KPI(Key Performance Indicators,關鍵性能指標),這些指標由Web性能專家(如Steve Souders)和公司(如Google,Yahoo)推動的,其中頁面載入時間,網絡往返次數,傳輸內容的大小是衡量一個Web頁面性能的重要指標。dynaTrace AJAX版本擴展了現有KPI列表,包括可測量首次顯示時間,完全載入時間,JavaScript執行時間等。
載入時間方面的KPI
從最終用戶性能的角度來看,訪問一個網站會經歷3個有趣的階段,dynaTrace AJAX版本在TimeLine視圖中可視化展示了頁面載入的不同階段,這里我突出顯示了首次顯示時間,onLoad時間和完全載入時間,如下圖所示。
圖1 訪問一個網頁的整個過程
1、首次顯示時間
這個時間等于在瀏覽器地址欄輸入URL按回車到用戶看到網頁的第一個視覺標志為止,第一個視覺標志是瀏覽器的第一個繪制活動,瀏覽器繪制內容的起始時間取決于原始的HTML文檔,不同的策略有不同的最佳實踐,例如Google會先下載一個極簡的頁面提供快速的第一視覺呈現,在onLoad后再延遲加載更多的內容,有時甚至是用戶已經開始與網頁交互了才加載剩下的內容。
2、onLoad事件時間
這個時間是直到瀏覽器觸發onLoad事件的時間,當原始文檔和所有引用的內容完全下載后才會觸發這個事件,JavaScript onLoad處理程序使用這個事件操作頁面的當前初始狀態。
3、完全載入的時間
這個時間等于直到所有onLoad JavaScript處理程序執行完畢,所有動態的或延遲加載的內容都通過這些處理程序觸發的時間,有時要精確確定一個頁面的完全載入時間是很困難的,特別是當JavaScript處理程序使用了不斷修改頁面的操作時,如實時股票顯示。