Tsung壓力測試介紹

腳本語言 XML Erlang 技術 測試幫日記 測試幫日記 2017-09-23

百度搜索:小強測試品牌

轉發+點贊=支持

點擊右上角“關注”按鈕可以訂閱我們哦

Erlang介紹


Erlang最大的好處是輕量級進程,對網絡編程有著極佳的性能。可以在使用資源很少的情況下達到很高的併發。

http://erlang.orghttp://erlang-china.org/

http://baike.baidu.com/view/765701.htm

我們的測試工具tsung就是基於erlang平臺開發的

Tsung簡介


高性能.

分佈式

多協議,及支持擴充插件.

支持SSL加密

通過OS定義IP,實現虛擬多IP

監控操作系統,支持erlang agent及SNMP方式

XML配置.

動態場景支持,獲取服務器響應數據,根據響應做出新的請求.

混全行為,多會話多併發不同場景測試.

隨機Thinktimes支持

完全 免費

測試方法


錄製腳本>修改腳本,準備數據>執行測試,分析結果

錄製腳本


1)tsung –recorder start

[root@testdb01 tmp]# tsung-recorder start

Starting Tsung recorder on port 8090

[root@testdb01 tmp]# "Record file: /root/.tsung/tsung_recorder20100504-06:33.xml"

[root@testdb01 tmp]#

2)設置瀏覽器代理服務器使用tsung代理:

ie->’Internet選項’連接局域網設置”代理服務器”填上tsung代理的ip及端口

3)使用瀏覽器打開需要瀏覽的地址進行測試場景訪問,比如登陸後刷新用戶管理

4)停止tsung代理即可停止錄製,ctrl+c或者輸入tsung-recorder stop

Tsung壓力測試介紹

/root/.tsung/tsung_recorder20100504-06:44.xml<session name='rec20100504-06:44' probability='100' type='ts_http'>

<request><http url='http://192.168.1.203:8088/' version='1.1' if_modified_since='Mon, 15 Mar 2010 04:01:14 GMT' method='GET'></http></request>

<request><http url='/login.html' version='1.1' if_modified_since='Fri, 30 Apr 2010 06:14:24 GMT' method='GET'></http></request>

<request><http url='/common.css' version='1.1' if_modified_since='Mon, 15 Mar 2010 03:54:26 GMT' method='GET'></http></request>

<thinktime random='true' value='15'/>

<request><http url='/login' version='1.1' contents='uid=chuangna&amp;pwd=1qaz@WSXcde3' content_type='application/x-www-form-urlencoded' method='POST'></http></request>

<request><http url='/man.html' version='1.1' method='GET'></http></request>

<request><http url='/left.html' version='1.1' if_modified_since='Fri, 30 Apr 2010 15:16:37 GMT' method='GET'></http></request>

<request><http url='/config.html' version='1.1' method='GET'></http></request>

<request><http url='/common.css' version='1.1' if_modified_since='Mon, 15 Mar 2010 03:54:26 GMT' method='GET'></http></request>

</session>

測試場景解讀:

Tsung-recorder

主要記錄了瀏覽器

訪問的http url,http 版本

訪問方式get或者post

發送數據

思考時間等等

修改腳本,準備數據


1)隨機數據

<request><http url='/login' version='1.1' contents='uid=chuangna&amp;pwd=1qaz@WSXcde3' content_type='application/x-www-form-urlencoded' method='POST'></http></request>

隨機登陸用戶名是user[1-1000]

<setdynvars sourcetype="random_number" start=“1" end=“1000">

<var name="rndint" />

</setdynvars>

<request subst="true">

<http url='/login' version='1.1'

contents='uid=user%%_ rndint %%&amp;pwd=123456' content_type='application/x-www-form-urlencoded' method='POST'>

</http></request>

2)外部數據

比如我們有一個用戶名密碼列表用於登陸:

aaa,123

bbb,456

abc,000

<setdynvars sourcetype="file" fileid="userdb" delimiter=“," order="iter"> <var name="user" />

<var name="user_password" />

</setdynvars>

<request subst="true">

<http url='/login' version='1.1'

contents='uid=%%_user%%&amp;pwd=%%_user_password%%' content_type='application/x-www-form-urlencoded' method='POST'>

</http></request>

3)設置多個事務統計點

<request subst="true">

<http url='/login' version='1.1'

contents='uid=user%%_ rndint %%&amp;pwd=123456' content_type='application/x-www-form-urlencoded' method='POST'>

</http></request>

設置事務

<transaction name=“tran_login"><request subst="true">

<http url='/login' version='1.1'

contents='uid=user%%_ rndint %%&amp;pwd=123456' content_type='application/x-www-form-urlencoded' method='POST'>

</http></request>

</transaction>

4)多個會話並行

tsung.xml是tsung的主控文件,主要用於session,場景設置下面作簡單介紹:

<?xml version="1.0"?>

<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd"

[ <!ENTITY mysession SYSTEM "/root/.tsung/scripts/done.xml“>]>

測試的會話設置文件,所就是我們錄製的文件改造成的

併發用戶: 1/ interarrival 1/0.02 = 50

測試場景: phase 1, 持續時間20秒

共有5個會話,每個會話都是第1秒就啟動

在對應的會話設置文件裡應該可以看到各個會話的比重

<arrivalphase phase="1" duration="20" unit="second">

<users interarrival="0.02" unit="second"></users>

</arrivalphase>

<user session="bb7788_back_monitor_data" start_time="1" unit="second"></user>

<user session="bb7788_back_sum" start_time="1" unit="second"></user>

<user session="bb7788_user_swich" start_time="1" unit="second"></user>

<user session="bb7788_user_swich_nothing" start_time="1" unit="second"></user>

<user session="bb7788_user_order_session" start_time="1" unit="second"></user>

</load>

執行測試,分析結果


1)執行測試

所有的設置完成後,我們就可以開始測試了

直接輸入命令:

tsung start即可開始測試,

測試會提示測試數據保存到:

/root/.tsung/log/20091027-06:15

1)分析結果

測試執行完成後,可以將生成結果的tsung-state.pl腳本copy到測試目錄,執行tsung-state.pl即可生成測試結果,使用sftp 工具下載這個目錄即可得到測試結果:

#cp ~./tsung/tsung_stats.pl /root/.tsung/log/20091027-06:15

#cd /root/.tsung/log/20091027-06:15

#tsung-state.pl

生成的結果主要分析:

Main Statistics

Transactions Statistics

tsung結果解釋


Tsung壓力測試介紹

Tsung壓力測試介紹

相關推薦

推薦中...