Jmeter 分布式壓測

為什么要分布式

  • jmeter是100%純java開發的程序,虛擬用戶是以線程實現的,在大量并發情況下,很容易出現CPU、內存消耗過大的問題,甚至會出現java內存溢出。
  • 一般一臺電腦設置500-600線程數即可,如果超過1000線程,單機電腦就有點過高了,同時也還要關注本機電腦CPU、內存不能超過80%~90%的范圍,否則會導致測試機本身的性能瓶頸,測試結果也會不準確。

分布式測試原理

  • 總控機器的節點Jmeter controller,其他產生壓力的機器叫“肉雞”(Jmeter server)
  • controller會把腳本發送到Jmeter server上,肉雞不需要準備jmx文件
  • 執行的時候,server上只需要把jmeter-server打開就可以了,不用啟動jmeter
  • 執行結束后,server會把壓測數據回傳給controller,然后controller匯總輸出報告
  • 注意:必須保證主機和肉雞安裝相同的jdk和jmeter

在這里插入圖片描述

環境部署

  1. 準備機器:
    在這里插入圖片描述
  2. 安裝示例:
# 所有機器都需要安裝
apt-get update --fix-missing # 更新源
apt-get install openjdk-8-jdk # 安裝jdk
cd /opt
tar -xvf apache-jmeter-5.6.2.tgz  # 假設已經下載了對應版本到該目錄
vim /etc/profile  # 將jmeter追加到系統環境變量export JMETER_HOME=/opt/apache-jmeter-5.6.2export PATH=$JMETER_HOME/bin:$PATH
source /etc/profile # 生效
  1. 檢查java環境
    在這里插入圖片描述
  2. 檢查jmeter環境
    在這里插入圖片描述
  3. 更改配置文件
  • master機
    進入/opt/apache-jmeter-5.6.2/bin 目錄,按以下配置修改jmeter.properties配置文件
    注:remote_hosts 為執行機的ip及端口,多個執行機可通過英文逗號 “,” 進行拼接
    在這里插入圖片描述server.rmi.ssl.disable=true(關閉SSL傳輸)

  • slave機
    進入/opt/apache-jmeter-5.6.2/bin 目錄,修改jmeter.properties配置文件, 只需將server.rmi.ssl.disable=true即可

  1. 運行
  • slave機
    進入/opt/apache-jmeter-5.6.2/bin運行jmeter-server
    在這里插入圖片描述
  • master機
    jmeter -n -t ./sfs.jmx -l ./result.jtl -j ./result.log -r
    在這里插入圖片描述

注意事項

  • 進行性能測試前,盡量對Jmeter進行減負,避免運行時間過長,導致Jmeter卡死:
    (1)并發線程不要設置太高,建議單機300以下
    (2)“察看結果樹”勾選“僅日志錯誤”,盡可能減少jvm內存使用
    (3)在壓測時,要禁用諸如View Result Tree這類的監聽器,這類監聽器非常耗內存
    (4)用jmeter測試時使用BeanShell腳本獲取隨機參數值,會導致請求時間過長,TPS過低。應改為使用csv讀取參數值,記錄的TPS會更加準確
  • Master與各Slave使用的Java、jmeter版本保持一致;
  • 若測試計劃中引用了某插件,則Master與各Slave都要包含該插件
  • 測試計劃只需要放在Master上,執行時會自動分發到各Slave,不需要每臺Slave復制一份

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

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

相關文章

vue - - - - - vue-qr插件生成二維碼

vue-qr插件生成二維碼 1. 安裝插件2. 組件使用示例圖&#xff1a;掃碼結果 1. 安裝插件 【vue-qr 官網地址】 npm install vue-qr --save // or yarn add vue-qr --save2. 組件使用 <template><vue-qr :logo-src"logoSrc":size"237":margin&qu…

php一句話木馬免殺

php一句話木馬免殺 針對于php一句話木馬做免殺&#xff1a; 利用php動態函數的特性&#xff0c;將危險函數拆分成字符&#xff0c;最終使用字符串拼接的方式&#xff0c;然后重新拼接&#xff0c;后加括號執行代碼&#xff0c;并且可以使用花指令進行包裝&#xff0c;如無限i…

Pol8891 規格書 ——圖像處理芯片/RGB轉MIPI支持圖像 90°/270°旋轉處理

一、芯片簡介 1、系統 高性能 MIPS 32bit CPU 內核&#xff1b; 高性能 DSP 內核圖像處理單元&#xff1b; 8KB 指令 Cache&#xff1b; 8KB 數據 Cache&#xff1b; 64KB OnChip SRAM&#xff1b; 內嵌 DDR3 控制器&#xff1b; 2、RGB 輸入 支持 RGB666、RGB888 輸入…

中電金信:《保險業監管研究及數字化轉型方向探索白皮書》

縱觀近二十年保險業從信息化向數字化的演進過程&#xff0c;我們感受到了數字化轉型階段性成果漸成的喜悅&#xff0c;同時也深深的體會到數字化轉型在“痛并快樂著”的歷程中的種種艱辛。當今世界正處于百年未有之大變局&#xff0c;隨著我國保險市場的供需格局演變和外部環境…

【Unity】EventSystem.current.IsPointerOverGameObject()對碰撞體起作用

本來我是用 EventSystem.current.IsPointerOverGameObject()來檢測是否點擊在UI上的&#xff0c;但是發現&#xff0c;他對我的碰撞體也是返回ture,研究半天。。。。找不出問題&#xff0c;然后發現我的相機上掛載了PhysicsRaycaster&#xff0c;去掉之后就好了&#xff0c;至于…

Mapbox中點圖層和面圖層點擊事件重疊,禁止點擊穿透方案

