Jmeter壓測手冊:腳本配置、服務器環境搭建與運行

????????本文記錄了我在新公司的首次壓測遇到的一些問題以及解決方案。公司服務部署在國外,網絡延遲導致的壓不上去,需要本地調試腳本,然后用國外服務器壓測的過程。同時記錄了過程中遇到的一些問題,特別是Jmeter本身占用CPU資源,需要修改參數。

安裝包

Jmeter包,已調好配置參數:

通過網盤分享的文件:apache-jmeter-5.6.3.zip
鏈接: https://pan.baidu.com/s/1-L6ASOdnBwvWi5_gpAW1gw?pwd=4uce 提取碼: 4uce?
--來自百度網盤超級會員v3的分享

腳本配置

1、新建線程組

2、腳本配置

新加HTTP請求

腳本配置

添加請求頭

添加參數化

注意用相對路徑,因為要拷貝到遠程機器運行,絕對路徑會找不到文件,運行不起來,還沒報錯。

3、壓測報表

虛擬機配置

安裝Java環境

1、先從官網下載jdk1.8.0_131.tar.gz,再從本地上傳到Linux服務器

2、解壓:tar -xzf?jdk1.8.0_131.tar.gz,生成文件夾?jdk1.8.0_131

jdk存放目錄:/home/azureuser/jmeter/jdk1.8.0_451

修改配置:vi /etc/profile

export JAVA_HOME=/home/azureuser/jmeter/jdk1.8.0_451

export PATH=$JAVA_HOME/bin:$PATH

加載配置 : source /etc/profile

查看是否安裝成功:java -version

安裝Jmeter

1、本地Jmeter打包。最好用跟本機一樣的jmeter,不會出現插件不一致等導致的運行不起來

2、傳到服務器

3、解壓縮

?tar -xvzf apache-jmeter-5.6.3.tgz?

unzip

jmeter路徑:/home/azureuser/jmeter/apache-jmeter-5.6.3

4、配置Jmeter環境變量。

vi /etc/profile,再添加如下變量

export JMETER_HOME=/home/azureuser/jmeter/apache-jmeter-5.6.3

export CLASSPATH=$JMETER_HOME/lib/ext/ApacheJMeter_core.jar:$JMETER_HOME/lib/jorphan.jar:

export PATH=$JMETER_HOME/bin:$JAVA_HOME/bin:$PATH

5、source /etc/profile (讓配置文件立馬生效)

6、查看是否安裝成功,執行命令:jmeter -v

設置Jmeter啟動內存

1.創建setenv.sh文件

在jmeter的bin目錄下新建setenv.sh配置文件,在文件中配置jvm參數

export JVM_ARGS="-Xms4096m -Xmx4096m -XX:MaxMetaspaceSize=2048m"

大小參考本機可用內存,50%-70%之間

修改Jmeter參數

?1、system.properties

增加mode=StrippedBatch

2、解決timewait問題
修改所有jmeter主機-負載機配置 使用httpclient4客戶端
jmeter.properties
httpclient4.time_to_live=300000
httpclient4.validate_after_inactivity=1000
httpclient4.request_sent_retry_enabled=true
httpclient4.retrycount=2
hc.parameters.file=hc.parameters
httpclient.reset_state_on_thread_group_iteration=false

3、hc.parameters
http.connection.stalecheck$Boolean=true

4、客戶端配置

運行jmeter

jmx文件單獨放/home/azureuser/jmeter/jmx
jmeter安裝于/home/azureuser/jmeter/apache-jmeter-5.6.3

本地文件上傳到服務器,注意使用到的數據文件也要傳過去,可以整個目錄傳(使用的ssh軟件:electerm)

進入 jmx所在目錄

jmeter -n -t hawbTracks.jmx -l result_hawbTracks_05310813.jtl -L DEBUG

jmeter -n -t hawbTracks.jmx -l result_hawbTracks_05312207.jtl -e -o ./result? 生成html報告,result 目前提前清空

jmeter -n -t hawbTracks.jmx -l result_hawbTracks_06031927.jtl -e -o ./06031927_result

監控查看

1、壓測指標QPS、RT。關注響應時間增加明顯,QPS增量低,無需再加QPS,防止壓掛服務器。

2、服務器情況查看

機器情況以Grafa查看

服務qps、響應,以及響應時間明細用skywalking查看

3、從網關層壓測,所以網關服務器性能也需要關注下

4、壓測服務器的性能也需關注下。可以開多個窗口,top命令看服務器情況

常見命令:

top:本機性能指標查看,1 - 每個cpu指標查看,MiB Mem-內存查看

ps -ef pid : 進程查看

報告查看

1、報告回傳到本機

2、打開jtl文件

