使用Jmeter做性能測試的注意點

一、性能測試注意點
1. 用jmeter測試時使用BeanShell腳本獲取隨機參數值,會導致請求時間過長,TPS過低。應改為使用csv讀取參數值,記錄的TPS會更加準確。

? 注:進行性能測試時,應注意會影響請求時間的操作,盡量避免因為測試方法不當影響測試結果。

2. 進行穩定性測試前,盡量對Jmeter進行減負,避免運行時間過長,導致Jmeter卡死。

減負方式:

(1)參數寫死或者直接讀取csv的數值,減少程序負荷

(2)并發線程不要設置太高,設置200以下

(3)“察看結果樹”勾選“僅日志錯誤”,盡可能減少jvm內存使用

(4)可添加“Simple Data Writer”且保存為csv格式數據

(5)其他監聽組件可以都禁掉,通過保存的數據線下生成圖標報告

?3. 注意如果服務重啟后,PID會發生變化,通過命令行方式收集CPU、內存使用數據時,要使用最新的PID進行采集:

ps -ef | grep test ?查詢進程號,test為服務名關鍵字

top -b -d 1 -p 34012 > 1117_log ?其中34012為PID,1117_log為需要記錄的日志名(不存在會自動新建文檔)

4. 如果勾選了CPU等監聽組件,需要先啟動代理服務:

cd ../tmp/ServerAgent-2.2.3

執行./startAgent.sh

5.使用jp@gc - PerfMon Metrics Collector性能測試工具時,要在運行壓力測試前開啟性能監控,否則可能會造成壓力測試期間的性能測試數據缺失而造成性能分析不準確。

6. 進行壓力測試時,逐步增加并發量,直至能夠明顯看出性能瓶頸為止

二、性能指標分析

聚合報告各項性能指標

聚合報告常用指標

Label

每個JMeter的element(例如 HTTP Request)都有一個Name屬性,這里顯示的就是Name屬性的值

Samples

請求次數(=線程數*循環次數)

Average

平均響應時間

Median

中位數,也就是50%用戶的響應時間

90% Line

90%用戶的響應時間

95% Line

95%用戶的響應時間

Min

最小響應時間

Max

最大響應時間

Error%

本次測試中出現錯誤的請求的數量/請求的總數

Throughput

吞吐量——默認情況下表示每秒完成的請求數(Request per Second)

KB/Sec

每秒從服務器端接收到的數據量

接口性能測試指標一般通過標準:

性能測試指標通過標準

需滿足的并發數
(舉例:每天8W用戶訪問,平均在線時長10分鐘,1天用戶24小時內使用系統)
C = 80000 * 0.166/24=553
注:0.166為10/60得出

C = nL/T
C^= C + 3*根號C?
其中C為平均并發用戶數,n為login session的數量,L是login session的平均長度,T是值考察的時間長度
C^為并發用戶數峰值

需要滿足的TPS
TPS = (80000*80%)/(20%*8*60*60)=11/sec

根據二八原則:
20%常用時間,滿足80%業務量
TPS = n*80%/(20%*活躍時間*60*60)
注:活躍時間一般為8小時

響應時間

根據在并發情況下的響應時間2/5/10原則,最長不能超過10s

錯誤率

具體系統具體要求,一般小于萬分之一

緩存命中率

具體系統具體要求,一般大于85%通過

CPU占用率

70% 好,85% 壞,90%+ 很差

內存使用率

一般小于80%通過
?

?感謝每一個認真閱讀我文章的人!!!

?我個人整理了我這幾年軟件測試生涯整理的一些技術資料,包含:電子書,簡歷模塊,各種工作模板,面試寶典,自學項目等。歡迎大家點擊下方名片免費領取,千萬不要錯過哦。

?文檔獲取方式:點擊右邊鏈接領取:軟件測試全套資料分享??????

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/210564.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/210564.shtml
英文地址,請注明出處:http://en.pswp.cn/news/210564.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

[JVM 基礎 - Java 類加載機制]

這篇文章將帶你深入理解Java 類加載機制。 JVM 基礎 - Java 類加載機制 類的生命周期 類的加載: 查找并加載類的二進制數據連接 驗證: 確保被加載的類的正確性準備: 為類的靜態變量分配內存,并將其初始化為默認值解析: 把類中的符號引用轉換為直接引用初始化使用卸…

1-4、JDK目錄結構

語雀原文鏈接 文章目錄 1、目錄結構2、JDK中rt.jar、tools.jar和dt.jar作用3、bin目錄部分說明(基本工具) 1、目錄結構 bin目錄:包含一些用于開發Java程序的工具,例如:編譯工具(javac.exe)、運行工具 (java.exe) 、打…

菜鳥學習日記(python)——循環語句

python中的循環語句包括for循環語句和while循環語句,但是python中是沒有do...while循環語句的。 while循環語句 while循環語句的一般格式為; while condition:loop body condition是循環判斷條件,loop body是循環體。 當循環條件成立時,…

基于ssm的彩妝小樣售賣商城的設計與實現論文

摘 要 隨著科學技術的飛速發展,各行各業都在努力與現代先進技術接軌,通過科技手段提高自身的優勢;對于彩妝小樣售賣商城當然也不能排除在外,隨著網絡技術的不斷成熟,帶動了彩妝小樣售賣商城,它徹底改變了過…

RUST博客帖子編輯示例

狀態模式(state pattern)是一種面向對象的設計,它的關鍵點在于:一個值擁有的內部狀態由數個狀態對象(state object)表的而成,而值的行為則隨著內部狀態的改變而改變。 下面的示例用來實現發布博…