使用mapbox的小伙伴們可能都遇到過這個問題,就是當地圖上有兩個圖層,一個面圖層一個點圖層,二者相重合的時候。假設我們想點擊點位彈窗展示一些內容,也想點擊面圖層的時候彈窗展示一些內容,這時候一個有意思的問題就產生了,就是點擊點位彈窗的時候面圖層對應的彈窗也會彈…

計算二叉樹雙分支節點的個數(可運行)

如果對您有用&#xff0c;點個贊&#xff0c;關注一下哦&#xff01;畢竟像我這種不用付monyY的博主不多了&#xff0c;且行且珍惜吧&#xff01;俺只想要數據【偷笑】 運行環境.cpp 如果沒有輸出結果一定是建樹錯誤&#xff01;&#xff01;&#xff01;&#xff01;&#x…

libbz2 for Mac OS makefile

git地址&#xff1a;git://sourceware.org/git/bzip2.git a文件Makefile # ------------------------------------------------------------------ # This file is part of bzip2/libbzip2, a program and library for # lossless, block-sorting data compression. # # bzip…

MySQL-01-MySQL基礎架構

1-MySQL邏輯結構 如果能在頭腦中構建一幅MySQL各組件之間如何協同工作的架構圖&#xff0c;有助于深入理解MySQL服務器。下圖展示了MySQL的邏輯架構圖。 MySQL邏輯架構整體分為三層&#xff0c;最上層為客戶端層&#xff0c;并非MySQL所獨有&#xff0c;諸如&#xff1a;連接處…

jar包打進本地倉庫

jar包打進本地倉庫 <dependency><groupId>com.test</groupId><artifactId>test-api</artifactId><version>1.0.0</version> </dependency>mvn install:install-file -Dfiletest.jar -DgroupIdcom.test -DartifactIdtest-api …

數據結構:鏈表

目錄 一.為什么要使用鏈表存儲數據&#xff1f; 二.鏈表的分類 單向或者雙向鏈表&#xff1a; 帶頭或者不帶頭&#xff1a; 循環或者非循環&#xff1a; 三.鏈表的實現 3.1無頭單向非循環鏈表的實現&#xff1a; 3.1.1單向無頭非循環鏈表的聲明 3.1.2動態申請一個節點 …

kmalloc

kmalloc(size(結構體)*n)就是申請n個大小為結構體的空間&#xff0c;然后返回一個指向這個空間的首地址的指針。這個指針可以看作是一個數組&#xff0c;它的每個元素都是結構體&#xff0c;所以可以使用索引來訪問這個空間的不同部分。例如&#xff0c;如果你有一個指針p&…

python數據類型之字符串、字典、元組

一、數字類型 1、number類型 Python Number 數據類型用于存儲數值。 數據類型是不允許改變的,這就意味著如果改變 Number 數據類型的值&#xff0c;將重新分配內存空間。 以下實例在變量賦值時 Number 對象將被創建&#xff1a; var1 1 var2 10也可以使用del語句刪除一些…

亞馬遜防關聯要注意什么?看這一篇,防關聯有技巧!

亞馬遜賬號關聯的問題&#xff0c;對于跨境電商來說都不陌生&#xff0c;店鋪的安全問題往往和賬號關聯有關&#xff0c;一旦亞馬遜賬號被關聯就很可能導致我們的店鋪被封&#xff0c;對于被亞馬遜封店的賣家都會有申訴機會&#xff0c;如果無法成功申訴&#xff0c;那將永久被…

C語言——利用函數遞歸,編寫函數不允許創建臨時變量,求字符串長度

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int my_strlen(char* str) {if(*str ! \0)return 1my_strlen(str1);elsereturn 0; }int main() {char arr[] "hello";int len my_strlen(arr); //arr是數組&#xff0c;數組傳參&#xff0c;傳過去的是第…

NB水表能承受最大的水壓是多少?

NB水表&#xff0c;作為新一代智能水表&#xff0c;以小巧的體積、穩定的性能和強大的功能贏得了市場的認可。那么&#xff0c;它究竟能承受多大的水壓呢&#xff1f;接下來&#xff0c;小編來為大家揭秘下&#xff0c;一起來看下吧&#xff01; 一、NB水表概述 NB水表&#xf…

安卓手機好用的清單軟件有哪些?

生活中每個人都有丟三落四的習慣&#xff0c;伴隨著生活節奏的加快&#xff0c;人們常忘事的情況會更加頻繁的出現&#xff0c;這時候很多人就開始選擇手機上記錄清單類的軟件&#xff0c;安卓手機在手機市場中占有很大的分量&#xff0c;在安卓手機上好用的記錄清單的軟件有哪…

在高斯DB數據庫中,獲取上個月的日期

個人網站 返回上個月的日期。ADD_MONTHS函數用于對日期進行加減操作&#xff0c;通過將當前日期減去1個月來獲取上個月的日期。請注意&#xff0c;這里使用的是負數來表示減去一個月的時間間隔。 SELECT ADD_MONTHS(CURRENT_DATE, -1) AS last_month;

SiP封裝、合封芯片和芯片合封是一種技術嗎?都是合封芯片技術?

合封芯片、芯片合封和SiP系統級封裝經常被提及的概念。但它們是三種不同的技術&#xff0c;還是同一種技術的不同稱呼&#xff1f;本文將幫助我們更好地理解它們的差異。 一、合封芯片與SiP系統級封裝的定義 首先合封芯片和芯片合封都是一個意思 合封芯片是一種將多個芯片&a…

力扣labuladong——一刷day49

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 前言一、力扣513. 找樹左下角的值二、力扣666. 路徑總和 IV三、力扣1261. 在受污染的二叉樹中查找元素四、力扣572. 另一棵樹的子樹 前言 二叉樹的遞歸分為「遍歷」…