Tsung:在循环中使用迭代器

Posted

技术标签:

【中文标题】Tsung:在循环中使用迭代器【英文标题】:Tsung: Using iterator in loop 【发布时间】:2013-04-17 08:12:04 【问题描述】:

我正在尝试使用tsungejabberd 创建负载测试场景。

我想模拟来自数千个客户端的数千个 XMPP 事件。根据tsung的manual,我可以使用for循环创建重复动作:

<for from="1" to="10" incr="1" var="counter">
  [...]
  <request> <http url="/page?id=%%_counter%%"></http> </request>
  [...]
</for>

但是这个例子对我不起作用:

alex@alex:~/.tsung$ tsung -f jabber.xml start
Starting Tsung
"Log directory is: /home/alex/.tsung/log/20130417-1404"
3306- fatal: error,validity_constraint_Name_Token,37
Config Error, aborting ! fatal,error,validity_constraint_Name_Token,37,
                                 file,"jabber.xml",
                                 line,10,
                                 col,29

完整的配置文件:

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.5">
    <clients>
        <client host="localhost" use_controller_vm="true"></client>
    </clients>
    <!-- Server side setup -->
    <servers>
        <for from="1" to="1000" incr="1" var="counter">
            <server host="t%%_counter%%.testserver.org" port="5222" type="tcp"></server>
        </for>
    </servers>
    <load>
        <arrivalphase phase="1" duration="1" unit="minute">
            <users interarrival="2" unit="second"></users>
        </arrivalphase>
    </load>
    <!-- JABBER parameters -->
    <!-- to synchronise users,  use a global acknoledgement -->
    <options>
        <option type="ts_jabber" name="global_number" value="100"></option>
        <option type="ts_jabber" name="userid_max" value="10000"></option>
        <option type="ts_jabber" name="domain" value="mydomain.org"></option>
        <option type="ts_jabber" name="username" value="user"></option>
        <option type="ts_jabber" name="passwd" value="pass"></option>
    </options>
    <sessions>
        <session probability="100" name="jabber-loadtest" type="ts_jabber">
            <request><jabber type="presence:broadcast" show="online" status="Status: online" ack="no_ack"/></request>
            <thinktime value="1"></thinktime>
            <request><jabber type="presence:broadcast" show="offline" status="Status: offline" ack="no_ack"/></request>
        </session>
    </sessions>
</tsung>

如何在tsung 配置文件中使用循环?

【问题讨论】:

【参考方案1】:

您不能在&lt;servers&gt; 部分使用循环,循环仅在&lt;session&gt; 中可用。

【讨论】:

以上是关于Tsung:在循环中使用迭代器的主要内容,如果未能解决你的问题,请参考以下文章

Python迭代器和生成器

java中for循环和迭代器哪个效率高?

是否可以在 C 中使用带有 char 迭代器的 FOR 循环?

for循环增强for循环和迭代器的区别

将 ArrayList 嵌入式循环转换为迭代器

迭代器和增强for循环