最近做了一個(gè)月的服務(wù)器壓力測(cè)試呼巴,廢話不多說,講一講使用的軟件tsung,若有不足或錯(cuò)誤之處還望提出寸认。
tsung簡(jiǎn)介:tsung是基于erlang語言的,tsung現(xiàn)只能運(yùn)行在linux版本下串慰,是在erlang虛擬機(jī)上創(chuàng)建大量的虛擬用戶偏塞,來對(duì)服務(wù)器進(jìn)行壓力測(cè)試,1.5.1版本后開始支持mqtt邦鲫,最新版本1.6.0灸叼,1.6.0版本開始支持mqtt的用戶名密碼認(rèn)證。tsung也支持http庆捺、mysql古今。
tsung工作原理:(1)Tsung的每一個(gè)虛擬用戶就是一個(gè)erlang的輕量進(jìn)程。這點(diǎn)和loadrunner有很大的區(qū)別滔以。(2)虛擬用戶完成session后就消失捉腥。(3)大量的虛擬用戶(erlang輕量進(jìn)程)建立在erlangVM上。(4)一臺(tái)測(cè)試機(jī)可以啟多個(gè)erlangVM你画,目前按照1個(gè)cpu啟動(dòng)1個(gè)erlangVM
tsung安裝抵碟,我就不多說了,網(wǎng)上都是可以搜索到的
tsung的配置使用:
1坏匪、在root下新建.tsung文件拟逮,在.tsung文件新建log文件夾。.tsung文件用于存放log和xml文件
2适滓、復(fù)制/usr/local/tsung/share/doc/tsung/examples/目錄下的xml文件到.tsung文件下(http壓力測(cè)試http_simple.xml敦迄,mqtt壓力測(cè)試mqtt.xml,mysql壓力測(cè)試mysql.xml),并重命名為tsung.xml
3、運(yùn)行默認(rèn)執(zhí)行腳本~/.tsung/tsung.xml配置凭迹,修改tsung.xml文件罚屋,如下
4、clients:
可指定多個(gè)client蕊苗,若指定多個(gè)client沿后,則要保證各個(gè)client之間可以ssh無密碼登錄,并且erlang版本需一致朽砰。host為本地ip指定的域名(此處不能用ip地址)尖滚,use_controller_vm為true時(shí)喉刘,當(dāng)用戶量增加到maxusers時(shí),就是終止程序漆弄,當(dāng)為false時(shí)睦裳,當(dāng)用戶量增加到maxusers時(shí),會(huì)重新創(chuàng)建一個(gè)虛擬機(jī)撼唾,然后繼續(xù)在新虛擬機(jī)上運(yùn)行腳本 廉邑。(若主機(jī)為單核,請(qǐng)?jiān)O(shè)置use_controller_vm為true)
注:host大多數(shù)情況下為localhost倒谷,若運(yùn)行tsung時(shí)出現(xiàn)“Host key verfication failed”,可對(duì)/etc/hosts進(jìn)行查看
可以添加localhost字段蛛蒙,如上圖,或者在xml文件中host后的域名改為"iZ23netdpp7Z"渤愁。
5牵祟、servers mqtt服務(wù)器的ip地址,端口號(hào)抖格,默認(rèn)協(xié)議為tcp
6诺苹、monitor 用了監(jiān)控服務(wù)器信息(國(guó)內(nèi)各大服務(wù)器廠商都要自己的監(jiān)控工具,如阿里的云監(jiān)控控制臺(tái)雹拄,因此這里可以不進(jìn)行設(shè)置)
7收奔、load 加載用戶信息,加載用戶分為兩種方式滓玖。1坪哄、靜態(tài)加載用戶;2呢撞、隨機(jī)加載用戶
? ? 1损姜、靜態(tài)加載用戶:
? ? ? ? <user session="session_name" start_time="10" unit="second"></user>
? ? ? ? 產(chǎn)生一個(gè)用戶饰剥,該用戶執(zhí)行名為session_name的session殊霞,10s后執(zhí)行。
? ? 2汰蓉、隨機(jī)加載用戶
? ? ? <arrivalphase phase="1" duration="3" unit="second">
? ? ? ? <users maxnumber="5" arrivalrate="1" unit="second"/>
? ? ? </arrivalphase>
? ? ? 其中產(chǎn)生用戶速度配置有兩種:1绷蹲、arrivalrate:每s產(chǎn)生多少用戶
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 2、interarrival:每多少s產(chǎn)生一個(gè)用戶
? ? ? 注:可配置多個(gè)arrivalphase顾孽,按照phase排序來順序執(zhí)行祝钢。
8、session 用戶的行為
tsung的使用介紹就到此為止若厚,這里只是把網(wǎng)上的內(nèi)容以及對(duì)自己在測(cè)試時(shí)遇到的問題做了個(gè)總結(jié)拦英。我相信,多使用幾次tsung后测秸,還是挺傻瓜式的疤估。
??