欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Jmeter壓力測(cè)試簡(jiǎn)單教程(包括服務(wù)器狀態(tài)監(jiān)控)

 更新時(shí)間:2021年11月29日 09:53:20   作者:lsoqvle  
Jmeter是一個(gè)非常好用的壓力測(cè)試工具。Jmeter用來(lái)做輕量級(jí)的壓力測(cè)試,非常合適,本文詳細(xì)的介紹了Jmeter的使用,感性的可以了解一下

??? 前段時(shí)間公司需要對(duì)服務(wù)器進(jìn)行壓力測(cè)試,包括登錄前的頁(yè)面和登錄后的頁(yè)面,主要目的是測(cè)試負(fù)載均衡的實(shí)現(xiàn)效果。不知道是不是因?yàn)镴meter不如loadRunner火爆還是什么,網(wǎng)上關(guān)于Jmeter的資料有很多但是大多千篇一律,要么簡(jiǎn)單弄個(gè)頁(yè)面測(cè)試一下,要么全篇都是介紹很多和Jmeter無(wú)關(guān)的第三方工具,看起來(lái)很專業(yè)高深,但是作為測(cè)試小白來(lái)說(shuō),看到這樣的東西確實(shí)頭疼。我只是想好好了解一下Jmeter的使用啊,能不能完整的介紹一下?。课也恍枰私饽敲炊嗥渌牡谌焦ぞ甙。磕懿荒芙貍€(gè)圖說(shuō)的清楚一點(diǎn)???這個(gè)步驟里的參數(shù)是干嘛的???對(duì)應(yīng)的什么啊?你的這一步我怎么出現(xiàn)問(wèn)題了???怎么不說(shuō)解決方法啊。。。這應(yīng)該是我前段時(shí)間查找Jmeter資料內(nèi)心最多的問(wèn)題了,真是嗶了狗了(我是一個(gè)優(yōu)雅的程序猿,很少講粗話啦~嘿嘿)。對(duì)于使用某種新的東西,我的習(xí)慣往往是先把流程完整的跑一遍,記住,是完整,清晰,好歹別人看了之后對(duì)應(yīng)著自己的需求也能照搬著實(shí)現(xiàn),吐槽了夠多了,開始進(jìn)入正題,我把我遇到的坑都說(shuō)清楚,包括后來(lái)怎么從坑里爬出來(lái)的。。。

步驟一? 安裝Jmeter

??? 我用的版本是3.1版本,為什么是3.1,因?yàn)?.2有問(wèn)題,我也是跑了一段時(shí)間后才知道3.2版本太新了還是什么的,有些功能就是不行,在此建議大家,不要輕易使用最新版本,次新版本就可以了。安裝好了之后Jmeter的bin目錄下有個(gè)Jmeter.bat文件,雙擊就能運(yùn)行了。

步驟二? 使用Jmeter測(cè)試未登錄頁(yè)面

