久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

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

 huowufenghuang 2018-08-16

    前段時(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)題了?。吭趺床徽f(shuō)解決方法啊,。,。。這應(yīng)該是我前段時(shí)間查找Jmeter資料內(nèi)心最多的問(wèn)題了,,真是嗶了狗了(我是一個(gè)優(yōu)雅的程序猿,,很少講粗話啦~嘿嘿)。對(duì)于使用某種新的東西,,我的習(xí)慣往往是先把流程完整的跑一遍,,記住,是完整,,清晰,,好歹別人看了之后對(duì)應(yīng)著自己的需求也能照搬著實(shí)現(xiàn),吐槽了夠多了,,開(kāi)始進(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開(kāi)頭那就填“http”,,其他默認(rèn)不管了,這時(shí)候點(diǎn)擊左上角保存會(huì)彈出一個(gè)保存框,,這是讓你保存你現(xiàn)在所做的測(cè)試配置,,以后需要再測(cè)試的話的直接打開(kāi)保存的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è)置寫(xiě)一遍就好了。接著,,我們?cè)儆覔簟熬€程組”——“添加”——“監(jiān)聽(tīng)器”——“察看結(jié)果數(shù)”,在這里可以查看到http請(qǐng)求和結(jié)果,。每次新建組件和修改配置信息都要點(diǎn)擊保存,,好了,頁(yè)面配置圖如下所示:

   


    現(xiàn)在我們點(diǎn)擊工具欄的綠色運(yùn)行按鈕,,就可以在“察看結(jié)果樹(shù)”中看到結(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)聽(tīng)器

    之前我們僅僅設(shè)置了“察看結(jié)果樹(shù)”這個(gè)監(jiān)聽(tīng)器,,我們右擊“線程組”——“添加”——“監(jiān)聽(tīng)器”,里面有好多監(jiān)聽(tīng)器可供選擇,比如圖形結(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),,開(kāi)始時(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é)果樹(shù)中看到登錄成功后的頁(yè)面了,具體的操作和前面一樣的,。

    步驟六  會(huì)話保持

    我們進(jìn)入登錄后的頁(yè)面后,,我還想訪問(wèn)例如“我的賬戶”,“我的信息”等模塊怎么辦,,這些網(wǎng)頁(yè)需要登錄成功后才能訪問(wèn)到,,這里我們就需要進(jìn)行會(huì)話的保持,我們右擊“線程組”——“添加”——“配置元件”——“httpcookie管理器”,,要添加的內(nèi)容我們可以在察看結(jié)果樹(shù)的“請(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文件的讀取路徑,。


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


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

    上面我們介紹了幾個(gè)Jmeter自帶的監(jiān)聽(tīng)器,,不知你是否感覺(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)存,,磁盤(pán),網(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)聽(tīng)器”,我們可以看到多了好多監(jiān)聽(tīng)器,,大多數(shù)以“jp@gc”開(kāi)頭的監(jiān)聽(tīng)器,,我們選擇“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)存,,磁盤(pán),網(wǎng)絡(luò)等等,。


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


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

 

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式,、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多