性能測試:
初級:編寫腳本,執行腳本
中級:場景設計,環境搭建(服務環境,監控環境,網絡環境),性能執行,部分性能分析與調優
高級:腳本編寫,環境,場景,性能分析與調優(重點)
團隊調優:性能測試人員協調,架構師+產品經理+項目經理+DBA+性能測試人員
性能測試准備/步驟:
1. 把控性能需求准備性是否准確(可以用運維的數據來確定需求准確性)
2. 確認性能測試的目的
3. 腳本編寫,
4. 場景設計,搭建環境(獨立環境)
5. 搭建監控
6. 性能分析(性能測試執行,問題分析調優)
性能測試的關鍵項研究:
1. 核心功能 + 用戶使用量高
2. 架構調整
3. 重大缺陷修復
4. 性能指標量化(量化到數字)
確定:並發用戶數范圍,平均響應時間范圍,錯誤率范圍,資源利用率范圍,TPS范圍.......
性能測試環境:
獨立測試環境,獨立測試網絡(避免代理或VPN導致的瓶頸)
性能人員需掌握linux環境搭建,硬件配置盡可能與生產機保持一致
性能概念:
IT的性能概念:
直觀感受:響應時間,穩定性,支持多少人使用
注:端性能測試,一般不好直接作為性能指標判斷,因為可變因子太多了,前端做測試的相對較少,因為它不具備普遍性
***做后端服務器的性能測試能普遍提升用戶端的性能
***接口 采用 協議,傳遞數據到服務器,收到響應
1、概念:用不同的角度,來衡量被測對象,給出一些數據,通過數據判斷性能的好壞。
2、性能測試:通過工具,找出或獲得系統不同情況下的性能指標
通過工具:服務端性能測試,是要用【多用戶】發起請求,如果發起的請求用戶只有1個,就不是性能測試
100個人,請求1次,==== 才是性能測試(是性能測試)
1個人,請求100次,==== 不是性能測試(100的線程使用同一個身份信息對於被測服務器來說收到的是1個用戶,前面的身份信息會失效或被提出或其他錯誤,導致數據不准確,或身份信息被鎖死(線程鎖和數據庫鎖)--前一個信息未處理完,后面數據又過來會鎖死,導致時間變長)
jmeter工具:使用線程來模擬多用戶
loadrunner工具:使用線程或進程來模擬多用戶
ngrinder工具:使用進程+線程組合方式來模擬多用戶
loust工具:使用協程來模擬多用戶
找出或獲得:
第一次做性能測試,得到的數據,找出性能數據
不是第一次做性能測試,獲取新的性能測試數據
數據(性能指標):從不同角度衡量服務器性能數據
時間:平均響應時間數據
同一時間有多少用戶數請求:並發用戶數QPS數據
服務器每秒能處理多少個事務:TPS數據
服務器在一段時間中,資源使用情況:資源利用率數據
網絡:吞吐量,吞吐率
運行時間:
使用的並發用戶數,做性能測試,只需幾分鍾到十幾分鍾
性能測試完成后,會得到一批性能指標數據。
多少在線用戶與多少在線使用用戶的區別?
在線用戶:在線,但不請求(掛機);在線,同時請求
在行業中,一般在線用戶數的5%-10%作為並發用戶數
二八法則:前端性能測試,前端調用接口請求服務器(80%的請求在20%的時間內:一天訪問100W,80%的請求在24*20%的時間內)
服務端性能測試,不用二八法則
在線使用用戶:
並發:同一時間點有多少個請求
並行:在不同的通道上同時處理
3、負載測試概念:
通過逐步增加並發用戶數,來找出最大用戶數區間
關鍵詞:逐步增加
測試步驟:在不知道系統支持的多少並發數時,先做負載測試,找出最大並發數,然后用最大並發數來運行性能測試,從而得到性能指標值
1. 一般而言,產品日總訪問量大概在百萬級別,接口的並發數只有幾十到幾百的並發數
區間判斷: 最大可接受的並發用戶數
1. 看請求的結果是否有連續性的報錯出現
2. 當前並發用戶數的平均響應時間不超過1.5s (APDEX用戶滿意度指數1.5s)(行業默認標准—http協議的響應時間)(大數據測試除外)
3. 服務器處理事務TPS趨勢是否有明顯的下降
請求數與並發數區別?
1. 並發用戶數,在一段時間發送多少請求,與頻率有關
2. 總請求數 = 並發用戶數 x 頻率 x 時間
具體區間:
1. 用區間下沿 與 區間上沿 再設計一個負載場景,這時,步長變短
運行時間:
1. 一般幾十秒到幾分鍾
4、壓力測試概念:無指標,看是否宕機(因為生產機一直運行)
使用一定量的並發數用戶數,持續運行一段時間,看服務器的穩定性
關鍵詞:持續運行(現在以小時為單位,以前以天為單位)
測試步驟:產品的最大可接受的並發數,(一般為為80%的並發數)
運行時間:幾個小時到天
注:穩定性測試是壓力測試的一種,它的一個子集
5、壓測概念:
企業中的壓測
1. 首先,不知道最大並發數,先做負載測試
2. 然后,用最大可接受的並發數,做性能測試,獲取性能指標值
環境有宕機情況,做壓測
1. 壓測:負載測試 + 性能測試 + 壓力測試
6、容量測試概念:
數據庫的數據量級別,萬級,十萬級,百萬級
1. 索引:未加索引,影響查詢效率
2. 相關表數據量:與生產環境的數據庫的表數據量級別保持一致或更高
性能測試:廣義指所有的概念:壓力測試,負載測試,容量測試
狹義指的是負載測試