??? 運(yùn)行軟件之后,我們當(dāng)然要找個(gè)鏈接測(cè)試一下啦,這里我們以百度為例,我們右擊“測(cè)試計(jì)劃”——“添加”——“Threads(Users)——線程組”,這樣就建了一個(gè)線程組了,這是干嘛,當(dāng)然是跑線程用的啊。有了線程組之后,我們?cè)儆覔艟€程組,“添加”——“配置元件”——“http請(qǐng)求默認(rèn)值”,這個(gè)默認(rèn)值是干嘛的?里面可以設(shè)置一些常用的默認(rèn)的設(shè)置(這不是廢話嘛~),在http請(qǐng)求默認(rèn)值面板里面,我們可以輸入要測(cè)試的服務(wù)器的IP或者域名,這里我們輸入“www.baidu.com”,協(xié)議是“https”,你要測(cè)試的網(wǎng)址如果是http開頭那就填“http”,其他默認(rèn)不管了,這時(shí)候點(diǎn)擊左上角保存會(huì)彈出一個(gè)保存框,這是讓你保存你現(xiàn)在所做的測(cè)試配置,以后需要再測(cè)試的話的直接打開保存的jmx文件就行了。保存完了之后,我們?cè)儆覔簟熬€程組”——“添加”——“Sampler”——“http請(qǐng)求”,哎,剛剛不是添加過(guò)了嗎?剛剛那個(gè)不是哦,剛剛那個(gè)只是默認(rèn)值,只是用來(lái)設(shè)置一些默認(rèn)配置,真正發(fā)起請(qǐng)求的是“http請(qǐng)求”,在http請(qǐng)求里面我們?cè)凇奥窂健崩锩孑斎胄备堋?”就行啦,表示默認(rèn)路徑,IP那一欄就不用輸入了,為什么呢?因?yàn)樵趆ttp請(qǐng)求默認(rèn)值里面已經(jīng)輸過(guò)啦,以后可以新建多個(gè)http請(qǐng)求,只要修改路徑就行了,這樣就可以訪問(wèn)同一個(gè)網(wǎng)站的不同頁(yè)面,這就是“http請(qǐng)求默認(rèn)值”的意義所在,把一些共用的設(shè)置寫一遍就好了。接著,我們?cè)儆覔簟熬€程組”——“添加”——“監(jiān)聽器”——“察看結(jié)果數(shù)”,在這里可以查看到http請(qǐng)求和結(jié)果。每次新建組件和修改配置信息都要點(diǎn)擊保存,好了,頁(yè)面配置圖如下所示:

??? 現(xiàn)在我們點(diǎn)擊工具欄的綠色運(yùn)行按鈕,就可以在“察看結(jié)果樹”中看到結(jié)果了

??? 我們新建的“http請(qǐng)求”返回結(jié)果200,表明請(qǐng)求成功,從綠色打鉤也能看出,上圖中的下拉列表框可以選擇顯示格式,我們選擇HTML,切換到“響應(yīng)數(shù)據(jù)”就可以看到返回頁(yè)面,也就是百度首頁(yè)。

步驟三? 設(shè)置線程并發(fā)數(shù)

??? 剛剛我們完成了一個(gè)簡(jiǎn)單的測(cè)試,你也應(yīng)該感覺(jué)到自己啥也沒(méi)干,就能測(cè)試了,其實(shí)不然,我們點(diǎn)擊“線程組”可以看到線程組的設(shè)置頁(yè)面,默認(rèn)設(shè)置1個(gè)線程,1秒啟動(dòng),循環(huán)1次。線程數(shù)表示啟動(dòng)多少個(gè)線程,Ramp-Up Period表示花多長(zhǎng)時(shí)間啟動(dòng)所有線程,循環(huán)次數(shù)表示每個(gè)線程的執(zhí)行次數(shù),例如,我設(shè)置線程數(shù)10,Ramp-Up Period為10,循環(huán)次數(shù)2,表示軟件將在10秒內(nèi)啟動(dòng)10個(gè)線程,也就是1秒啟動(dòng)1個(gè)線程,每個(gè)線程執(zhí)行兩次請(qǐng)求。

??? 此外,我們還可以勾選“調(diào)度器”,比如我填入持續(xù)時(shí)間100,啟動(dòng)延遲0,將循環(huán)次數(shù)勾選“永遠(yuǎn)”,表示線程立即啟動(dòng),執(zhí)行100秒后停止,注意,如果設(shè)置了持續(xù)時(shí)間和啟動(dòng)延遲,那么下面的啟動(dòng)時(shí)間和結(jié)束時(shí)間就不起作用了,也就不用管了,點(diǎn)擊運(yùn)行即可。

步驟四? 設(shè)置其他監(jiān)聽器

??? 之前我們僅僅設(shè)置了“察看結(jié)果樹”這個(gè)監(jiān)聽器,我們右擊“線程組”——“添加”——“監(jiān)聽器”,里面有好多監(jiān)聽器可供選擇,比如圖形結(jié)果,用表格查看結(jié)果,聚合報(bào)告等等,這些都是反映測(cè)試過(guò)程的指標(biāo)數(shù)據(jù)。圖形結(jié)果以圖形的形式顯示吞吐量、偏移、平均值等信息,表格結(jié)果顯示每一次請(qǐng)求的時(shí)間,返回,發(fā)送字節(jié)數(shù),連接時(shí)間等等,聚合報(bào)告里面顯示總體請(qǐng)求的吞吐量,錯(cuò)誤率等等。下圖為表格結(jié)果的樣式。

