TSUNG壓力測試工具使用總結(jié)_第1頁
TSUNG壓力測試工具使用總結(jié)_第2頁
TSUNG壓力測試工具使用總結(jié)_第3頁
TSUNG壓力測試工具使用總結(jié)_第4頁
TSUNG壓力測試工具使用總結(jié)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、TSUNG壓力測試工具簡要教程 最近做項目,接觸了TSUNG壓測工具,為什么要用這個工具呢?主要是要測xmpp協(xié)議,而loadrunner不支持xmpp協(xié)議的腳本錄制及回放,Tsung則可以很好的支持。現(xiàn)將使用過程中的一些經(jīng)驗歸納下來,以作積累,如果有說得不清楚的地方,歡迎大家提出意見!1.TSUNG簡介tsung基于erlang語言,支持多種協(xié)議如xmpp,http,mysql,支持集群,高效率(可以用一臺普通的機器壓垮幾臺性能強大的服務(wù)器)。這次在公司壓測xmpp消息推送服務(wù)器時,就使用了tsung來輕松達到同時摸擬10000個OTT客戶端在線的效果。2.TSUNG 測試環(huán)境搭建 TSUN

2、G 是linux環(huán)境下的壓測工具,因此所有的安裝配置在linux下進行。需要準備的安裝包有以下幾個: UNIXODBC.tar.gz 搭建erlang語言環(huán)境的依賴包,有的linux版本不需要裝 Erlang語言環(huán)境 (otp_src_R16B.tar.gz) Git 安裝TSUNG的依賴包 Tsung 壓測工具 Gnuplot 生成測試報告的圖形工具包 Template 圖形模板包2.1安裝unixODBC首先將unixODBC包用ftp工具傳到 /home 目錄下進入home目錄:cd /home然后解壓 tar zxvf unixODBC.tar.gz進入目錄Cd unixODBC配置.

3、/configure編譯Make安裝Make install2.2安裝git流程與安裝unixODBC 一樣2.3安裝erlang 語言環(huán)境包解壓后進入目錄,到./configure時有可能會報javac 錯誤,這是因為機器沒有配置jdk的原因,此時可以在配置時加參數(shù)忽略。./configure -without-javac 如果機器已經(jīng)裝了jdk,就不會報這個配置錯誤了安裝完以后注意使用命令whereis erlang 查看erlang的安裝路徑,這一步很重要,因為在配置TSUNG的時候 需要引用erlang的路徑2.4安裝TSUNG壓力測試工具 解壓進入目錄后 配置的時候需要加上erlan

4、g的路徑參數(shù),否則配置的時候會失敗 ./configure with-erlang=/././ (將whereis erlang 查到的erlang路徑寫在這里) 按照我的erlang的路徑的話 是這么配置的 ./configure with-erlang=/usr/local/lib/erlang 配置好后再編譯安裝就行了。2.5安裝gnuplot 同unixODBC的安裝,中間沒有其它特殊的環(huán)節(jié)2.6安裝template Template 的安裝使用下列命令解壓: tar zxf Template-Toolkit-2.24.tar.gz進入目錄 cd Template-Toolkit-2.

5、24配置 perl Makefile.PL編譯 make測試 make test 安裝 sudo make installOk到此,TSUNG 測試環(huán)境所需的安裝包就裝完了。2.7調(diào)試及測試準備輸入tsung ,如果顯示如下,則證明安裝成功: 如果顯示的是commond not found ,則是環(huán)境變量沒自動加上。 根據(jù)linux版本的不同及用戶的不同,有時候安裝好后會自動加上TSUNG的環(huán)境變量,有的需要手動添加 Vi /etc/profile 在文件的最后加上 REPORT_HOME=/usr/local/lib/tsung/binTSUNG_HOME=/usr/local/binERL

6、ANG_HOME=/usr/local/lib/erlangPATH=$PATH:$ERLANG_HOME:$TSUNG_HOME:$REPORT_HOMEexport PATH 保存后使用source命令立即生效Source /etc/profile注意:report_home 指向的命令其實是tsung_stats.pl,該命令用于生成html格式的圖形化測試報告,路徑如圖:Tsung 安裝完畢后,一般會在當前用戶主目錄下自動生成一個隱藏工作文件夾,可通過 cd /.tsung/ 進入,如圖(注意:有的linux版本安裝好后在沒有 /.tsung/目錄,這時候就需要手動新建,否則tsung

7、運行時會提示找不到tsung.xml文件,導(dǎo)致無法運行。cd mkdir .tsung)其中tsung.xml文件是配置場景運行參數(shù)的文件,非常重要,下文會對這個配置文件作詳細注解。安裝好TSUNG 后 ,會有一些常用協(xié)議的配置文件案例,這些配置文件可以直接拷貝到tsung的 工作目錄中,替換掉默認的tsung.xml文件即可。比如我現(xiàn)在需要采用tsung進行HTTP協(xié)議的壓力測試(http測試一般采用LR 可以了,這里僅舉例)可以將例子中的http_simple.xml文件復(fù)制到tsung的工作目錄,替換掉原來的tsung.xml文件cp /usr/local/share/doc/tsung

