国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟

這篇具有很好參考價(jià)值的文章主要介紹了【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

性能測(cè)試概要

性能測(cè)試是軟件測(cè)試中的一種,它可以衡量系統(tǒng)的穩(wěn)定性、擴(kuò)展性、可靠性、速度和資源使用。它可以發(fā)現(xiàn)性能瓶頸,確保能滿足業(yè)務(wù)需求。很多系統(tǒng)都需要做性能測(cè)試,如Web應(yīng)用、數(shù)據(jù)庫(kù)和操作系統(tǒng)等。

性能測(cè)試種類非常多,有些概念也很相近:

  • Load Testing
  • Baseline Testing
  • Smoke Testing
  • Stress Testing
  • Soak Testing
  • Endurance Testing
  • Capacity Testing
  • Longevity Testing
  • Peak Testing
  • Spike Testing
  • Volume Testing
  • Capacity Tests
  • Reliability Testing
  • Scalability Testing

性能測(cè)試的工具

同樣,性能測(cè)試的工具也非常多:

  • Apache JMeter
  • HP LoadRunner
  • Gatling
  • Blazemeter
  • k6
  • NeoLoad
  • TestComplete
  • Silk Performer
  • Rational Performance Tester
  • Apica LoadView
  • AppDynamics
  • Dynatrace
  • New Relic

很難說(shuō)哪個(gè)工具是最好的,這取決于你的需求和預(yù)算。如果你想要開源易用的,那JMeter是一個(gè)不錯(cuò)的選擇。如果你想要一個(gè)商用的工具,不妨試試LoadRunner和NeoLoad。重要的一點(diǎn)是,沒有任何一款工具可以應(yīng)對(duì)所有性能測(cè)試,很多時(shí)候我們需要組合使用。

JMeter的分布式測(cè)試

我將在本文詳細(xì)介紹JMeter的分布式測(cè)試,我們經(jīng)常會(huì)通過(guò)它來(lái)做性能測(cè)試。

在分布式測(cè)試角色中,我們需要一個(gè)控制節(jié)點(diǎn)Controller,還有多個(gè)工作節(jié)點(diǎn)Workers。如果你想你的請(qǐng)求增加,那可以通過(guò)不斷增加工作節(jié)點(diǎn)來(lái)實(shí)現(xiàn)。Controller控制Workers,但它不跑具體的測(cè)試案例。Workers是連接目標(biāo)系統(tǒng)來(lái)做具體測(cè)試的。

整個(gè)系統(tǒng)架構(gòu)大概如下:

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

Worker可以在不同的服務(wù)器上,所以叫分布式,也因此可以利用多臺(tái)電腦的資源來(lái)模擬足夠的請(qǐng)求。

詳細(xì)步驟

我將一步步介紹如何使用JMeter分布式測(cè)試來(lái)做性能測(cè)試,大致架構(gòu)如下:

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

Controller我放在Mac上跑,Workers我是通過(guò)兩臺(tái)Ubuntu服務(wù)器來(lái)跑,要注意它們的IP是在同一內(nèi)網(wǎng)上的。目標(biāo)系統(tǒng)為了省事,我直接請(qǐng)求 Bing, stackoverflow, QQ。

Step 1: 安裝JDK

Apache JMeter是用Java寫的,運(yùn)行它需要Java運(yùn)行環(huán)境。在Ubuntu安裝如下:

sudo apt install openjdk-11-jdk

Stpe 2: 下載Apache JMeter

去官網(wǎng)的 download page 下載最新的JMeter包apache-jmeter-5.5.zip,然后解壓:

unzip apache-jmeter-5.5.zip

所有節(jié)點(diǎn)都需要下載安裝。

Controller的位置如下:

/Users/larry/Software/apache-jmeter-5.5

Workers的位置如下:

home/larry/software/apache-jmeter-5.5

你不必位置和我一樣,我列出來(lái)是為了與后面的命令對(duì)應(yīng)上。

Step 3: 準(zhǔn)備測(cè)試的JMX文件

JMeter把所有的測(cè)試信息都存放在jmx文件中,打開工具寫測(cè)試案例如下:

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

