单个会话的执行进度ts_client进程维护的state_rcv结构中的maxcountcount表示。maxcount是从session结构的size中得到的。
          
    session
size又是从config中的curid得到的。config中的curid的值,是在解析session配置的过程中计算出来的。
   


在配置的解析过程中,可以发现
sessions,session,request,transaction,thinktime,request都是配置性的,对不同的协议来说,也是通用的。

只在
request内部中区分不同的协议,需要根据不同的测试协议来填充定义。

当然request也有subst属性,为false/true。request 也有dyn_variable 元素,dyn_variable重要的属性re


     目前尚不知
transactionrequest的区别,可能transaction标示的请求中有数据库的访问

每个会话的进度控制是采用单位时间计数的

     单独的thinktime,request1个单位

     transaction本身就算2个单位(不包括其内的request)

     举例如下:

   

 

       完成此会话所用的时间单位估计为23,即maxcount为23。count值在初始为maxcount。
     count会在
handle_next_action中,逐步递减。
     在tsung的实现中,session中的每个请求都有一个index(运行时表现为count),它的对应关系已经存储起来了,
     
从而能够通过count/index,找到request,进而控制单个会话的测试过程。

10-09 09:04