8、/examples/http_simple.xml /.tsung/tsung.xml如果是xmpp協(xié)議的壓測,則將jabber.xml拷貝命名為tsung.xml即可注意:tsung運行時讀取的配置文件名一定是tsung.xml,如果復(fù)制過來的例子沒有重命名為tsung.xml,則無法正確讀取。好了到這一步,tsung的測試前期準備工作基本上就算配置好了,現(xiàn)在就開始踏上TSUNG測試之旅吧。首先錄制一下我們比較熟悉的HTTP協(xié)議的注冊模塊。注意:TSUNG 只支持錄制HTTP協(xié)議,其他協(xié)議必須通過手寫tsung.xml腳本。3 使用TSUNG進行HTTP協(xié)議壓力測試3.1 編輯tsung.x

9、ml文件,準備錄制 從前文所述,如果要錄制http協(xié)議,從案例文檔中復(fù)制一份http協(xié)議的xml 文件到tsung的工作目錄,并改名為tsung.xml即可cp /usr/local/share/doc/tsung/examples/http_simple.xml /.tsung/tsung.xml有可能會提示是否覆蓋,輸入y 就行了。cat /.tsung/tsung.xml 看看這份xml的配置文件。 Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21 Mozilla/5.0 (Win

10、dows; U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4 3.2 配置端口轉(zhuǎn)發(fā)進行代理錄制 Tsung錄制http協(xié)議需要通過8090端口,因此在錄制前需要配置一下本機端口轉(zhuǎn)發(fā)。 使用secureCRT 進行端口轉(zhuǎn)發(fā)設(shè)置,如圖,按照如圖進行設(shè)置就好了 設(shè)置瀏覽器代理,如圖3.3錄制腳本、進行參數(shù)調(diào)整、與tsung.xml 配置文件進行整合按照上述進行配置后,現(xiàn)在可以開始進行錄制了。 輸入命令,啟動錄制:tsung-recorder start注意:如果輸入命令提示commond not found ,需要把ts

11、ung的主目錄加到環(huán)境變量里面,可參考前述添加環(huán)境變量的方法??煽吹?,是通過8090端口(TSUNG 默認)進行錄制的。 打開瀏覽器,進行會話操作在151 開發(fā)者論壇頁面注冊用戶,注冊過程結(jié)束后,在scrt 中輸入回車,再輸入tsung-recorder stop 停止錄制 編輯錄制的腳本從錄制時的命令行提示我們知道了錄制腳本的路徑:/.tsung/tsung_recorder20130411-1559.xmlVi /.tsung/tsung_recorder20130411-1559.xml對腳本進行編輯,因為錄制的是注冊用戶,肯定需要對用戶名跟郵箱進行一定的處理,否則回放會失敗。來看一下錄

12、制的腳本,這個腳本也就是一些HTTP的get,post請求,和LR的腳本差不多,就不多說了,重點是要把用戶名密碼改一下這里因為user002是錄制時候已經(jīng)用過的,回放的時候需要改變一下,為簡單起見,就設(shè)置為user003,郵箱也換成user003.保存退出。注:這里只設(shè)置了一個值,因此需要在tsung.xml配置文件中設(shè)置最大用戶數(shù)為1 。手冊中也有描述怎么進行參數(shù)化,我沒有細細研究,待有時間的話作個補充??蓪sung幫助手冊下載下來學(xué)習(xí):sz /usr/local/share/doc/tsung/user_manual.html 將腳本插入tsung.xml配置文件中vi /.tsung/

13、tsung.xml紅色字體的是需要修改的!DOCTYPE tsung SYSTEM /usr/local/share/tsung/tsung-1.0.dtd Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21 Mozilla/5.0 (Windows; U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4 ®user; 其中reguser 是自己隨便起的會話的名稱,因為我錄制的是注冊,因此就起了個reguse

14、r ,你也可以起其它的名字。后面把腳本文件的路徑加進去就行了在標簽中,將原有的都刪掉,換成上述格式的就好了。注意:標簽內(nèi)前面的地址符跟后面的分號不可少。 運行腳本配置好tsung.xml文件后,就可以開始進行壓力測試了腳本運行完以后,切換到log目錄中生成測試報告cd /.tsung/log/20130411-1713小技巧:生成測試報告需要進入20130411-1713目錄,然后使用tsung_stats.pl 命令,如果tsung_stats.pl未加入環(huán)境變量,則需要使用絕對路徑,不太方便,因此我在log目錄下為/usr/local/lib/tsung/bin/tsung_stats.p

15、l 作了個軟鏈接:ln -s /usr/local/lib/tsung/bin/tsung_stats.pl report這樣的話,進入到要生成測試報告的日期目錄中,直接使用./report 命令就可以生成測試報告了。運行后經(jīng)驗證,論壇成功新增了一個user003用戶,證明腳本運行成功。3.4 形成測試報告執(zhí)行完./report 命令后,將20130411-1713目錄 整個打包下載到windows 操作系統(tǒng)環(huán)境下:tar -cvf 1.tar 20130411-1713sz 1.tar將下載的1.tar再解壓,進入目錄,打開report.html 文件即可測試報告分為stats report

16、(狀態(tài)報告) 和graphs Report(圖形化報告),其中stats repor是測試的總體數(shù)據(jù),有平均值、最高值等;graph report 為測試中各指標隨時間變化的曲線。 TSUNG 的report指標與loadrunner有所不同,因時間有限,也未對這些指標的作深入研究,有時間的話我會加以研究,推出個升級版對TSUNG的report指標含義作解釋。4 使用TSUNG進行XMPP協(xié)議壓力測試 Loadrunner不支持xmpp協(xié)議的錄制及回放,TSUNG對于xmpp協(xié)議有很好的支持方案,因此采用TSUNG進行xmpp協(xié)議的壓測。 業(yè)務(wù)環(huán)境模擬:模擬在10000個OTT在線的情況下,服

17、務(wù)器向指定的一個OTT推送消息,觀察消息推送是否成功及OTT接收到的時間。4.1測試環(huán)境及測試數(shù)據(jù)準備 OTT一臺該OTT主要用于接收推送的消息。TSUNG應(yīng)該能夠模擬向任意一個甚至是成千上萬個虛擬的OTT不斷地大并發(fā)的發(fā)送消息,并在log中顯示出來。但因?qū)ο蛱摂MOTT推送消息的驗證機制不了解,測試時間也很緊迫,這部分沒有細細研究。因此暫時采用在10000OTT在線情況下,人工向?qū)嶓wOTT推送消息并計算響應(yīng)時間的“笨”辦法。隨著OTT開發(fā)的深入,OTT好友之間的相互聊天即將變?yōu)榭赡埽虼藘H僅模擬在線還不夠,還需要模擬聊天過程,因此還是要深入掌握消息推送服務(wù)器向虛擬OTT推送消息的機制。 消息推