然后定義整個(gè)測(cè)試怎么跑,這里定義的是使用8個(gè)線程,60秒的熱身和120秒的持續(xù)時(shí)長(zhǎng):

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

文件我放在這:

$ ls /Users/larry/Software/apache-jmeter-5.5/projects/pkslow
performance-test.jmx

我的案例只是Controller需要這個(gè)jmx文件,Worker是不需要的。它們可以通過(guò)RMI來(lái)交互。

Step 4: 啟動(dòng)Workers

要先啟動(dòng)Workers,以服務(wù)器模式來(lái)啟動(dòng),啟動(dòng)后不會(huì)執(zhí)行什么測(cè)試,它會(huì)等待與它連接的Controller和指令:

  • Worker 1:
$ /home/larry/software/apache-jmeter-5.5/bin/jmeter-server -Dserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.50.171
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.50.171:41709](local),objID:[-2af2edf6:1882245cfde:-7fff, 1980465993472976097]]]
  • Worker 2:
$ /home/larry/software/apache-jmeter-5.5/bin/jmeter-server -Dserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.50.60
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.50.60:45337](local),objID:[18489452:1882246a88b:-7fff, 4749047852254882466]]]
“注意: 可能會(huì)遇到j(luò)ava.rmi.RemoteException,如果你沒指定參數(shù): java.rmi.server.hostname.
$ ./software/apache-jmeter-5.5/bin/jmeter-server -Dserver.rmi.ssl.disable=true
May 15, 2023 5:43:16 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[127.0.1.1:33021](local),objID:[-7155c199:1881ecaf233:-7fff, -6972385484103483700]]]
Server failed to start: java.rmi.RemoteException: Cannot start. ubuntu is a loopback address.
An error occurred: Cannot start. ubuntu is a loopback address.

Step 5: 啟動(dòng)Controller

所有Workers就位后,就等主帥一聲令下。啟動(dòng)時(shí)要指定jmx文件,報(bào)告生成的位置,還有Worker的IP,如下:

$ cd /Users/larry/Software/apache-jmeter-5.5/

$ ./bin/jmeter -n -t projects/pkslow/performance-test.jmx -l projects/pkslow/performance-test.csv -e -o projects/pkslow/Reports -Dserver.rmi.ssl.disable=true -R 192.168.50.171,192.168.50.60
Creating summariser <summary>
Created the tree successfully using projects/pkslow/performance-test.jmx
Configuring remote engine: 192.168.50.171
Configuring remote engine: 192.168.50.60
Starting distributed test with remote engines: [192.168.50.171, 192.168.50.60] @ May 16, 2023 10:37:31 PM CST (1684247851079)
Remote engines have been started:[192.168.50.171, 192.168.50.60]
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +      1 in 00:00:02 =    0.7/s Avg:  1260 Min:  1260 Max:  1260 Err:     0 (0.00%) Active: 2 Started: 2 Finished: 0
summary +    111 in 00:02:31 =    0.7/s Avg:  4433 Min:    41 Max: 50474 Err:     4 (3.60%) Active: 15 Started: 16 Finished: 1
summary =    112 in 00:02:33 =    0.7/s Avg:  4405 Min:    41 Max: 50474 Err:     4 (3.57%)
summary +     64 in 00:00:19 =    3.3/s Avg: 25706 Min:    62 Max: 66745 Err:    31 (48.44%) Active: 0 Started: 16 Finished: 16
summary =    176 in 00:02:52 =    1.0/s Avg: 12151 Min:    41 Max: 66745 Err:    35 (19.89%)
Tidying up remote @ May 16, 2023 10:40:24 PM CST (1684248024629)
... end of run

更多信息可以查看?jmeter.log:

