實(shí)戰(zhàn):利用Jmeter在生產(chǎn)環(huán)境上進(jìn)行壓測(cè)

我的上一篇文章:Mac上Python Web的部署:Nginx+Gunicorn+Flask+Supervisor,解釋了生產(chǎn)環(huán)境的部署
那么既然用上了嗷嗷好用的web服務(wù)器,性能比f(wàn)lask等框架自帶的強(qiáng)了許多媳拴,要不來(lái)壓測(cè)一把拆火?下面就來(lái)看看如何在生產(chǎn)環(huán)境進(jìn)行壓測(cè)府适。
工具我們選用jmeter唯绍,如何使用jmeter寫壓測(cè)腳本,不在本文贅述偿荷。因此我們認(rèn)為你已經(jīng)準(zhǔn)備好了一份可以運(yùn)行的腳本窘游。

一、施壓機(jī)的準(zhǔn)備

首先準(zhǔn)備腳本的時(shí)候跳纳,可以在自己工作電腦上寫和調(diào)試忍饰。但是一般不建議直接用自己的工作電腦當(dāng)做施壓機(jī),對(duì)生產(chǎn)環(huán)境的服務(wù)器進(jìn)行壓測(cè)寺庄。
因?yàn)槲覀儽镜氐臋C(jī)器到生產(chǎn)環(huán)境上艾蓝,可能存在網(wǎng)絡(luò)等各位問(wèn)題,不一定能反映出真實(shí)的性能斗塘。因此赢织,我們需要在生產(chǎn)環(huán)境上準(zhǔn)備一臺(tái)機(jī)器,作為施壓機(jī)馍盟。
如果是在公司里面于置,一般讓運(yùn)維去搞就好了,告訴他被壓機(jī)器的網(wǎng)段贞岭,以及機(jī)器性能需求八毯,他會(huì)給你準(zhǔn)備好。然后安裝上jmeter瞄桨。

舉個(gè)例子话速,我曾經(jīng)做過(guò)實(shí)驗(yàn),對(duì)比本機(jī)和生產(chǎn)環(huán)境作為施壓機(jī)芯侥,運(yùn)行同樣的腳本泊交,得到的結(jié)果相差近10倍。因此想要得到準(zhǔn)確的結(jié)果柱查,必須使用生產(chǎn)環(huán)境的機(jī)器來(lái)施壓廓俭。

二、壓測(cè)腳本

jmeter建議只用GUI工具用來(lái)調(diào)試腳本物赶,實(shí)際運(yùn)行腳本要在命令行上運(yùn)行白指。
因?yàn)閖meter用Java開(kāi)發(fā)的留晚,圖形化本身會(huì)占用較多資源酵紫,導(dǎo)致壓測(cè)機(jī)本身能產(chǎn)生的并發(fā)少告嘲,命令行會(huì)節(jié)省圖形界面的資源開(kāi)銷。
如果是生產(chǎn)環(huán)境上的施壓機(jī)奖地,一般是純命令行的linux橄唬,自然也只能用命令行來(lái)操作。

所以你需要學(xué)會(huì)上傳壓測(cè)腳本到施壓機(jī)参歹,以及如何使用命令行啟動(dòng)jmeter執(zhí)行壓測(cè)仰楚。壓測(cè)完了之后,還需要把生成的報(bào)告等文件再下載到本機(jī)進(jìn)行整理犬庇。

  1. 上傳僧界、下載
    我們通常使用rz/sz命令,和Linux服務(wù)器進(jìn)行文件上傳下載臭挽。
    如果你用的終端不支持這個(gè)命令捂襟,請(qǐng)搜索并安裝。比如我的Mac就不支持欢峰。

  2. 通過(guò)命令行進(jìn)行壓測(cè)
    我的壓測(cè)腳本已經(jīng)上傳到了/Users/cynthia/test20190419.jmx葬荷,直接運(yùn)行下面的命令

jmeter -n -t /Users/cynthia/test20190419.jmx  -l /Users/cynthia/test20190419.jtl -e -o /Users/cynthia/test20190419

這樣會(huì),生成jtl文件纽帖,和一份html格式的報(bào)告宠漩。
當(dāng)然你也可以只生成jtl文件,稍后再通過(guò)下面的命令生成報(bào)告:

jmeter -g test20190419.jtl -e -o /Users/cynthia/test20190419
  1. 打包上傳懊直、解壓
    壓測(cè)一般都會(huì)做好幾組扒吁,也會(huì)生成很多文件,所以打包之后再傳輸?shù)奖镜乇容^方便室囊。
    使用下面的命令瘦陈,就可以把/Users/cynthia/文件夾里的所有文件,壓縮成一個(gè)包波俄,并進(jìn)行傳輸晨逝。
tar -czf cynthia20190419.tar.gz /Users/cynthia/
sz cynthia20190419.tar.gz

傳輸?shù)奖镜刂螅褂孟旅娴拿罱鈮?:

tar -xzf cynthia20190419.tar.gz

三懦铺、關(guān)注服務(wù)器的性能指標(biāo)

jmeter可以通過(guò)插件的方式來(lái)監(jiān)控服務(wù)器的各項(xiàng)指標(biāo)捉貌。不過(guò)一般公司都會(huì)有自己的監(jiān)控系統(tǒng),比如zabbix等冬念,功能更為強(qiáng)大趁窃。本文我們就用zabbix來(lái)進(jìn)行監(jiān)控。

