百度搜索:小強測試品牌
轉發+點贊=支持
點擊右上角“關注”按鈕可以訂閱我們哦
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
/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&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&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 %%&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%%&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 %%&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 %%&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結果解釋