$ tail -f jmeter.log 
2023-05-16 22:40:29,956 INFO o.a.j.r.d.JsonExporter: Found data for consumer statisticsSummary in context
2023-05-16 22:40:29,957 INFO o.a.j.r.d.JsonExporter: Creating statistics for overall
2023-05-16 22:40:29,957 INFO o.a.j.r.d.JsonExporter: Creating statistics for other transactions
2023-05-16 22:40:29,957 INFO o.a.j.r.d.JsonExporter: Checking output folder
2023-05-16 22:40:29,958 INFO o.a.j.r.d.JsonExporter: Writing statistics JSON to /Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports/statistics.json
2023-05-16 22:40:30,006 INFO o.a.j.r.d.ReportGenerator: Exporting data using exporter:'html' of className:'org.apache.jmeter.report.dashboard.HtmlTemplateExporter'
2023-05-16 22:40:30,007 INFO o.a.j.r.d.HtmlTemplateExporter: Will generate dashboard in folder: /Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports
2023-05-16 22:40:30,142 INFO o.a.j.r.d.HtmlTemplateExporter: Report will be generated in: /Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports, creating folder structure
2023-05-16 22:40:30,145 INFO o.a.j.r.d.TemplateVisitor: Copying folder from '/Users/larry/Software/apache-jmeter-5.5/bin/report-template' to '/Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports', got message: /Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports, found non empty folder with following content [/Users/larry/Software/apache-jmeter-5.5/projects/pkslow/Reports/statistics.json], will be ignored
2023-05-16 22:40:30,472 INFO o.a.j.JMeter: Dashboard generated

Worker收到指令也會(huì)開始工作并打印一些簡(jiǎn)單的日志:

$ /home/larry/software/apache-jmeter-5.5/bin/jmeter-server -Dserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.50.171
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[192.168.50.171:44621](local),objID:[4d13369d:18824fd059a:-7fff, 2287886479123818682]]]
Starting the test on host 192.168.50.171 @ 2023 May 16 22:37:31 HKT (1684247851980)
Warning: Nashorn engine is planned to be removed from a future JDK release
Finished the test on host 192.168.50.171 @ 2023 May 16 22:40:24 HKT (1684248024679)

Step 6: 結(jié)果和報(bào)告

整個(gè)測(cè)試跑完后,可以找到對(duì)應(yīng)的結(jié)果:

$ ls -l /Users/larry/Software/apache-jmeter-5.5/projects/pkslow/
total 72
drwxr-xr-x  6 larry  staff    192 May 16 22:40 Reports
-rw-r--r--  1 larry  staff  23472 May 16 22:40 performance-test.csv
-rw-r--r--  1 larry  staff  10593 May 16 09:50 performance-test.jmx

在Reports目錄下直接打開?index.html

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟,自動(dòng)化測(cè)試,接口測(cè)試,軟件測(cè)試,jmeter,分布式

其它提示

改變Worker的端口

Worker的默認(rèn)端口是1099,但它是可以改變的,有些時(shí)候也必須改變,如設(shè)置的防火墻,或者需要在同一臺(tái)Server啟動(dòng)多個(gè)Worker。具體命令如下:

$ /home/larry/software/apache-jmeter-5.5/bin/jmeter-server -Dserver.rmi.ssl.disable=true -Djava.rmi.server.hostname=192.168.50.60 -Dserver_port=1984

當(dāng)然,Controller也要同步調(diào)整自己的命令:

$ ./bin/jmeter -n -t projects/pkslow/performance-test.jmx -l projects/pkslow/performance-test.csv -e -o projects/pkslow/Reports -Dserver.rmi.ssl.disable=true -R 192.168.50.171:1984,192.168.50.60:1984

使用nohup來(lái)跑測(cè)試

性能測(cè)試有時(shí)需要跑很長(zhǎng)時(shí)間,建議使用nohup模式來(lái)運(yùn)行:

$ nohup ./bin/jmeter -n -t projects/pkslow/performance-test.jmx -l projects/pkslow/performance-test.csv -e -o projects/pkslow/Reports -Dserver.rmi.ssl.disable=true -R 192.168.50.171:1984,192.168.50.60:1984 &
[1] 81248

指定結(jié)果時(shí)添加時(shí)間

這樣很清晰知道是什么時(shí)候開始跑的,也避免目錄存在報(bào)錯(cuò)。

$ nohup ./bin/jmeter -n -t projects/pkslow/performance-test.jmx -l projects/pkslow/performance-test."$(date +%F.%T)".csv -e -o projects/pkslow/Reports-"$(date +%F.%T)" -Dserver.rmi.ssl.disable=true -R 192.168.50.171:1984,192.168.50.60:1984 &

