脚本测试tsung

时间紧张,先记一笔,后续优化与完善。

    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>



文章结束给大家分享下程序员的一些笑话语录: 人在天涯钻,哪儿能不挨砖?日啖板砖三百颗,不辞长做天涯人~

你可能感兴趣的:(tsung)