3、result中index.html瀏覽器打開

使用jmeter -n -t hawbTracks.jmx -l result_hawbTracks_05312207.jtl -e -o ./result? 生成html報告,可以直接查看

問題記錄

1、網絡損耗

本地壓測由于是中國網段壓測美國網段,網絡損耗巨大。對比如下:

本地壓測情況,3個并發

服務器壓測情況,壓測服務器與被壓測服務器都在美國

對比發現,網絡損耗在600ms。所以需要使用同區域壓測服務器來壓,得到真實的性能情況。

2、Jmeter中響應時間疑惑

現象:本地Jmeter壓測時間穩定在600ms左右,但是POSTMAN是偶爾600ms多,多數在200ms。

原因:Postman接口發送使用的端口,會有鏈接緩存,不會每次新建連接。現象上佐證:隔段時間請求是600+ms,不間隔再次訪問是200ms。

3、服務端Jmeter運行報錯,jp@gc組件找不到

原因:運行的官網下載的jmeter,里面沒有相關組件導致

4、服務端Jmeter運行無數據生成,無報錯,直接停止了

配置的腳本的,csv文件配置的windows中絕對路徑,拷貝到linux上,找不到文件,導致運行不起來。

5、壓測機本身性能問題,導致QPS上不去

1、關閉部分java程序。 ps -ef pid查看進程信息

2、增加jmeter內存大小

3、多臺機器壓測

4、修改jmeter配置 - 有用

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

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

相關文章

立定跳遠--二分枚舉答案+cehck

P10909 [藍橋杯 2024 國 B] 立定跳遠 - 洛谷 #include<bits/stdc.h> using namespace std; #define N 100011 typedef long long ll; typedef pair<int,int> pii; int n,m; int a[N]; int an; bool check(int l) {int pos0;int c1;int wm;for(int i1;i<n;i){if…

藍橋杯20112 不同的總分值

問題描述 在今年藍橋杯的決賽中&#xff0c;一共有 10 道題目&#xff0c;每道題目的分數依次為 5 分&#xff0c;5 分&#xff0c;10 分&#xff0c;10 分&#xff0c;15 分&#xff0c;15 分&#xff0c;20 分&#xff0c;20 分&#xff0c;25 分&#xff0c;25 分。 假設某…

[論文閱讀] 系統架構 | 零售 IT 中的微服務與實時處理:開源工具鏈與部署策略綜述

零售IT中的微服務與實時處理&#xff1a;開源工具鏈與部署策略綜述 論文信息 Microservices and Real-Time Processing in Retail IT: A Review of Open-Source Toolchains and Deployment Strategies Aaditaa Vashisht (Department of Information Science and Engineering, …

【面板數據】A股上市公司注冊地所在地數據集(1991-2023年)

數據簡介&#xff1a;上市公司注冊地所在地數據指企業在工商行政管理部門登記注冊的法定住所信息&#xff0c;涵蓋省、市、區三級行政區劃及詳細地址。該數據是公司法律身份的核心標識&#xff0c;直接影響稅務管轄、訴訟歸屬、政策適用及市場準入等關鍵環節。更是連接企業行為…

21、Create React App的使用

Create React App 是官方支持的創建單頁 React 應用程序的方法。提供了一個現代的構建設置&#xff0c;無需配置。它雖然只是一個包&#xff0c;但不建議全局安裝。如果本地安裝過可先卸載&#xff0c;這樣能保證每次創建項目時使用最新版本的功能。 開始使用 可以使用npx&…

CSS盒子 flex彈性布局

使用flex彈性布局頁面效果圖&#xff08;源代碼在文章末尾&#xff09;&#xff1a; 目錄 flex彈性布局 一、基本容器 二、設置主軸方向 三、設置主軸對齊方式 四、設置交叉軸上的對齊方式 flex彈性布局 一、基本容器 Flexbox 是 CSS3 引入的一種一維布局模型&#xff0…

數據結構與算法-線性表-線性表的應用

1 線性表 1.5 線性表的應用 1.5.1 線性表的合并 【算法步驟】 分別獲取 LA 表長 m 和 LB 表長 n 。從 LB 中第 1 個數據元素開始&#xff0c;循環 n 次執行以下操作&#xff1a; 從 LB 中查找第 i 個數據元素賦給 e &#xff1b;在 LA 中查找元素 e &#xff0c;如果不存在&…

流數據機器學習框架 CapyMOA

環境準備: pip install capymoa 使用 HoeffdingTree 對流數據做在線分類: from capymoa.streams import FileStream from capymoa.learners import HoeffdingTreeClassifier from capymoa.evaluation import ProgressiveEvaluator# 1. 構造流&#xff1a;假設 data/stream…

