摘要:在這篇文章中,我們將通過(guò)使用來(lái)測(cè)試數(shù)據(jù)庫(kù)訪問(wèn)并生成對(duì)應(yīng)的測(cè)試報(bào)告,來(lái)學(xué)習(xí)使用這款性能測(cè)試工具。這兩個(gè)參數(shù)可以用來(lái)控制具體測(cè)試的執(zhí)行次數(shù),比如將線程數(shù)設(shè)置為,重復(fù)執(zhí)行次數(shù)設(shè)置為,那么相應(yīng)測(cè)試將執(zhí)行次。
軟件全生命周期開發(fā)中,離不開測(cè)試工作,一款高可用的產(chǎn)品更離不開性能測(cè)試,常見的性能測(cè)試工具有Loadrunner、JMeter等,我們?cè)谶@篇文章中主要介紹下JMeter,以便讓大家了解如何通過(guò)JMeter來(lái)進(jìn)行性能測(cè)試。
JMeter是一款開源的純Java編寫的性能測(cè)試工具,我們通常可以用它來(lái)測(cè)試Web應(yīng)用程序,當(dāng)然也可以用它來(lái)進(jìn)行一些其他測(cè)試,比如數(shù)據(jù)庫(kù)測(cè)試等。
在這篇文章中,我們將通過(guò)使用JMeter來(lái)測(cè)試數(shù)據(jù)庫(kù)訪問(wèn)并生成對(duì)應(yīng)的測(cè)試報(bào)告,來(lái)學(xué)習(xí)使用這款性能測(cè)試工具。通過(guò)這篇文章,相信大家可以對(duì)JMeter的使用有個(gè)初步的了解。
1)到JMeter官網(wǎng)下載最新的發(fā)布版本包,此處下載的版本為apache-jmeter-5.0.zip
;
2)JMeter為解壓即用免安裝的工具,解壓縮后文件目錄如下所示:
1)進(jìn)入%JMETER_HOME%/bin
目錄下(%JMETER_HOME%為解壓縮后路徑),雙擊jmeter.bat
文件,打開JMeter客戶端界面,如下圖所示:
JMeter客戶端主頁(yè)面展示了一項(xiàng)測(cè)試計(jì)劃,在這里我們保持測(cè)試計(jì)劃配置值為默認(rèn)值不變,后續(xù)我們將再此項(xiàng)測(cè)試計(jì)劃中新建線程組,進(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)測(cè)試與生成測(cè)試文檔。
注意:因?yàn)槲覀円M(jìn)行數(shù)據(jù)庫(kù)訪問(wèn)的測(cè)試,所以需要添加相應(yīng)的JDBC驅(qū)動(dòng)包到classpath路徑下,點(diǎn)擊Browse添加相應(yīng)的驅(qū)動(dòng)包,如下圖所示:
1)右擊TestPlan,添加測(cè)試線程組,如下圖所示:
添加成功后界面如下圖:
上圖中有兩個(gè)參數(shù)需要注意:1、Number of Threads(users):指的是線程數(shù)量;2、Loop Count:為線程重復(fù)執(zhí)行次數(shù)。這兩個(gè)參數(shù)可以用來(lái)控制具體測(cè)試的執(zhí)行次數(shù),比如將線程數(shù)設(shè)置為10,重復(fù)執(zhí)行次數(shù)設(shè)置為10,那么相應(yīng)測(cè)試將執(zhí)行100次。
2)右擊Thread Group,添加JDBC Connection Configuration
添加后需要填寫如下圖所示3個(gè)部分:
需要填寫內(nèi)容說(shuō)明:1、連接池變量名,很重要,后續(xù)在創(chuàng)建JDBC Request測(cè)試取樣器中需要使用,用來(lái)獲取數(shù)據(jù)庫(kù)連接;2、連接池最大連接數(shù),這里就填10吧,即最大10個(gè)連接;3、數(shù)據(jù)庫(kù)連接配置,需填寫數(shù)據(jù)庫(kù)名、JDBC Driver class、用戶名、密碼。
填寫完成后,相應(yīng)配置如下,大家根據(jù)自己的配置更改:
3)添加JDBC Request測(cè)試取樣器;
一定要注意這里需填寫在2)中配置的連接池變量名信息:
填寫測(cè)試的sql語(yǔ)句,此處為對(duì)student表進(jìn)行插入操作:
大家一定看到了上面用到了${randomVariable}
占位符,那么這是什么?這是隨機(jī)數(shù)變量,方便測(cè)試的時(shí)候生成隨機(jī)數(shù)使用,所以我們還需要?jiǎng)?chuàng)建下隨機(jī)數(shù)變量。
注意這里的變量名要與占位符中一樣哦,如下創(chuàng)建了一個(gè)隨機(jī)生成1—200的隨機(jī)數(shù)變量:
4)創(chuàng)建查看結(jié)果樹,用來(lái)查看具體請(qǐng)求的情況
5)創(chuàng)建聚合報(bào)告
我們還需要?jiǎng)?chuàng)建聚合報(bào)告,用來(lái)對(duì)測(cè)試結(jié)果進(jìn)行聚合統(tǒng)計(jì),生成測(cè)試報(bào)告。
6)OK,準(zhǔn)備工作完成,我們來(lái)進(jìn)行實(shí)際測(cè)試了,點(diǎn)擊開始按鈕,對(duì)數(shù)據(jù)庫(kù)進(jìn)行100次插入操作,然后生成相應(yīng)測(cè)試報(bào)告。等等,怎么執(zhí)行100次操作?還記得1)中的兩個(gè)參數(shù)嗎?沒錯(cuò),我們將線程數(shù)設(shè)為10,重復(fù)執(zhí)行次數(shù)設(shè)為10,這樣就可以執(zhí)行100次插入操作了!設(shè)置成功后點(diǎn)擊開始執(zhí)行測(cè)試。
執(zhí)行開始前會(huì)先讓你保存一下測(cè)試計(jì)劃,保存一下吧。執(zhí)行結(jié)束后便可以查看相應(yīng)的測(cè)試報(bào)告啦!
查看結(jié)果樹展示了每個(gè)請(qǐng)求的相應(yīng)情況:
聚合報(bào)告對(duì)所有請(qǐng)求進(jìn)行了聚合統(tǒng)計(jì):
為了方便大家看懂聚合報(bào)告,簡(jiǎn)單說(shuō)明下聚合報(bào)告中相應(yīng)參數(shù)的意思吧:
Label:相應(yīng)的測(cè)試名,我們進(jìn)行了數(shù)據(jù)庫(kù)訪問(wèn)的測(cè)試,所以此處為JDBC Request;
#Samples:發(fā)給服務(wù)器的請(qǐng)求數(shù),此處為100,也可以看出我們確實(shí)執(zhí)行了100次插入操作;
Average:每個(gè)請(qǐng)求的平均響應(yīng)時(shí)間;
Median:50%請(qǐng)求的響應(yīng)時(shí)間都不超過(guò)該數(shù)值;
90%Line:90%請(qǐng)求的響應(yīng)時(shí)間都不超過(guò)該數(shù)值;
95%Line:95%請(qǐng)求的響應(yīng)時(shí)間都不超過(guò)該數(shù)值;
99%Line:99%請(qǐng)求的響應(yīng)時(shí)間都不超過(guò)該數(shù)值;
Min:最小的響應(yīng)時(shí)間;
Max:最大的響應(yīng)時(shí)間;
Error%:錯(cuò)誤率=錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù);
Throughput:吞吐量即表示每秒完成的請(qǐng)求數(shù);
Received KB/sec:每秒從服務(wù)器端接收到的數(shù)據(jù)大小;
Sent KB/se:-每秒從客戶端發(fā)送的請(qǐng)求的數(shù)據(jù)大小。
看到這里,相信大家已經(jīng)對(duì)JMeter這款性能測(cè)試工具有了基本的了解,也熟悉了基本操作,當(dāng)然JMeter還有許多其他的功能,比如生成測(cè)試報(bào)告圖表等,大家盡情探索吧。
如果文章對(duì)你有幫助,別忘了點(diǎn)贊哦~
聊技術(shù),不止于技術(shù)。
歡迎大家關(guān)注我的個(gè)人公眾號(hào):WU雙,在這里我會(huì)與大家分享技術(shù)文章、管理知識(shí)以及個(gè)人的一些思想感悟。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/122487.html
摘要:同時(shí),我們?nèi)粘k娔X中安裝一款硬盤性能檢測(cè)軟件也是有必要的,因?yàn)槲覀冃枰ㄆ跈z測(cè)硬盤的健康度和壞點(diǎn)情況。在這篇文章中,老蔣整理網(wǎng)上常用的個(gè)和固態(tài)硬盤性能檢測(cè)軟件。我們電腦在選擇硬盤或者移動(dòng)硬盤,甚至U盤的時(shí)候,是不是看到各種品牌價(jià)格不一。其中固然是有品牌的因素,實(shí)際上最為差異的還是存儲(chǔ)硬盤的性能,比如讀寫速度、采用的介質(zhì)材料等的差異化還是比較大的。由于市場(chǎng)格局的變化,我們看到最近兩年各種硬件價(jià)...
摘要:當(dāng)我們嘗試在蒲公英上使用這款工具的時(shí)候也出現(xiàn)了一些問(wèn)題,比如,蒲公英每天能產(chǎn)生千萬(wàn)級(jí)別的訪問(wèn)信息,這使得原有的統(tǒng)計(jì)分析性能變得不是很理想,這對(duì)于一款統(tǒng)計(jì)分析為主的產(chǎn)品來(lái)說(shuō)是致命的。 先放鏈接:https://www.frontjs.com/ FrontJS 最早是用于蒲公英旗下項(xiàng)目管理平臺(tái) Tracup 中的一個(gè)性能工具,也就是我們一個(gè)月前發(fā)布的 frontend-tracker,發(fā)...
摘要:下面列出了個(gè)有助于你開發(fā)應(yīng)用程序最好的工具。官方網(wǎng)站是一個(gè)集多功能于一身的故障排除工具。此輕便的工具有著驚人的分析能力。它提供了規(guī)則警報(bào)閾值排除和設(shè)置功能。官方網(wǎng)站以上就是每個(gè)程序員需要了解的個(gè)開發(fā)工具,希望對(duì)你有所幫助。 Java是計(jì)算機(jī)應(yīng)用程序編程語(yǔ)言,被廣泛用于創(chuàng)建Web應(yīng)用、服務(wù)器處理、用戶端的API開發(fā)乃至數(shù)據(jù)庫(kù)等多個(gè)領(lǐng)域。下面列出了8個(gè)有助于你開發(fā)Java應(yīng)用程序最好的Ja...
摘要:從到打造一款產(chǎn)品是一種什么樣的體驗(yàn)為了回答這種知乎范的問(wèn)題,讓我來(lái)介紹下我是如何打造交易日記這款的過(guò)程。社會(huì)對(duì)群體聚集進(jìn)行生產(chǎn)產(chǎn)品的模式需求在降低。這在接下來(lái)的部分我會(huì)介紹我如何在三個(gè)月內(nèi)完成一款產(chǎn)品從到的過(guò)程。 從0到1打造一款產(chǎn)品是一種什么樣的體驗(yàn)?為了回答這種知乎范的問(wèn)題,讓我來(lái)介紹下我是如何打造交易日記這款A(yù)pp的過(guò)程。需要提前說(shuō)明的是整款iOS APP的全部工作都是我一個(gè)人完...
摘要:從到打造一款產(chǎn)品是一種什么樣的體驗(yàn)為了回答這種知乎范的問(wèn)題,讓我來(lái)介紹下我是如何打造交易日記這款的過(guò)程。社會(huì)對(duì)群體聚集進(jìn)行生產(chǎn)產(chǎn)品的模式需求在降低。這在接下來(lái)的部分我會(huì)介紹我如何在三個(gè)月內(nèi)完成一款產(chǎn)品從到的過(guò)程。 從0到1打造一款產(chǎn)品是一種什么樣的體驗(yàn)?為了回答這種知乎范的問(wèn)題,讓我來(lái)介紹下我是如何打造交易日記這款A(yù)pp的過(guò)程。需要提前說(shuō)明的是整款iOS APP的全部工作都是我一個(gè)人完...
閱讀 3066·2021-11-11 16:55
閱讀 3204·2021-10-18 13:34
閱讀 601·2021-10-14 09:42
閱讀 1648·2021-09-03 10:30
閱讀 885·2021-08-05 10:02
閱讀 984·2019-08-30 11:27
閱讀 3491·2019-08-29 15:14
閱讀 1259·2019-08-29 13:02