壓測(cè)http服務(wù)經(jīng)驗(yàn):如何搭建tomcat壓測(cè)環(huán)境

目的

壓測(cè)服務(wù),找到服務(wù)器里應(yīng)用的瓶頸。

選取業(yè)務(wù)

選取了高PV的業(yè)務(wù),和用戶能一步觸達(dá)的業(yè)務(wù)(本人指的“一步觸達(dá)”,是指通過(guò)推送或者其他途徑,可以快速進(jìn)入的業(yè)務(wù))。如:閃屏廣告、評(píng)論列表等

測(cè)試工具

  • Jmeter:Jmeter是一個(gè)壓測(cè)工具,可以模擬高并發(fā)情景,可以利用斷言查看返回結(jié)果,還有大量指標(biāo)可以觀察壓測(cè)狀況。
f9de5eda-9ea0-44c6-9896-a6a04f6da39d.png

1.Jmeter可以配置多種控制器,根據(jù)不同需求選擇,本人選擇的是“簡(jiǎn)單控制器”;

2.斷言,根據(jù)響應(yīng)內(nèi)容來(lái)斷定是否請(qǐng)求成功;

3.聚合報(bào)告,各路指標(biāo),重點(diǎn)考察:平均響應(yīng)時(shí)間/中位數(shù)/cpu峰值/錯(cuò)誤率/吞吐量(qps)。

503954d8-a571-41be-b0d2-698b6752c280.png
  • visualVM:這是一款jdk內(nèi)置的工具,用于內(nèi)存泄露、性能瓶頸的分析,一般在以下路徑

你的文件路徑\jdk1.8.0_91\bin

接下來(lái),需要配置tomcat下的catalina.sh


JAVA_OPTS='-XX:+UseG1GC -XX:+UseStringDeduplication -Dcom.sun.management.jmxremote -XX:+HeapDumpOnOutOfMemoryError'

#服務(wù)器IP

JAVA_OPTS='-Djava.rmi.server.hostname=121.41.XX.XX'

#監(jiān)聽(tīng)端口 

JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.port=8999"   

JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.ssl=false"

#開(kāi)起用戶名密碼登錄

JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.authenticate=true" 

#設(shè)置密碼文件路徑

JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.password.file=/mnt/tomcat/tomcat_8181/conf/jmxremote.password" 

#設(shè)置用戶權(quán)限文件路徑

JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote.access.file=/mnt/tomcat/tomcat_8181/conf/jmxremote.access" 

這些配置都會(huì)在本地的visualVM登錄時(shí)使用,登錄以后便可查看jvm的堆棧,線程情況

a2e3fc08-4df1-4226-9c2d-fdc8f8712636.png
  • 服務(wù)器使用jstat -gcutil PID,查看GC收集時(shí)間。

  • 觀察cpu

可以啟動(dòng)腳本


while true ; do

    top -p PID -n 1 -b > temp.log ;

    cat temp.log |  awk 'NR==8  {printf $9 " cpu per "  $10 " memory per " '"\"$(date  +%Y-%m-%d-%H:%M:%S)\""'  " \n"}' | tee -a top_v1.log;

    sleep 1;

done

參數(shù)控制

在測(cè)試過(guò)程中,會(huì)對(duì)部分參數(shù)進(jìn)行設(shè)置,進(jìn)而觀察結(jié)果變化。

  • 并發(fā)數(shù):100-1000之間

  • mysql連接數(shù):200和800

  • redis連接數(shù):1000和2000

(mysql和redis的連接數(shù),只有兩個(gè)結(jié)點(diǎn),沒(méi)有中間取值)

  • jvm啟動(dòng)參數(shù),上文catalina.sh已經(jīng)配置了

-XX:+UseG1GC -XX:+UseStringDeduplication

關(guān)系圖

d04f359d-e983-434f-998e-6f0f6f869a09.png

注意點(diǎn)

  • 服務(wù)器和本機(jī)盡可能在一個(gè)內(nèi)網(wǎng),這個(gè)很重要,盡量減少路由器,網(wǎng)卡等吞吐量的影響。

  • 如果單單壓測(cè)服務(wù)器,為了找到應(yīng)用的極限的話,最好把mysql/redis的連接數(shù)增大,甚至業(yè)務(wù)里壓根沒(méi)有mysql和redis連接。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,963評(píng)論 6 542
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,348評(píng)論 3 429
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 178,083評(píng)論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 63,706評(píng)論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,442評(píng)論 6 412
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 55,802評(píng)論 1 328
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,795評(píng)論 3 446
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 42,983評(píng)論 0 290
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,542評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,287評(píng)論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,486評(píng)論 1 374
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,030評(píng)論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,710評(píng)論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 35,116評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 36,412評(píng)論 1 294
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,224評(píng)論 3 398
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,462評(píng)論 2 378

推薦閱讀更多精彩內(nèi)容