使用TSUNG的每台机器的TCP连接限制是多少?
我想使用TSUNG生成很多请求 我的配置文件是使用TSUNG的每台机器的TCP连接限制是多少?,tcp,erlang,ejabberd,tsung,Tcp,Erlang,Ejabberd,Tsung,我想使用TSUNG生成很多请求 我的配置文件是 <?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd"> <tsung loglevel="notice" dumptraffic="false" version="1.0"> <clients> <client host="localhost" maxusers="700
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<clients>
<client host="localhost" maxusers="70000" use_controller_vm="true"/>
</clients>
<servers>
<server host="myhost" port="5222" type="tcp"/>
</servers>
<load>
<arrivalphase phase="1" duration="70000" unit="second">
<users arrivalrate="10" unit="second"/>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="70000"/>
<option type="ts_jabber" name="domain" value="my-domain"/>
<option name="file_server" id="userdb" value="/root/userdata.csv"/>
</options>
<sessions>
<session probability="100" name="xmpp-connection" type="ts_jabber" bidi="true" $
<setdynvars sourcetype="file" fileid="userdb" delimiter=";" order="iter">
<var name="userid"/>
</setdynvars>
<transaction name="initial_stream">
<request subst="true">
<jabber type="connect" ack="local">
<xmpp_authenticate username="tsung%%_userid%%" passwd="tsung%%_userid%%"/>
</jabber>
</request>
</transaction>
<thinktime value="2"/>
<transaction name="authenticate">
<request> <jabber type="auth_sasl" ack="local"/> </request>
<request> <jabber type="connect" ack="local"/> </request>
<request> <jabber type="auth_sasl_bind" ack="local"/> </request>
<request> <jabber type="auth_sasl_session" ack="local"/> </request>
</transaction>
<transaction name="roster_get">
<request> <jabber type="iq:roster:get" ack="local"/> </request>
</transaction>
<request> <jabber type="presence:initial" ack="no_ack"/> </request>
<for from="1" to="28" incr="1" var="counter">
<request> <jabber type="raw" ack="no_ack" data="
"/></request>
<thinktime value="60" random="false"/>
</for>
<for from="1" to="30" incr="1" var="counter">
<request> <jabber type="raw" ack="no_ack" data="
"/></request>
<thinktime value="60" random="false"/>
</for>
<transaction name="close">
<request> <jabber type="close" ack="no_ack"/> </request>
</transaction>
</session>
</sessions>
</tsung>
几个虚拟IP可以用来模拟更多的机器。当负载平衡器使用客户端的IP在服务器集群之间分配流量时,这非常有用
我想知道使用TSUNG可以为每台机器生成多少个连接
我有一台32 GB、8核的机器。这取决于两个因素:
同时打开的Erlang端口的最大数量
操作系统中打开的文件描述的最大数量
有关第一个的信息,请参阅高级Erlang文档的10.2系统限制部分。在启动Erlang VM时,可以使用+Q
选项对其进行更改。默认值为16384。可使用以下方法检查电流限制:
对于第二个信息,只需在shell中使用ulimit-n
。如何更改此值取决于操作系统,但这是一个热门话题,因此您可以轻松搜索指令。这取决于两个因素:
同时打开的Erlang端口的最大数量
操作系统中打开的文件描述的最大数量
有关第一个的信息,请参阅高级Erlang文档的10.2系统限制部分。在启动Erlang VM时,可以使用+Q
选项对其进行更改。默认值为16384。可使用以下方法检查电流限制:
对于第二个信息,只需在shell中使用ulimit-n
。如何更改此值取决于操作系统,但这是一个热门话题,因此您可以轻松地搜索指令。嘿,可以在同一台机器上运行多个tsung客户端吗?我不知道tsung,但可以肯定的是,在同一台机器上运行多个Erlang VM是非常有可能的。考虑到Tsung是一个Erlang应用程序,没有理由不可能运行多个Erlang虚拟机,每个虚拟机都运行自己的Tsung(除非有特定Tsung需求,这是不太可能的)。如果你的节点有足够的能量,那就试试吧。另一方面,在同一台机器上运行多个Tsung安装和运行一个产生更多负载(具有更多连接)之间有什么区别?Erlang在多核机器上的可扩展性非常好。结果还取决于您可以在服务器上使用的IP数量。嘿,可以在同一台机器上运行多个tsung客户端吗?我不知道tsung,但当然,在同一台机器上运行多个Erlang VM是非常有可能的。考虑到Tsung是一个Erlang应用程序,没有理由不可能运行多个Erlang虚拟机,每个虚拟机都运行自己的Tsung(除非有特定Tsung需求,这是不太可能的)。如果你的节点有足够的能量,那就试试吧。另一方面,在同一台机器上运行多个Tsung安装和运行一个产生更多负载(具有更多连接)之间有什么区别?Erlang在多核机器上的可扩展性相当好。其结果还取决于您可以在服务器上使用的IP数量。
<clients>
<client host="louxor" weight="1" maxusers="800">
<ip value="10.9.195.12"></ip>
<ip value="10.9.195.13"></ip>
</client>
<client host="memphis" weight="3" maxusers="600" cpu="2"/>
</clients>
erlang:system_info(port_limit).