18、送服務(wù)器一臺由開發(fā)部署在132服務(wù)器上(32), 機器別名是m132。 虛擬OTT負載生成機一臺也就是安裝TSUNG的機器,我已經(jīng)安裝在100上了(00),機器別名是localhost。為了學(xué)習(xí)一下安裝的過程,建議大家在自己的虛擬機上再裝一遍。 監(jiān)控頁面開發(fā)已經(jīng)提供一個顯示在線OTT的頁面,地址是:32:9981/pn/session.do 可看到目前有2個實體OTT掛在132服務(wù)器上,一會要模擬1000個OTT掛在上面。應(yīng)該就顯示1000個online狀態(tài)的用戶。(我測試的時候是生成10000個,但刷這個頁面的時候

19、卡的要死,建議1000個好了)。 推送消息頁面開發(fā)提供了一個向指定OTT推送消息的頁面,地址是:32:9981/pn/send2OTT.html我在測試中嘗試過在虛擬OTT online的情況下,向指定的一臺虛擬OTT發(fā)送推送消息,但是遇到兩個瓶頸:一是推送的時候頁面顯示“該OTT不在線”;二是不曉得從哪里驗證虛擬OTT收到了服務(wù)器推送的消息。因此在測試中,也就直接采用在10000OTT在線情況下,采用人工方式向?qū)嶓wOTT發(fā)送推送消息,檢驗推送服務(wù)器在大用戶在線情況下消息推送的準確性和穩(wěn)定性。 數(shù)據(jù)庫中虛擬OTT用戶準備推送服務(wù)器向OTT推送消息需要填寫use