不過(guò)這樣也要注意定期清理不需要的結(jié)果,以免占用硬盤空間。

2024最新Jmeter接口測(cè)試從入門到精通(全套項(xiàng)目實(shí)戰(zhàn)教程)文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-783689.html

到了這里,關(guān)于【性能測(cè)試】JMeter分布式測(cè)試及其詳細(xì)步驟的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 性能測(cè)試 —— Jmeter分布式測(cè)試的注意事項(xiàng)和常見問(wèn)題

    性能測(cè)試 —— Jmeter分布式測(cè)試的注意事項(xiàng)和常見問(wèn)題

    Jmeter是一款開源的性能測(cè)試工具,使用Jmeter進(jìn)行分布式測(cè)試時(shí),也需要注意一些細(xì)節(jié)和問(wèn)題,否則可能會(huì)影響測(cè)試結(jié)果的準(zhǔn)確性和可靠性。 Jmeter分布式測(cè)試時(shí)需要特別注意的幾個(gè)方面 1. 參數(shù)化文件的位置和內(nèi)容 如果使用csv文件進(jìn)行參數(shù)化,即通過(guò)讀取csv文件中的數(shù)據(jù)來(lái)為測(cè)

    2024年02月05日
    瀏覽(23)
  • 【性能測(cè)試】分布式壓測(cè)之locust和Jmeter的使用

    【性能測(cè)試】分布式壓測(cè)之locust和Jmeter的使用

    受限于單臺(tái)機(jī)器的配置問(wèn)題,我們?cè)趩闻_(tái)機(jī)器上達(dá)不到一個(gè)很高的壓測(cè)并發(fā)數(shù),那這個(gè)時(shí)候就需要 引入分布式壓測(cè) 分布式壓測(cè)原理: 一般通過(guò)局域網(wǎng)把不同測(cè)試計(jì)算機(jī)鏈接到一起,達(dá)到測(cè)試共享、分散操作、集中管理的目的。 選擇一臺(tái)作為調(diào)度機(jī)(MASTER),其他機(jī)器作為執(zhí)

    2024年02月19日
    瀏覽(45)
  • 超全整理,Jmeter性能測(cè)試-腳本error報(bào)錯(cuò)排查/分布式壓測(cè)(詳全)

    超全整理,Jmeter性能測(cè)試-腳本error報(bào)錯(cuò)排查/分布式壓測(cè)(詳全)

    性能腳本error報(bào)錯(cuò)問(wèn)題排查 1、腳本運(yùn)行過(guò)程中報(bào)錯(cuò) 1)在windows系統(tǒng)jmeter中,給測(cè)試腳本添加查看結(jié)果樹,添加保存錯(cuò)誤日志信息 第一步,給文件取名error.xml 第二步,僅錯(cuò)誤日志 第三步,點(diǎn)擊配置,全部勾選 2)把linux系統(tǒng)中保存的error日志文件,導(dǎo)入到windows系統(tǒng)jmeter查看結(jié)

    2024年02月07日
    瀏覽(51)
  • Jmeter性能實(shí)戰(zhàn)之分布式壓測(cè)

    Jmeter性能實(shí)戰(zhàn)之分布式壓測(cè)

    1、JMeter分布式測(cè)試時(shí),選擇其中一臺(tái)作為調(diào)度機(jī)(master),其它機(jī)器作為執(zhí)行機(jī)(slave)。 2、執(zhí)行時(shí),master會(huì)把腳本發(fā)送到每臺(tái)slave上,slave 拿到腳本后就開始執(zhí)行,slave執(zhí)行時(shí)不需要啟動(dòng)GUI,我理解它應(yīng)該是通過(guò)命令行模式執(zhí)行的。 3、執(zhí)行完成后,slave會(huì)把結(jié)果回傳給master,m

    2024年02月07日
    瀏覽(26)
  • Jmeter分布式壓力測(cè)試

    Jmeter分布式壓力測(cè)試

    目錄 1、場(chǎng)景 2、原理 3、注意事項(xiàng) 4、slave配置 5、master配置 6、腳本執(zhí)行 在做性能測(cè)試時(shí),單臺(tái)機(jī)器進(jìn)行壓測(cè)可能達(dá)不到預(yù)期結(jié)果。主要原因是單臺(tái)機(jī)器壓到一定程度會(huì)出現(xiàn)瓶頸。也有可能單機(jī)網(wǎng)卡跟不上造成結(jié)果偏差較大。 例如4C8G的window server機(jī)器,使用UI方式,最高壓測(cè)

    2024年02月08日
    瀏覽(15)
  • Jmeter分布式壓力測(cè)試詳解

    Jmeter分布式壓力測(cè)試詳解

    在做性能測(cè)試時(shí),單臺(tái)機(jī)器進(jìn)行壓測(cè)可能達(dá)不到預(yù)期結(jié)果。主要原因是單臺(tái)機(jī)器壓到一定程度會(huì)出現(xiàn)瓶頸。也有可能單機(jī)網(wǎng)卡跟不上造成結(jié)果偏差較大。 例如4C8G的window server機(jī)器,使用UI方式,最高壓測(cè)在1800并發(fā)(RT 20ms以內(nèi))左右。如果對(duì)于XML文件進(jìn)行解析,更容易吃CPU,并發(fā)

    2024年02月05日
    瀏覽(18)
  • Jmeter進(jìn)階使用指南-分布式測(cè)試

    當(dāng)你需要模擬大量并發(fā)用戶并測(cè)試應(yīng)用程序的性能時(shí),JMeter的分布式測(cè)試功能非常有用。分布式測(cè)試允許你使用多個(gè)JMeter實(shí)例來(lái)模擬并發(fā)用戶,從而提供更高的負(fù)載。 下面是一個(gè)詳細(xì)的介紹和講解分布式測(cè)試的步驟: 準(zhǔn)備主機(jī)和從機(jī): 首先,你需要準(zhǔn)備一臺(tái)主機(jī)和多臺(tái)從機(jī)

    2024年02月09日
    瀏覽(27)
  • docker+jmeter實(shí)現(xiàn)簡(jiǎn)單的分布式壓力測(cè)試

    docker+jmeter實(shí)現(xiàn)簡(jiǎn)單的分布式壓力測(cè)試

    階梯壓力測(cè)試的場(chǎng)景是為了驗(yàn)證在系統(tǒng)運(yùn)行期間,用戶不斷的登錄系統(tǒng)并使用一段時(shí)間,通過(guò)階梯的場(chǎng)景,模擬實(shí)際應(yīng)用期間系統(tǒng)的穩(wěn)定性、承載性。 二、常用的階梯壓力測(cè)試線程組 stepping Thread Group 步長(zhǎng)插件 Concurrency Thread Group 步長(zhǎng)并發(fā)插件 兩者區(qū)別 stg不提供設(shè)置啟動(dòng)延遲

    2024年04月16日
    瀏覽(23)
  • Jmeter分布式測(cè)試的注意事項(xiàng)和常見問(wèn)題

    Jmeter是一款開源的性能測(cè)試工具,使用Jmeter進(jìn)行分布式測(cè)試時(shí),也需要注意一些細(xì)節(jié)和問(wèn)題,否則可能會(huì)影響測(cè)試結(jié)果的準(zhǔn)確性和可靠性。 如果使用csv文件進(jìn)行參數(shù)化,即通過(guò)讀取csv文件中的數(shù)據(jù)來(lái)為測(cè)試腳本提供不同的輸入值,那么需要注意以下兩點(diǎn): 需要把參數(shù)文件在

    2024年02月06日
    瀏覽(22)
  • Zookeeper 偽分布式集群搭建詳細(xì)步驟

    在同一臺(tái)服務(wù)器上,部署一個(gè) 3 個(gè) ZooKeeper 節(jié)點(diǎn)組成的集群,這樣的集群叫偽分布式集 群,而如果集群中的 3 個(gè)節(jié)點(diǎn)分別部署在 3 個(gè)服務(wù)器上,那么這種集群就叫真正的分布式 集群。 這里,記錄一下搭建一個(gè) 3 節(jié)點(diǎn)的偽分布式集群的過(guò)程,真正的分布式集群的搭建過(guò)程和 偽

    2024年02月08日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包