前端性能測試


Hit與Click    我們打開一次網頁是一次Click,會產生很多Hit,頁面東西越多打開一次網頁產生的Hit數越多 

備注:web項目會有Hit與click數不一致的情況。接口測試一般是沒有圖片和樣式表的,一次click對應一個hit

HPS(Hits per second)   :每秒點擊數

問:工具比手工在瀏覽器中打開網頁的速度慢是什么原因?

問下用的是什么跑的,比如lr11之前版本跑開的通道2個,之后的版本是6個通道,瀏覽器開的6個通道, 速度肯定是不一樣的。

迅雷下載快開的通道快,lr通道少下載會超時,下載一般不用工具測

 

首頁是非資源請求,圖片樣式表等是資源類請求。  非資源請求對服務器壓力大,資源類主要是下載 消耗網絡資源,

不想把服務器壓死,人很多,每個業務間加間隔時間,  一分鍾內,請求次數少,壓力小,用戶正常運行,響應時間短,服務器沒什么壓力

想把服務壓死,不要停頓時間,或把圖片樣式表都去掉。

 

 web的前端性能:頁面渲染- ---和瀏覽器類型也有關系

                              js性能(Dynatrace Ajax Edition):能定位到js源碼的位置

 

做性能測試前,web項目,可先評估下前端性能,這個成本最低

可做個前端性能監控平台(通過頁面的形式把前端性能展示出來)

yslow工具:前端性能評估   統計一個頁面的前端性能情況

YSlow分析的是樣式表放的位置對不對。JS放的位置對不對,有沒有開啟壓縮,有沒有使用CDN服務器。有沒有一些空白的,比如src源碼等於空。有沒有加過期頭。都是一些前端網頁設計的優化部分。關心的是客戶端前端的設計問題

 

安裝yslow:

火狐瀏覽器中的插件:火狐瀏覽器版本12  firefox中=》裝firebug--》yslow

(火狐瀏覽器裝好后,把firebug直接拖到瀏覽器中安裝就可以,然后重新打開瀏覽器吧yslow拖瀏覽器中)

我們安裝下Firefox。裝好之后最好先去設置一下不讓它去檢查更新。我裝的是版本12

 

 

 

 yslow使用:

裝好之后再次打開火狐瀏覽器,就是會出現下圖這個頁面。然后點一下頁面中那個小蟲子按鈕就激活了。

 

接下來我們輸入一個地址,然后點蟲子按鈕激活。

我們做自動化測試,一般取元素的時候是先點下取元素按鈕,然后點下輸入框,就可以取到了。也可以取頁面中圖片元素,如果看的不順眼,也可以改改。這說做調試用的。

 

 

 

Firebug里面可以看到YSlow標簽。

想知道百度這個首頁多少分呢點上圖中的Run Test按鈕,告訴是A92分。

 

我們的核心不在於它得多少分而在於它為什么得這么多分是基於什么樣的標准來評判出來分數的

它是基於這23個規則來判斷的,你不滿足就給你扣分。它不是對整個網站評分的,是針對當前頁面評分的。你一個網站不同的頁面得分肯定是不一樣的。

它主要是針對前端進行評分的。它處有一個好就是你拿過公司的網站一評分得了50分,那肯定直接就不過關。最起碼要70分以上才行吧。

有一次打開一個公司網站48分,打開一個首頁7M數據,你想想如果用手機上網那的多費流量。

一會給大家發一本書,是一個老外寫的,專門寫着23個規則的。

我們來看看這23個規則。為什么的了76分。

 

第一個規則:網頁得了個DA是最高的,所有說這個網頁沒有符合這個規則,

規則的意思是減少http請求。什么意思呢?頁面上28個資源,產生28個請求吧,它是說你如果28個請求的話,你還不如有20個請求來的快一些,就是讓你減少請求的次數,或者說減少連接的次數。

那我們怎么怎么去減少請求的次數呢

合並。比如你有多個樣式表的話合並成一個。有多個js合並成一個;有多個圖片的話做成圖片地圖。

右側的規則描述:有4個額外的JavaScript建議嘗試去把他合並成一個。

減少頁面組件的次數可以更好的渲染這個頁面更快的去加載

我們看下慧測官網頁面聯系我們中的公司簡介乘車路線等文字描述是一個圖片。怎么能讓他分別顯示到這不同區域的三塊呢,這就是圖片地圖。

第二個規則:第二個規則得了F,最低了。

規則的意思是,你應該使用一個CDN服務器。

