性能测试基本概念
一、性能測試的概念
? ? ??? 性能測試是通過自動化的測試工具模擬多種正常峰值及異常負載條件來對系統(tǒng)的各項性能指標進行測試。負載測試和壓力測試都屬于性能測試,兩者可以結合進行。
通過負載測試,確定在各種工作負載下系統(tǒng)的性能,目標是當負載逐漸增加時,測試系統(tǒng)各項性能指標的變化情況。壓力測試時通過確定一個系統(tǒng)的瓶頸或者不能接受的
性能點,來獲取系統(tǒng)能提供的最大服務級別的測試。性能測試主要包括負載測試、強度測試、容量測試。
?
二、性能測試的指標
? ? ? ??web服務器:
? ? ? ? ? ? Avg Rps: 平均每秒的響應次數 = 總請求數 /秒數;
? ? ? ? ? ? Avg time to last byte per terstion(mstes):?平均每秒業(yè)務腳本的迭代次數;
? ? ? ? ? ??Successful Rounds: 成功的請求;
??????????? Failed Rounds: 失敗的請求;
? ? ? ? ? ??Successful Hits: 成功的點擊次數;
? ? ? ? ? ??Failed Hits: 失敗的點擊次數;
? ? ? ? ? ??Hits Per Second: 每秒點擊次數;
? ? ? ? ? ??Successful Hits Per Second:每秒成功的點擊次數;
? ? ? ? ? ??Failed Hits Per Second: 每秒失敗的點擊次數;
? ? ? ? ? ??Attempted Connections: 嘗試連接數;
? ? ? ? ? ??Throughput: 吞吐率;
? ??? ??數據庫服務器:
? ? ? ? ? ? User Connections: 用戶連接數,也就是數據庫的連接數量;
? ? ? ? ? ? Number of Deadlocks: 數據庫死鎖;
? ? ? ? ? ??Butter Cache Hit: 數據庫Cache 的命中情況;
?
三、性能測試的流程
??????? 1.明確性能測試需求;
? ? ? ? 2.制定性能測試方案;
? ? ? ? ? ?2.1.測試范圍
? ? ? ? ? ?2.2.入口標準
? ? ? ? ? ?2.3.出口標準
? ? ? ? ? ?2.4.測試策略(測試環(huán)境指標、存量數據、業(yè)務場景、測試通過標準等)
? ? ? ? ? ?2.5.測試風險
? ? ? ? ? ?2.6.測試資源 ? ? ? ??
? ? ? ? 3.設計性能測試用例;
? ? ? ? 4.執(zhí)行性能測試用例;
? ? ? ? 5.分析性能測試結果;
? ? ? ? 6.生成性能測試報告;
?
四、性能測試的工具--JMeter
????????為什么是JMeter而不是LoadRunner呢 ?1.更少的投入,針對有限的測試成本; ?2.開源工具的可定制性無可比擬; ?3.通過社區(qū)得到最大程度的支持。
? ? ??? JMeter是Apache組織開發(fā)的基于Java的壓力測試工具。最初被設計用于web應用的測試,后來擴展到其他測試領域。可用于測試靜態(tài)和動態(tài)資源,如文件、Java服務
程序、Java對象、數據庫等。JMeter能夠對應用程序做功能/回歸測試,通過創(chuàng)建帶有斷言的腳本來驗證被測程序返回了期望的結果。而且為了保證最大限度的靈活性,
JMeter允許使用正則表達式創(chuàng)建斷言。
? ? ? ??
五、JMeter的特性
??????? 1.支持對多種服務類型進行測試;
?? ? ?? 2.支持通過錄制/回訪方式獲取測試腳本;
? ? ? ? 3.具備高可移植性,是純Java 程序;
? ? ? ? 4.采用多線程框架,允許通過多個線程并發(fā)取樣及通過獨立的線程組對不同的功能同時取樣;
? ? ? ? 5.精心設計的GUI支持高速用戶操作和精確計時;
? ? ? ? 6.支持緩存和離線的方式分析/回放測試結果;
? ? ? ? 7.高擴展性;
?
六、JMeter常用測試元件
1.線程組
? ? 用來管理執(zhí)行性能測試所需的JMeter線程。
? ? a.可以設置線程數量
? ? b.設置線程啟動周期
? ? c.設置執(zhí)行測試腳本的循環(huán)次數
2.控制器
? ? JMeter有兩種類型的控制器:采樣器和邏輯控制器。
? ? 采樣器被用來向服務器發(fā)送請求。JMeter采樣器包含:FTP Request、HTTP Request、JDBC Request等。
? ? 邏輯控制器用來控制JMeter的測試邏輯,特別是何時發(fā)送請求。
3.監(jiān)聽器
? ? 監(jiān)聽器提供了對JMeter在測試期間收集到的信息的訪問方法。
4.定時器
? ? JMeter線程在發(fā)送請求之間沒有間歇,通過添加定時器,設定請求之間應該間隔的時間。
5.斷言
? ? 可以使用斷言來檢查從服務器獲得的響應內容。
6.配置元件
? ? 配置元件與采樣器緊密關聯(lián)。雖然配置元件并不發(fā)送請求,但可添加或修改請求。
7.前置處理器
? ? 會在采樣器發(fā)出請求之前做一些操作。
8.后置處理器
? ? 會在采樣器發(fā)出請求之后做一些操作。
JMeter執(zhí)行順序:配置元件=》前置處理器=》定時器=》采樣器=》后置處理器=》斷言=》監(jiān)聽器
轉載于:https://www.cnblogs.com/111testing/p/6727860.html
總結
- 上一篇: 72v转12v20a可以接几个12的汽车
- 下一篇: 框架之 hibernate之二