下面來(lái)說(shuō)說(shuō)如何設(shè)置zabbix的監(jiān)控屏幕:
登錄zabbix急前,Monitoring-->Screens-->Create Screen醒陆,輸入行列新建一個(gè)面板,然后點(diǎn)進(jìn)去裆针,Edit screen刨摩,增加你想要監(jiān)控的機(jī)器相關(guān)指標(biāo)寺晌,即可。
這里可以監(jiān)控CPU load,CPU utilization,Disk space usage,Disk vda IOPS,Disk vda IO speed,Disk vda IO util,Disk vda IO wait,Free memory space,Memory usage,Network traffic,Operations read and write,Read and Write speed,Sectors read and write,Swap usage,Tcp State等等各項(xiàng)指標(biāo)澡刹。

設(shè)置好監(jiān)控屏幕之后呻征,只需要在壓測(cè)過(guò)程中查看該頁(yè)面,就可以圖形化的顯示出你所關(guān)注的服務(wù)器的性能指標(biāo)罢浇。

小提示:由于可以監(jiān)控的指標(biāo)眾多陆赋,所以建議在壓測(cè)開(kāi)始之前,根據(jù)自己的具體情況嚷闭,確定好關(guān)注的指標(biāo)攒岛,添加并監(jiān)控即可。否則添加了太多胞锰,看起來(lái)也挺累的阵子。

另外,如果還有其他人也很關(guān)注這次的壓測(cè)情況胜蛉,請(qǐng)務(wù)必提前和他溝通挠进,問(wèn)清楚他關(guān)注的指標(biāo),免得測(cè)完了才發(fā)現(xiàn)只添加了自己關(guān)注的指標(biāo)……

四誊册、數(shù)據(jù)整理

對(duì)于jmeter直接生成的報(bào)告领突,要檢查并結(jié)合實(shí)際情況,進(jìn)行整理案怯。不要看到錯(cuò)誤率很高就以為一定是真正的出錯(cuò)君旦,可能的原因有很多。

比如:
服務(wù)器對(duì)連接數(shù)嘲碱、高并發(fā)等做了限制金砍,因此用戶數(shù)加上去之后會(huì)出現(xiàn)大量錯(cuò)誤。此時(shí)可以在服務(wù)器端修改連接數(shù)限制麦锯,或者針對(duì)施壓機(jī)增加白名單恕稠。
jmeter對(duì)于error的默認(rèn)判斷標(biāo)準(zhǔn),并不符合實(shí)際某些場(chǎng)景扶欣,此時(shí)要么在腳本中增加一些后置處理鹅巍,要么根據(jù)壓測(cè)生成的文件,自行手動(dòng)處理料祠。

五骆捧、服務(wù)器下線

由于是生產(chǎn)環(huán)境機(jī)器,很多情況下有費(fèi)用產(chǎn)生髓绽,而壓測(cè)一般只是短期需求敛苇,所以壓測(cè)結(jié)束之后,把相關(guān)數(shù)據(jù)備份完畢顺呕,就可以進(jìn)行服務(wù)器下線操作,節(jié)省費(fèi)用。土豪隨意弛车。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子忌卤,更是在濱河造成了極大的恐慌扫夜,老刑警劉巖,帶你破解...
    沈念sama閱讀 221,548評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件驰徊,死亡現(xiàn)場(chǎng)離奇詭異笤闯,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)棍厂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門颗味,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人牺弹,你說(shuō)我怎么就攤上這事浦马。” “怎么了张漂?”我有些...
    開(kāi)封第一講書人閱讀 167,990評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵晶默,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我航攒,道長(zhǎng)磺陡,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 59,618評(píng)論 1 296
  • 正文 為了忘掉前任漠畜,我火速辦了婚禮币他,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘憔狞。我一直安慰自己蝴悉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布瘾敢。 她就那樣靜靜地躺著辫封,像睡著了一般。 火紅的嫁衣襯著肌膚如雪廉丽。 梳的紋絲不亂的頭發(fā)上倦微,一...
    開(kāi)封第一講書人閱讀 52,246評(píng)論 1 308
  • 那天,我揣著相機(jī)與錄音正压,去河邊找鬼欣福。 笑死,一個(gè)胖子當(dāng)著我的面吹牛焦履,可吹牛的內(nèi)容都是我干的拓劝。 我是一名探鬼主播雏逾,決...
    沈念sama閱讀 40,819評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼郑临!你這毒婦竟也來(lái)了栖博?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,725評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤厢洞,失蹤者是張志新(化名)和其女友劉穎仇让,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體躺翻,經(jīng)...
    沈念sama閱讀 46,268評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡丧叽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了公你。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片踊淳。...
    茶點(diǎn)故事閱讀 40,488評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖陕靠,靈堂內(nèi)的尸體忽然破棺而出迂尝,到底是詐尸還是另有隱情,我是刑警寧澤剪芥,帶...
    沈念sama閱讀 36,181評(píng)論 5 350
  • 正文 年R本政府宣布雹舀,位于F島的核電站,受9級(jí)特大地震影響粗俱,放射性物質(zhì)發(fā)生泄漏说榆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評(píng)論 3 333
  • 文/蒙蒙 一寸认、第九天 我趴在偏房一處隱蔽的房頂上張望签财。 院中可真熱鬧,春花似錦偏塞、人聲如沸唱蒸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,331評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)神汹。三九已至,卻和暖如春古今,著一層夾襖步出監(jiān)牢的瞬間屁魏,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,445評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工捉腥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留氓拼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,897評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像桃漾,于是被迫代替她去往敵國(guó)和親坏匪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評(píng)論 2 359