? ?可以看出,圖中顯示了20個(gè)Http請(qǐng)求,分別由10個(gè)線程執(zhí)行,每個(gè)線程執(zhí)行兩次,正好符合我們對(duì)于線程組的設(shè)置。圖中每一列的含義分別表示請(qǐng)求序號(hào),開始時(shí)間,線程序號(hào),請(qǐng)求名,請(qǐng)求所花的時(shí)間,請(qǐng)求狀態(tài),請(qǐng)求字節(jié)數(shù),發(fā)送字節(jié)數(shù),等待時(shí)長(zhǎng),連接時(shí)間。

??? 聚合報(bào)告如下圖所示,每一列的含義分別表示請(qǐng)求名稱,請(qǐng)求總數(shù),請(qǐng)求的平均響應(yīng)時(shí)間(毫秒),50%的請(qǐng)求的響應(yīng)時(shí)間,90%的請(qǐng)求的響應(yīng)時(shí)間,95%的請(qǐng)求的響應(yīng)時(shí)間,99%的請(qǐng)求的響應(yīng)時(shí)間,最小的響應(yīng)時(shí)間,最大的響應(yīng)時(shí)間,錯(cuò)誤的請(qǐng)求率(錯(cuò)誤請(qǐng)求數(shù)/總的請(qǐng)求數(shù)),吞吐量(每秒處理的請(qǐng)求數(shù)),接收的字節(jié)速率,發(fā)送的字節(jié)速率。

步驟五? 登錄測(cè)試

??? 前面我們測(cè)試的頁(yè)面是不需要登錄的,現(xiàn)在我們來(lái)測(cè)試一下登錄操作,由于登錄操作涉及到具體的內(nèi)部網(wǎng)址和參數(shù),我這里就用一般網(wǎng)址和參數(shù)代替,但是方法是一樣的,例如,我們內(nèi)網(wǎng)IP是1.1.1.1,登錄頁(yè)面是1.1.1.1/login.do,我們將1.1.1.1填入“http請(qǐng)求默認(rèn)值”,將/login.do填入“http請(qǐng)求”的路徑里面,關(guān)于登錄需要的參數(shù)我要特別說(shuō)明一下,一般來(lái)說(shuō)就是用戶名和密碼,但是往往還需要其他參數(shù),我們可以通過(guò)抓包工具Fiddler進(jìn)行抓包,我們?cè)诰W(wǎng)站中進(jìn)行一次正常登錄,可以在Fiddler中看到登錄需要的post參數(shù),例如Fiddler中顯示登錄操作post參數(shù)有username,password,type,那么需要在“http請(qǐng)求”里面填入,下圖所示。

??? 點(diǎn)擊“添加”按鈕就可以添加參數(shù)了,保存好后,我們點(diǎn)擊運(yùn)行,就可以在察看結(jié)果樹中看到登錄成功后的頁(yè)面了,具體的操作和前面一樣的。

步驟六? 會(huì)話保持

??? 我們進(jìn)入登錄后的頁(yè)面后,我還想訪問(wèn)例如“我的賬戶”,“我的信息”等模塊怎么辦,這些網(wǎng)頁(yè)需要登錄成功后才能訪問(wèn)到,這里我們就需要進(jìn)行會(huì)話的保持,我們右擊“線程組”——“添加”——“配置元件”——“httpcookie管理器”,要添加的內(nèi)容我們可以在察看結(jié)果樹的“請(qǐng)求”選項(xiàng)卡里面看到,里面可以看到登錄需要的cookie,例如JSESSIONID,我們將JSESSIONID填入cookie管理器的參數(shù)里面,如下

??? 此時(shí),我們?cè)趆ttp請(qǐng)求里面輸入登錄后的頁(yè)面網(wǎng)址,例如“我的信息”等等,就可以請(qǐng)求成功啦。

步驟七? 文件讀取網(wǎng)址

??? 我們?cè)凇癶ttp請(qǐng)求”的路徑里面填入的是我們要訪問(wèn)的網(wǎng)頁(yè),每次只能填一個(gè),假如我想訪問(wèn)好幾個(gè)網(wǎng)頁(yè),例如首頁(yè),通知頁(yè),公司介紹頁(yè)等等,除了新建http請(qǐng)求外,我們還可以將這些網(wǎng)頁(yè)的地址存儲(chǔ)在TXT文件里,例如,我要訪問(wèn)1.1.1.1/index.do,1.1.1.1/information.do,1.1.1.1/company.do,我們可以這樣

??? 網(wǎng)址填入后,我們?cè)贘meter里面的“選項(xiàng)”——“函數(shù)助手對(duì)話框”——“StringFromFile”,將TXT的完整路徑貼到圖中位置,點(diǎn)擊生成,可以在框里生成TXT文件的讀取路徑。

??? 我們將$開頭的那串路徑貼到“http請(qǐng)求”的路徑里面,就可以訪問(wèn)到TXT里面的所有網(wǎng)頁(yè)啦,如圖所示。

步驟八? 服務(wù)器狀態(tài)實(shí)時(shí)監(jiān)聽

??? 上面我們介紹了幾個(gè)Jmeter自帶的監(jiān)聽器,不知你是否感覺(jué)到有一點(diǎn)點(diǎn)無(wú)力,因?yàn)槔锩骘@示的指標(biāo)好像都不是你特別需要的,至少對(duì)于我來(lái)說(shuō),我更關(guān)心我的請(qǐng)求執(zhí)行過(guò)程中服務(wù)器狀態(tài)的改變,例如CPU,內(nèi)存,磁盤,網(wǎng)絡(luò),TPS,響應(yīng)時(shí)間圖等等,因?yàn)檫@才是壓力測(cè)試的目的所在,服務(wù)器狀態(tài)隨著請(qǐng)求增加的變化曲線才是我們更加需要看到的。想看到服務(wù)器變化的曲線圖,我們需要下載JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar,將這兩個(gè)jar包放入Jmeter的安裝路徑下的lib/ext/下面,重啟Jmeter后,右擊“線程組”——“添加”——“監(jiān)聽器”,我們可以看到多了好多監(jiān)聽器,大多數(shù)以“jp@gc”開頭的監(jiān)聽器,我們選擇“PerfMon Metrics Collector”,里面將會(huì)顯示服務(wù)器的狀態(tài)信息,現(xiàn)在還看不到,為什么,因?yàn)橐獪y(cè)試的服務(wù)器需要安裝一個(gè)包,叫ServerAgent.zip,比如我的服務(wù)器是linux,我們將ServerAgent在服務(wù)器中解壓,運(yùn)行里面的startAgent.sh就可以啦,啟動(dòng)起來(lái)后可以看到如下

默認(rèn)端口是4444,在這里我要插一句,我當(dāng)時(shí)運(yùn)行后通過(guò)Telnet始終ping不到4444端口導(dǎo)致顯示不了,后來(lái)改成4445端口啟動(dòng)就可以了,具體的服務(wù)器命令是ServerAgent-2.2.3/startAgent.sh--udp-port 4445 --tcp-port 4445,這樣就表示將serverAgent在4445端口啟動(dòng),你可以將4445換成其他端口,如果默認(rèn)的4444端口不行的小伙伴可以試試其他端口哦。好了,我們回到Jmeter軟件,按下圖填入服務(wù)器的地址和端口號(hào),以及需要監(jiān)控的硬件,如CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)等等。

??? 好了,我們點(diǎn)擊運(yùn)行,可以在chart下看到服務(wù)器的狀態(tài)變化曲線啦

??? 怎么樣,是你想要的吧,其實(shí)監(jiān)聽器里面還有很多其他的曲線,看英文就知道,比如TPS曲線,響應(yīng)時(shí)間曲線等等,這些你都可以自己添加,我就不贅述啦。好了,本篇博客的內(nèi)容就到這了,有什么不對(duì)的地方歡迎評(píng)論,我們一起討論一起進(jìn)步,謝謝!

到此這篇關(guān)于Jmeter壓力測(cè)試簡(jiǎn)單教程(包括服務(wù)器狀態(tài)監(jiān)控)的文章就介紹到這了,更多相關(guān)Jmeter壓力測(cè)試內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java多線程面試題(面試官常問(wèn))

    Java多線程面試題(面試官常問(wèn))

    這篇文章主要介紹了Java多線程面試題(面試官常問(wèn)),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Java線程中的interrupt詳解

    Java線程中的interrupt詳解

    這篇文章主要介紹了Java線程中的interrupt詳解,interrupt翻譯成中文為“打斷”的意思,但實(shí)際上,interrupt()方法并非將一個(gè)線程打中斷的意思,本文提供了部分實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2023-09-09
  • MyBatis-Plus中的邏輯刪除使用詳解

    MyBatis-Plus中的邏輯刪除使用詳解

    開發(fā)系統(tǒng)時(shí),有時(shí)候在實(shí)現(xiàn)功能時(shí),刪除操作需要實(shí)現(xiàn)邏輯刪除就是將數(shù)據(jù)標(biāo)記為刪除,而并非真的物理刪除(非DELETE操作),查詢時(shí)需要攜帶狀態(tài)條件,確保被標(biāo)記的數(shù)據(jù)不被查詢到。這樣做的目的就是避免數(shù)據(jù)被真正的刪除
    2022-12-12
  • spring boot中各個(gè)版本的redis配置問(wèn)題詳析

    spring boot中各個(gè)版本的redis配置問(wèn)題詳析

    這篇文章主要給大家介紹了關(guān)于spring boot中各個(gè)版本的redis配置問(wèn)題的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • SpringBoot訪問(wèn)靜態(tài)資源的配置及順序說(shuō)明

    SpringBoot訪問(wèn)靜態(tài)資源的配置及順序說(shuō)明

    這篇文章主要介紹了SpringBoot訪問(wèn)靜態(tài)資源的配置及順序說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Spring Cloud Feign的使用案例詳解

    Spring Cloud Feign的使用案例詳解

    Feign是Netflix開發(fā)的?個(gè)輕量級(jí)RESTful的HTTP服務(wù)客戶端(?它來(lái)發(fā)起請(qǐng)求,遠(yuǎn)程調(diào)?的),是以Java接?注解的?式調(diào)?Http請(qǐng)求,F(xiàn)eign被?泛應(yīng)?在Spring Cloud 的解決?案中,本文給大家介紹Spring Cloud Feign的使用,感興趣的朋友一起看看吧
    2023-02-02
  • Java黑盒測(cè)試之nextDate函數(shù)測(cè)試

    Java黑盒測(cè)試之nextDate函數(shù)測(cè)試

    這篇文章主要介紹了Java黑盒測(cè)試之nextDate函數(shù)測(cè)試,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)Java黑盒測(cè)試的小伙伴們有很大的幫助哦,需要的朋友可以參考下
    2021-05-05
  • java實(shí)現(xiàn)http的Post、Get、代理訪問(wèn)請(qǐng)求

    java實(shí)現(xiàn)http的Post、Get、代理訪問(wèn)請(qǐng)求

    這篇文章主要為大家提供了java實(shí)現(xiàn)http的Post、Get、代理訪問(wèn)請(qǐng)求的相關(guān)代碼,感興趣的小伙伴們可以參考一下
    2016-01-01
  • Java基礎(chǔ)-Java常量和常量值

    Java基礎(chǔ)-Java常量和常量值

    這篇文章主要介紹了Java基礎(chǔ)-Java常量和常量值,在程序中存在大量的數(shù)據(jù)來(lái)代表程序的狀態(tài),其中有些數(shù)據(jù)在程序運(yùn)行過(guò)程中值不能發(fā)生改變,這些數(shù)據(jù)在程序中被叫做常量,下面文章對(duì)Java常量和常量值的詳細(xì)內(nèi)容,需要的小伙伴可以參考一下
    2022-01-01
  • 快速搭建springboot項(xiàng)目(新手入門)

    快速搭建springboot項(xiàng)目(新手入門)

    本文主要介紹了快速搭建springboot項(xiàng)目(新手入門),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07

最新評(píng)論