QEMU源碼全解析 —— 塊設備虛擬化(27)

接前一篇文章:QEMU源碼全解析 —— 塊設備虛擬化(26) 本文內容參考: 《趣談Linux操作系統》 —— 劉超,極客時間 《QEMU/KVM源碼解析與應用》 —— 李強,機械工業出版社 Virt

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana

Cilium動手實驗室: 精通之旅---19.Golden Signals with Hubble and Grafana 1. Lab 環境2. 部署測試應用2.1 7層可見性的網絡2.1.1 允許所有命名空間2.1.2 DNS 可見性2.1.3 L7-egress-visibility 2.2 檢查 Deployments2.3 在 Hubble UI 中查看 3. Grafana 選項卡3.1 Grafana 中…

常見文件系統格式有哪些

PART.01 常見文件系統格式有哪些 常見的文件系統格式有很多&#xff0c;通常根據使用場景&#xff08;Windows、Linux、macOS、移動設備、U盤、硬盤等&#xff09;有所不同。以下是一些主流和常見的文件系統格式及其特點&#xff1a; 一、Windows 常見文件系統格式 Digital …

React Native 彈窗組件優化實戰:解決 Modal 閃爍與動畫卡頓問題

&#x1f4cc; 前言 在移動端開發中&#xff0c;用戶對動畫的流暢性和過渡自然性有著極高的期待。最近我對一個使用 react-native-modal 實現的 Alert 彈窗組件進行了優化&#xff0c;成功解決了閃爍和卡頓問題&#xff0c;并顯著提升了用戶體驗。 本篇博客將帶你深入了解優化…

智能客服系統開發方案:RAG+多智能體技術實現

智能客服系統開發方案:RAG+多智能體技術實現 一、系統架構設計 #mermaid-svg-hKDXil2J0xV064Q5 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-hKDXil2J0xV064Q5 .error-icon{fill:#552222;}#mermaid-svg-hKDXil2…

【Kafka】消息隊列Kafka知識總結

【Kafka】消息隊列Kafka知識總結 【一】消息隊列【1】什么是消息隊列【2】消息隊列有什么用&#xff08;1&#xff09;異步處理&#xff08;2&#xff09;削峰/限流&#xff08;3&#xff09;降低系統耦合性&#xff08;4&#xff09;實現分布式事務&#xff08;5&#xff09;順…

微信小程序開發 RangeError: Maximum call stack size exceeded

通常是由于??調用棧深度超限??&#xff08;如無限遞歸、過深的函數調用鏈或數據綁定循環&#xff09;導致。以下是具體解決方案&#xff1a; 一、核心原因分析 ??無限遞歸?? 函數直接或間接調用自身且無終止條件&#xff0c;例如事件處理函數中錯誤觸發自身。??數據…

mapbox進階,切片網格生成實現

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言1.1 ??mapboxgl.Map 地圖對象1.2 ??mapboxgl.Map style屬性1.3 ??line線圖層樣式1.4 ??symbol符號圖層…

Mysql 函數concat、concat_ws和group_concat

1.concat concat()函數是將多個字符串組合在一起&#xff0c;形成一個大的字符串&#xff1b;如果連接的字符串中存在一個為NULL&#xff0c;則輸出的結果為NULL&#xff0c;語法格式為&#xff1a; concat(str1,str2,....strn) -- 1、字符之間不加連接符 mysql> select c…

“在同一事務中“ 的含義

一、"在同一事務中" 的核心含義 "在同一事務中" 指多個數據庫操作共享同一個事務上下文&#xff0c;具有以下特點&#xff1a; 原子性保證&#xff1a;所有操作要么全部成功提交&#xff0c;要么全部失敗回滾。隔離性共享&#xff1a;操作使用相同的隔離…

【Create my OS】從零編寫一個操作系統

前言&#xff1a; 相信每個自學操作系統的同學&#xff0c;大致學習路線都離不開 HIT-OS、MIT-6.S081、MIT-6.824、MIT-6.828等經典的公開課。但學習完這些經典公開課并完成相應的Lab&#xff0c;很多同學腦海中對于操作系統的知識其實都是零散的&#xff0c;讓你從頭開始編寫一…

計算機視覺與深度學習 | 低照度圖像增強算法綜述(開源鏈接,原理,公式,代碼)

低照度圖像增強算法綜述 1 算法分類與原理1.1 傳統方法1.2 深度學習方法2 核心算法詳解2.1 多尺度Retinex (MSRCR) 實現2.2 SCI自校準光照學習2.3 自適應伽馬校正2.4 WaveletMamba架構3 開源資源與實現3.1 主流算法開源庫3.2 關鍵代碼實現4 評估與實驗對比4.1 客觀評價指標4.2 …