Leetcode—231.2的冪【簡單】

2023每日刷題&#xff08;五十四&#xff09; Leetcode—231.2的冪 實現代碼 class Solution { public:bool isPowerOfTwo(int n) {if(n < 0) {return false;}long long ans 1;while(ans < n) {ans * 2;}if(ans n) {return true;}return false;} };運行結果 之后我會…

時間序列預測專欄介紹 — 算法原理、源碼解析、項目實戰

專欄鏈接&#xff1a;https://blog.csdn.net/qq_41921826/category_12495091.html 專欄內容 所有文章提供源代碼、數據集、效果可視化 文章多次上熱搜榜單 時間序列預測存在的問題 現有的大量方法沒有真正的預測未來值&#xff0c;只是用歷史數據做驗證 利用時間序列分解算法存…

【Vue第3章】使用Vue腳手架_Vue2

目錄 3.1 初始化腳手架 3.1.1 說明 3.1.2 具體步驟 3.1.3 模板項目的結構 3.1.4 筆記與代碼 3.1.4.1 筆記 3.1.4.2 01_src_分析腳手架 3.2 ref與props 3.2.1 ref 3.2.2 props 3.2.3 筆記與代碼 3.2.3.1 筆記 3.2.3.2 02_src_ref屬性 3.2.3.3 03_src_props配置 3…

根據應聘者的姓名和所學專業判斷是否需要這樣的程序設計人員

一、程序分析 導入Scanner函數&#xff0c;分別輸入應聘者的姓名和應聘者所學的程序設計語言。 二、具體代碼 import java.util.Scanner; public class Recruitment {public static void main(String[] args){try (Scanner scan new Scanner(System.in)) {System.out.prin…

Spring Boot 3 整合 Mybatis-Plus 實現動態數據源切換實戰

&#x1f680; 作者主頁&#xff1a; 有來技術 &#x1f525; 開源項目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 倉庫主頁&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 歡迎點贊…

1-5、JDK API文檔

語雀原文鏈接 文章目錄 jdk1.8中文.CHM JDK8中文在線文檔&#xff1a;https://www.matools.com/api/java8Java11中文在線文檔&#xff1a;https://www.matools.com/api/java11

CEEMDAN-Transformer時間序列預測實戰完整代碼數據可直接運行

項目視頻講解: CEEMDAN-Transformer時間序列預測實戰完整代碼數據_嗶哩嗶哩_bilibili 完整代碼: import pandas as pd import numpy as np from sklearn.model_selection import train_test_split from sklearn.preprocessing import MinMaxScaler import torch import to…

ROS-log功能區別

ROS使用rosout包來記錄各個節點的log信息&#xff0c;通常這些log信息是一些可以讀懂的字符串信息&#xff0c;這些信息一般用來記錄節點的運行狀態。 ROS有五種不同類型的log信息&#xff0c;分別為&#xff1a;logdebug、loginfo、logwarn、logerr、logfatal。 等級由低到高&…

GO設計模式——6、原型模式(創建型)

目錄 原型模式&#xff08;Prototype Pattern&#xff09; 優缺點 使用場景 注意事項 代碼實現 原型模式&#xff08;Prototype Pattern&#xff09; 原型模式&#xff08;Prototype Pattern&#xff09;是用于創建重復的對象&#xff0c;同時又能保證性能。這種類型的設計…

m_map導入本地地形數據

m_map繪制地形圖時&#xff0c;雖然自帶有1的地形圖以及從NOAA下載的1分的地形圖&#xff08;詳見&#xff1a;Matlab下地形圖繪圖包m_map安裝與使用&#xff09;&#xff0c;但有時需要對地形圖分辨率的要求更高&#xff0c;便無法滿足。 此時&#xff0c;需要導入本地地形數…

算法Day22 星南二樓(最長升序子序列)

星南二樓&#xff08;最長升序子序列&#xff09; Description Input Output Sample 代碼 import java.util.*;public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] grid new int[n];for(int j0;j&l…

selenium火狐避免被檢測向ChartGPT的有效提問

問題描述 當我們問 ChartGPT 如果解決 selenium 被屏蔽問題的時候&#xff0c;它總是回答解決問題的方向&#xff0c;沒有給出具體怎么用代碼實現。 問題原因 1、可能是描述不清晰 沒有告訴GPT使用什么編程語言&#xff0c;沒有說明使用火狐還是谷歌瀏覽器&#xff0c;沒有…

深入解析NK模型:復雜適應性系統的演化之謎

NK模型是一種用于研究復雜適應性系統的數學模型&#xff0c;最初由生物學家 Stuart Kauffman 于1993年提出。這模型的目的是模擬生物進化過程中的復雜性&#xff0c;并通過網絡結構和相互作用來研究解空間的性質。 目錄 一、NK模型介紹1. 模型基礎2. 模型參數3. 適應性函數4..…

ubuntu里安裝docker

1、更新軟件包 在終端中執行以下命令來更新Ubuntu軟件包列表和已安裝軟件的版本: sudo apt update sudo apt upgrade 2、安裝docker依賴 Docker在Ubuntu上依賴一些軟件包。執行以下命令來安裝這些依賴: apt-get install ca-certificates curl gnupg lsb-release 3、添加Do…

postman接口自動化測試

Postman除了前面介紹的一些功能&#xff0c;還有其他一些小功能在日常接口測試或許用得上。今天&#xff0c;我們就來盤點一下&#xff0c;如下所示&#xff1a; 1.數據驅動 ? ? 想要批量執行接口用例&#xff0c;我們一般會將對應的接口用例放在同一個Collection中&#xf…