一般大型的網站都會用到CDN服務器像京東,假設京東總站在北京深圳的用戶想去訪問這個網站的時候大家都知道京東的網站上圖片最多如果都從北京下載圖片會撐爆的所有會在深圳那邊放一台服務器用來放圖片這上面的圖片和北京這邊是一模一樣的當深圳用戶訪問京東時首頁是從北京下載圖片是從深圳的服務器上下載頁面上的所有靜態資源都從離他最近的節點去下載

深圳的這個服務器就是CDN服務器。CDN是為了解決跨區域的限制。

像這種開發一般沒法改

下面這個規則意思是:避免空的src,應該去加載過期頭,什么是過期頭呢?

就是說這個資源加上一個過期時間意思是在這個時間還沒到的情況下以后就不再請求了。准備下載提高性能你不加的話他會認為這個時間過期了沒有啊他會去檢測的。你加過期頭,他就不再去檢測了。一般加過期頭,是針對咱們的靜態資源加過期頭。

再下一個規則:文件應該被壓縮。后面描述說有7個文本文件應該被壓縮。

下面還有一些規則比如把樣式表應該到最上面

JavaScript應該放到最下面。先渲染后執行。先去執行js會阻塞后面的渲染,頁面一片白。

這個規則看不懂沒關系我們到Tools里來。點Printable View(打出報告),如下圖:

 

 

直接給出報告然后告訴開發是紅字的都去修改吧紅字的代表都是需要去優化和提高的地方。這個報告沒法導出來,你可以另存為或直接截圖。

 

 

 

報告下面頁面上一共有31個組件,共199.7k都告訴你了,每個組件的大小都有。

ms是毫秒。148ms=0.148s

你也可以看看YSlow工具,組件這個地方。doc就是首頁。 22k,沒壓縮還是22k

 

可以看看百度的。如下圖,壓縮了吧。101.8k壓縮到33.9k。百度上很多東西都壓縮了。

圖片有時候會越壓縮越大,因為它的密度本身就很大了,就像一個鐵球。

所以我們可以在服務器端設置樣式表啊文本文件啊進行壓縮。圖片不進行壓縮。

 

dynatrace ajax edition工具:前端性能分析   

備注:ajax edition版免費,但是還需要注冊,注冊過期了還不能用,還需要重新注冊。可以裝到虛擬機里,注冊過期了就還原到之前的快照。

安裝后怎么打開:IE瀏覽器——》查看--》工具欄--》點dynatrace ajax 工具

使用:

1)在瀏覽器中打開要監控的網站,

2)點瀏覽器中的綠色按鈕(connect to AJAX Edition),啟動工具,起來后點確定,然后在瀏覽器上點要監控的網頁就行了,點完后關了瀏覽器就會在dynatrace中自動生成一個報告 

性能報告:會有個得分,可看到調用當前這個花的時間和當前這個調用后面一個花的時間。我們一般看他后面的有意義,比如你花了10s,你花了1s,你下面的函數花了9s,這里可以看到是哪段js花的時間比較長

 

 

PurePaths:這個是必須要看的,能看到 js花的時間,和這個js對應的源碼都能看到

Activity kind 是指什么花的時間,比如網絡、js、渲染Rendering

可以截個圖告訴開發,是Details這個js文件 ,花的時間是Duration【ms】,對應的源代碼

 

 

 showslow監控平台基於Linux搭建前端性能監控平台

showslow下安裝MySQL數據庫,yslow和dynatrace的數據都可以放到這個平台。比如showslow電腦的ip是192.168.8.105,輸入http://192.168.8.105/showslow能收集到yslow、pagespeed、dynatrace的數據

shoslow是php寫的,所以需要安裝apache

安裝:

1)下載showslow

放到var/www//html 下,解壓縮unzip showslow_1.2.zip

修改文件名mv showslow_1.2 showslow

cd showslow,修改配置文件

查看下配置例子文件:more config.sample.php  里面需要修改數據庫信息

復制一份配置文件出來:cp config.sample.php config.php

修改配置文件:vi config.php

庫名、用戶名root、密碼,我的數據庫密碼是空

備注:如果沒有數據庫,先建個庫,進入mysql:create database showslow;

更新下數據:http://192.168.8.105/showslow/dbupgrade.php

輸入訪問地址:http://192.168.8.105/showslow/

如果訪問不了,查看下日志:/var/log/httpd        tail -f error_log

 

2)打開火狐瀏覽器,在地址欄中輸入about:config,點頁面中的 我保證會小心  按鈕,然后就能在這里修改一些yslow的配置信息

配置好后,打開yslow 就會把信息自動發送到showslow的數據庫中

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM