一恋腕、為什么要進行性能測試非迹?
????1、評估當前系統(tǒng)的能力
? ? 2、尋找性能瓶頸泉唁,優(yōu)化系統(tǒng)性能
? ? 3城豁、評估軟件是否滿足未來的需要
? ? 4吴旋、招聘需要
二矾策、什么是性能?
? ? 1悠咱、時間:系統(tǒng)處理用戶請求的響應時間
? ? 2蒸辆、資源:系統(tǒng)運行過程中征炼,系統(tǒng)資源的消耗情況
三、性能測試概念
? ? 通過自動化的測試工具模擬多種正常躬贡、峰值以及異常負載條件來對系統(tǒng)的各項性能指標進行測試
四谆奥、性能測試的分類
? ? 1、基準測試
? ? 2拂玻、負載測試
? ? 3酸些、穩(wěn)定性測試
? ? 4、壓力測試
? ? 5檐蚜、并發(fā)測試
五魄懂、性能測試的指標
? ? 響應時間
? ? 并發(fā)用戶數(shù)
? ? 吞吐量
? ? QPS
? ? TPS
? ? 點擊數(shù)
? ? 錯誤率
? ? 資源利用率
六、常用組件
? ? 1闯第、測試計劃
? ? 2市栗、線程組:
? ? ? ? 三個參數(shù):線程數(shù)、準備時長咳短、循環(huán)次數(shù)
? ? 3填帽、取樣器
? ? 4、監(jiān)聽器
? ? 5诲泌、斷言:json斷言盲赊、響應斷言
? ? 6、循環(huán)控制器敷扫、事務控制器
? ? 7、定時器
七诚卸、Jmeter組件參數(shù)化
? ? 1葵第、自定義用戶變量
? ? 2、CSV data set config
? ? 3合溺、函數(shù)小助手
八卒密、?Jmeter正則表達式提取? ${變量名}
? ? * 匹配前面的子表達式0個或多個
? ? + 匹配前面的子表達式1次或多次
? ? ? 匹配前面的子表達式0次或1次
? ? ()?標記一個子表達式的開始和結束位置
? ? . 匹配除\n 換行符之外的任何單字符
九、腳本錄制
? ? 方式:web端和app端
? ? app端:前提:需要電腦棠赛、手機在同一網絡上
????????????????1哮奇、給線程組添加錄制控制器
? ? ? ? ? ? ? ? ? ? ? ? 線程組→添加→邏輯控制器→錄制控制器
? ? ? ? ? ? ? ? ?2、添加http代理服務器
? ? ? ? ? ? ? ? ? ? ? ? 測試計劃→添加→非測試原件→http代理服務器→目標控制器
? ? ? ? ? ? ? ? 3睛约、查看ip鼎俘,設置移動端代理
? ? web端:使用badboy進行腳本錄制
十、數(shù)據(jù)庫壓測
? ? ? ? 線程組→添加→配置元件→JDBC Connection Configuration→變量名以及數(shù)據(jù)庫四大參數(shù)
? ? ? ? 線程組下面創(chuàng)建一個 JDBC Request 請求→池的變量名:${變量名}→查詢類型→SQL語句
? ? ? ? 添加監(jiān)聽器(察看結果樹)辩涝,查看結果
十一贸伐、?jmeter對服務器壓測(Windows)
? ? jmeter版本:5.4.1
? ? 1、資源
? ??JMeterPlugins-Extras.jar怔揩、JMeterPlugins-Standard.jar捉邢、jmeter-plugins-cmn-jmeter-0.7.jar放到apache-jmeter-3.0\lib\ext目錄下
? ??服務:ServerAgent-2.2.1
? ? 2脯丝、開啟服務的監(jiān)聽
? ? 3、給本地服務添加監(jiān)聽器jp@gc - PerfMon Metrics Collector
? ? 4伏伐、添加性能指標:CPU宠进、memory、磁盤 I/O藐翎、網絡速率
十二材蹬、jmeter對服務器壓測(Linux)