20、rname字段,因此需要事先向推送服務(wù)數(shù)據(jù)庫(51)中插入10000條數(shù)據(jù),也就是注冊10000個用戶。數(shù)據(jù)庫是android,表是apn_user,字段是username,password插入語句:insert into apn_user(username,password)values(user1001,pass1001);我的用戶名是從user1-user10000;密碼pass1-pass10000。注意:用戶名,密碼必須采用這種格式,如果是100個用戶,就是user1-user100;pass1-pass100(用戶名、密碼的前綴隨意,但后面必須要加數(shù)字,且數(shù)字

21、前面不需要補0,直接從1開始) 插入10000條記錄直接在eclipse中采用for循環(huán),并輸出到txt文件,然后將10000條Insert into 語句 插入到數(shù)據(jù)庫中。類似這樣:(這個方法好像比較笨,不曉得有沒有更好的方法)。4.2配置tsung.xml 文件 準備就緒后,就可以編輯TSUNG的場景參數(shù)配置文件來準備測試了。按照前文所述,可以直接從案例中拷貝xmpp協(xié)議的xml配置文件(jabber.xml)到TSUNG的工作目錄中,替換原來的tsung.xml文件。 cp /usr/local/share/doc/tsung/examples/jabber.xml /.tsung/ts

22、ing進入tsung 的工作目錄,看一下剛拷貝過來的tsung.xml文件,并進行編輯(編輯的內(nèi)容用紅色字體顯示)vi /.tsung/tsung.xml . 4.3配置client及server之間相互無密碼登錄配置無密碼登錄主要是為了實現(xiàn)對服務(wù)器資源cpu、memory、 load 的監(jiān)控。具體步驟: 在本機上實現(xiàn)無密碼登錄 分別在100,132上進行以下操作:1):更改SSH的配置文件 vi/etc/ssh/sshd_config 進行如下設(shè)置: RSAAuthenticationyes#啟用RSA認證 PubkeyAuthenticationyes#啟用公鑰私鑰配對認證方式 Autho

23、rizedKeysFile.ssh/authorized_keys#公鑰文件路徑 重啟SSH服務(wù):servicesshdrestart 2):生成密鑰文件: ssh-keygen-trsa執(zhí)行完之后在/.ssh中看到如下文件:將id_rsa.pub加到授權(quán)的key里面去:catid_rsa.pubauthorized_keys執(zhí)行該命令后會創(chuàng)建一個authorized_keys的文件,默認權(quán)限為644。修改authorized_keys權(quán)限為600:chmod 600 authorized_keys 執(zhí)行完之后,檢查一下本機是否可以無密碼登錄:ssh localhost 實現(xiàn)100到132及1

24、32到100的相互無密碼登錄1) 首先配置100到132的無密碼登錄在100的機器上執(zhí)行以下操作:將100的公鑰傳到132的根目錄下:scp /.ssh/id_rsa.pub root32:/ 切換到132,查看主目錄下是否有.ssh 隱藏文件夾且權(quán)限為700,如果沒有,創(chuàng)建并查看是否接受到100傳來的公鑰文件id_rsa.pubcd 將id_rsa.pub 追加到authorized_keys 中,并設(shè)置權(quán)限為600cat/id_rsa.pub/.ssh/authorized_keys chmod 600 /.ssh/authorized_keys在100的機器上ssh

25、 32 看看是否實現(xiàn)無密碼登錄Ok,100已經(jīng)能成功實現(xiàn)無密碼登錄132了2)配置132到100的無密碼登錄按照相同的步驟實現(xiàn)132到100的無密碼登錄:修改132的 sshd_config文件并重啟sshd 服務(wù) 在132上生成公鑰文件 將132的公鑰文件傳到100-在100上將132的公鑰文件加入授權(quán)文件4.4運行測試腳本配置好tsung.xml文件后,就可以運行腳本了。運行腳本的時候注意監(jiān)控一下132的日志,看有沒有報錯。rootm132 # tail -f /bestv/tomcat1/logs/catalina.out當1000 虛擬OTT加載完后,打開監(jiān)控在線用戶的頁面,可看到TSUNG已經(jīng)成功的模擬了1000個ONLINE狀態(tài)的OTT。(這是Loadrunner所無法模擬的)。 此時通過消息推送頁面,可以采用人工方式向OTT發(fā)送個消息,看看是否正確收到,以及響應(yīng)時間。經(jīng)過我

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論