首先看一個圖:
注:右圖在我們工作中經常用到
我們專注的web性能指標有那些?
1、頁面加載時間
從頁面開始加載到頁面onload事件觸發的時間。一般來說onload觸發代表着直接通過HTML引用的CSS,JS,圖片資源已經完全加載完畢。
2、全部頁面加載時間
全部頁面載入時間指從最初啟動瀏覽開始,直到所有元素都被加載完成后,在2秒后仍然沒有網絡活動的時間。
0-2秒:用戶體驗最好,打分100
2-8秒:用戶可以容忍,從第2秒開始,每超過1秒減5分
8-15秒:用戶不能忍受,從第2秒開始,每超過1秒減5分
3、首字節時間
從開始加載到收到服務器返回數據的第一字節的時間
達標時間=DNS解析時間+創建連接時間+SSL認證時間+100ms. 比達標時間每慢10ms減1分.
0-1秒:用戶體驗最好
1-2秒:用戶可以容忍
2-3秒:用戶不能容忍
4、使用長連接
連接視圖展現了頁面加載過程中創建的(keepalive)連接,以及通過每個連接所加載的資源。
5、DNS時間
進行域名解析所需要的時間
0-50毫秒 100分
50-500毫秒 一般,可能會影響用戶體驗,從50毫秒開始,每增加10毫秒則減去2分
500毫秒以上,嚴重影響⽤用戶的網頁體驗,從50毫秒開始,每增加10毫秒則減去2分
6、TCP時間
客戶端建立連接的時間
0-100毫秒 100分
100-500毫秒,一般,可能會影響用戶體驗,從100毫秒開始,沒增加10毫秒,減去1分
500毫秒以上,嚴重影響⽤用戶的網頁體驗,從100毫秒開始,每增加10毫秒,減去1分
7、HTTP網頁打分
頁面渲染、下載速度、頁面流暢度
8、綜合評分
以上評分的加權 計算值=全部頁面載入時間評分*0.2+首字節時間評分*0.2+使用了長連接*0.1+DNS時間評分*0.2+TCP時間評分*0.2+HTTP網頁評分*0.1
9、其他一些測量指標
請求時間
定義:所謂的請求時間是指用戶從三次握手到最后一次請求發出的這一段時
間,這個時間可以用於定位網絡問題。
網絡丟包率
定義:當前的網絡的丟包情況統計。
網絡時延
定義:當前網絡的時延。包括RTTc和RTTs。
RTTc
用戶到探針的傳輸時延
RTTs
探針到服務器的傳輸時延
可以關聯的其他指標
受影響的用戶數
所謂受影響,即當該業務的某個指標比較差時,有多少個用戶受到影響。通過
這個指標,可以進而得到具體受到影響的用戶是哪些。
受影響的站點數
即當網絡出現問題,或者是服務器出現問題時,有多少個站點受到影響。通過
這個指標,可以進而得到具體受到影響的站點是哪些。
還有什么指標呢?
簡單的說一個Web請求的處理包括以下步驟:
(1)客戶發送請求
(2)web server 接受到請求,進行處理;
(3)web server 向DB獲取數據;
(4)web server生成用戶的object(頁面),返回給用戶。給客戶發送請求開始到最后一個字節的時間稱為響應時間(第三步不包括在每次請求處理中)。
1.事務Transaction
2.請求響應時間
3.事務響應時間
事務可能由一系列請求組成,事務的響應時間主要是針對用戶而言,屬於宏觀上的概念,是為了向用戶說明業務響應時間而提出的.
例如:跨行取款事務的響應時間就是由一系列的請求組成的.
事務響應時間是直接衡量系統性能的參數.
4.並發用戶數
並發一般分為2
種情況。一種是嚴格意義上的並發,
即所有的用戶在同一時刻做同一件事情或者操作,這種操作一般指做同一類型的業務。比如在信用卡審批業務中,一定數目的擁護在同一時刻對已經完成的審批業務進行提交;還有一種特例,即所有用戶進行完全一樣的操作,例如在信用卡審批業務中,所有的用戶可以一起申請業務,或者修改同一條記錄。
另外一種並發是廣義范圍的並發。這種並發與前一種並發的區別是,盡管多個用戶對系統發出了請求或者進行了操作,但是這些請求或者操作可以是相同的,也可以是不同的。對整個系統而言,仍然是有很多用戶同時對系統進行操作,因此也屬於並發的范疇。
可以看出,后一種並發是包含前一種並發的。而且后一種並發更接近用戶的實際使用情況,因此對於大多數的系統,只有數量很少的用戶進行“嚴格意義上的並發”。對於WEB性能測試而言,這2種並發情況一般都需要進行測試,通常做法是先進行嚴格意義上的並發測試。嚴格意義上的用戶並發一般發生在使用
比較頻繁的模塊中,盡管發生的概率不是很大,但是一旦發生性能問題,后果很可能是致命的。嚴格意義上的並發測試往往和功能測試
關聯起來,因為並發功能遇到異常通常都是程序問題,這種測試也是健壯性和穩定性測試的一部分。
用戶並發數量:關於用戶並發的數量,有2種常見的錯誤觀點。
一種錯誤觀點是把並發用戶數量理解為使用系統的全部用戶的數量,理由是這些用戶可能同時使用系統;還有一種比較接近正確的觀點是把在線用戶數量理解為並發用戶數量。實際上在線用戶也不一定會和其他用戶發生並發,例如正在瀏覽網頁的用戶,對服務器沒有任何影響,但是,在線用戶數量是計算並發用戶數量的主要依據之一。
5.吞吐量
指的是在一次性能測試過程中網絡上傳輸的數據量的總和
.吞吐量/傳輸時間,就是吞吐率.
6.tps
7.點擊數PV
每秒鍾用戶向WEB服務器提 交的HTTP請求數.這個指標是WEB應用特有的一個指標:WEB 應用是"請求-響應"模式,用戶發出一次申請,服務器就要處理一次,所以點擊是WEB 應用能夠處理的交易的最小單位.如果把每次點擊定義為一個交易,點擊率和TPS就是一個概念.容易看出,點擊率越大,對服務器的壓力越大.點擊率只是一個性能參考指標,重要的是分析點擊時產生的影響。需要注意的是,這里的點擊並非指鼠標的一次單擊操作,因為在一次單擊操作中,客戶端可能向服務器發出多個HTTP請求.
8.資源利用率
性能項 命令 指標 CPU限制 vmstat 當%user+%sys超過80%時 磁盤I/O限制 Vmstat 當%iowait超過40%(AIX4.3.3或更高版本)時 應用磁盤限制 Iostat 當%tm_act超過70%時 虛存空間少 Lsps,-a 當分頁空間的活動率超過70%時 換頁限制 Iostat, stat 虛存邏輯卷%tm_act超過I/O(iostat)的30%,激活的虛存率超過CPU數量(vmstat)的10倍時 系統失效 Vmstat, sar 頁交換增大、CPU等待並運行隊列
性能項 資源 評價 CPU占用率 70% 好 85% 壞 90%+ 很差 磁盤I/0 <30% 好 <40% 壞 <50%+ 很差 網絡 <30%帶寬 好 運行隊列 <2*CPU數量 好 內存 沒有頁交換 好 每個CPU每秒
10個頁交換 壞 更多的頁交換 很差