时间紧张,先记一笔,后续优化与完善。
http://
tsung
.erlang-projects.org/
./configure
make
sudo make install
安装实现以后的
tsung
行运脚本在 /usr/bin/
tsung
,在系统 path 中之,可以直接行运。
cp /usr/local/share/doc/
tsung
/examples/http_simple.xml ~/.
tsung
/
tsung
.xml
tsung 采用了奇妙的 proxy 式方来“录制”测试脚本。具体来说,就是建立一个本机的 http proxy 默许应用 8090 端口,在配好 firefox 应用 localhost 8090 作为代理以后(推荐 foxyproxy 件插),全部“流经”这个 proxy 的 http 作动都市被记录下来,测试时可以“回放”这些骤步来发生求请。
tsung rocorder
tsung stop_recorder
“录制”完了,会到得一个 ~/.tsung/tsung_recorderXXXXXXXXXX.xml 件文,这就是测试时回回放的脚本。
将这个脚本加到 tsung.xml 中之
gedit ~/. tsung/ tsung.xml
就像这样
< ! DOCTYPE tsung SYSTEM " /usr/share/tsung/tsung-1.0.dtd " [
<! ENTITY mysession1 SYSTEM " /home/yourname/.tsung/tsung_recorderXXXXXXXXXX.xml " >
]>
...
< sessions >
&mysession1;
</ sessions >
对置配稍作调整
每日一道理
谁说人与人隔着遥远的重洋,谁说心与心设着坚固的堤防?十六岁的鸟儿飞上天空,总会找到落脚的枝头。
< monitoring >
< monitor host = " localhost " type = " erlang " ></ monitor >
</ monitoring >
<!-- 要需置配到 localhost 不必码密的 ssh 登录(ssh via rsa_key),开启了这个置配可以,得获目标呆板的 cpu 和 ram 耗消况情 -->
< load >
< arrivalphase phase = " 1 " duration = " 1 " unit = " minute " >
< users interarrival = " 2 " unit = " second " ></ users >
</ arrivalphase >
</ load >
<!-- 第1阶段1分钟(你可以自己多搞几个阶段),其中每2秒新建一个用户,个每用户都市完全执行 session 的测试脚本,最高并发约为 30 个,个人认为这个“逐步加压”的方法比 ab xxxx 的“然突加压”要慢一些,但更学科一点 -->
my config:
<?xml version="1.0"?><tsung loglevel="notice" version="1.5.0a">
<clients>
<client host="client1" weight="2" maxusers="5000" cpu="24"/>
<client host="client2" weight="2" maxusers="5000" cpu="24"/>
<client host="client3" weight="2" maxusers="5000" cpu="24"/>
</clients>
<servers>
<server host="xxx.xxx.com" port="80" type="tcp"/>
</servers>
<monitoring>
<monitor host="client1" type="erlang"/>
<monitor host="client2" type="erlang"/>
<monitor host="client3" type="erlang"/>
</monitoring>
<load duration="10" unit="minute">
<arrivalphase phase="1" duration="20" unit="second">
<users arrivalrate="50" unit="second"/>
</arrivalphase>
</load>
<options>
<option type="ts_http" name="user_agent">
<user_agent probability="80">Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.8) Gecko/20050513 Galeon/1.3.21</user_agent>
<user_agent probability="20">Mozilla/5.0 (Windows; U; Windows NT 5.2; fr-FR; rv:1.7.8) Gecko/20050511 Firefox/1.0.4</user_agent>
</option>
<option name="ports_range" min="1025" max="65535"/>
<option name="seed" value="58989679"/>
</options>
<sessions>
<session name="017-4kread" probability="100" type="ts_http">
<for from="1" to="100000" var="i">
<setdynvars sourcetype="random_number" start="0" end="1">
<var name="agent"/>
</setdynvars>
<setdynvars sourcetype="random_number" start="0" end="23">
<var name="process"/>
</setdynvars>
<setdynvars sourcetype="random_number" start="0" end="9">
<var name="thread"/>
</setdynvars>
<request subst="true">
<http url="/db4k/user%%_agent%%_%%_process%%_%%_thread%%_%%_i%%" version="1.1" method="GET">
<www_authenticate userid="xxxx" passwd="xxxx"/>
</http>
</request>
</for>
</session>
</sessions>
</tsung>
文章结束给大家分享下程序员的一些笑话语录: 人在天涯钻,哪儿能不挨砖?日啖板砖三百颗,不辞长做天涯人~