Tsung解析Tsung.xml配置文件

【tsung】tsung分布式运行 性能工具强大之处在于可支持分布式运行方式,做为性能测试工具的tsung也不例外,接下来搭建tsung的分布式测试环境 tsung的分布式环境搭建需要完成以下配置: ssh无密登录 集群的机器之间必须要实现无密码提示的ssh登录 参与测试的机器中有一个是controller,其他都是tsung1、tsung2,集中控制的方式 在主机中进入ssh目录 cd /root/.ssh 在主机中生成公... 阅读详情

Tsung解析Tsung.xml配置文件

Tsung.xml(HTTP)

配置文件模板路径:/usr/share/doc/tsung/examples/http_simple_xml

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">

  <!-- Client side setup -->
  <clients>
    <client host="localhost" use_controller_vm="true"/>
  </clients>

  <!-- Server side setup -->
<servers>
  <server host="myserver" port="80" type="tcp"></server>
</servers>

  <!-- to start os monitoring (cpu, network, memory). Use an erlang
  agent on the remote machine or SNMP. erlang is the default --> 
  <monitoring>
    <monitor host="myserver" type="snmp"></monitor>
  </monitoring>

  <load>
  <!-- several arrival phases can be set: for each phase, you can set
  the mean inter-arrival time between new clients and the phase
  duration -->
   <arrivalphase phase="1" duration="10" unit="minute">
     <users interarrival="2" unit="second"></users>
   </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>
  </options>

  <!-- start a session for a http user. the probability is the
  frequency of this type os session. The sum of all session's
  probabilities must be 100 -->

 <sessions>
  <session name="http-example" probability="100" type="ts_http">

    <!-- full url with server name, this overrides the "server" config value -->

    <request> <http url="/" method="GET" version="1.1"></http> </request>
    <request> <http url="/images/accueil1.gif" method="GET" version="1.1" if_modified_since="Fri, 14 Nov 2003 02:43:31 GMT"></http> </request>
    <request> <http url="/images/accueil2.gif" method="GET" version="1.1" if_modified_since="Fri, 14 Nov 2003 02:43:31 GMT"></http> </request>
    <request> <http url="/images/accueil3.gif" method="GET" version="1.1" if_modified_since="Fri, 14 Nov 2003 02:43:31 GMT"></http> </request>

    <thinktime value="20" random="true"></thinktime>

    <request> <http url="/index.en.html" method="GET" version="1.1" ></http> </request>

  </session>
 </sessions>
</tsung>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58

文件结构

客户端和服务器配置

基本配置

非分布式负载

<!-- 客户端 -->
<clients>
    <client host="localhost" use_controller_vm="true"/>
</clients>
<!-- 服务器 -->
<servers>
    <server host="192.168.1.1" port="80" type="tcp"></server>
</servers>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

添加服务器设置

<servers>
    <server host="server1" port="80" type="tcp" weight="4"></server>
    <server host="server2" port="80" type="tcp" weight="1"></server>
</servers>
  • 1
  • 2
  • 3
  • 4
  • weight:每个服务器会有个权重值,根据权重值分配会话,可以使整形和浮点型参数
  • type:tcp, ssl, udp, websocket(适用1.5.0及更高版本) 
    (IPv6, 使用 tcp6, ssl6 or udp6 1.4.2 及更高版本)

高级配置

分布式测试,负载均衡测试,分配不同的流量

<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>
<servers>
    <server host="10.9.195.1" port="8080" type="tcp"></server>
</servers>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

maxusers:该参数用来设置单个线程中创建socket连接的数目

Monitoring

Tsung通过和远程代理进行通信来对服务器进行监控。 
相关统计数据包括:CPU活动,平均负载和内存使用情况。 
默认代理为erlang

<monitor batch="true" host="torque" type="erlang"></monitor>
  • 1

Erlang

远程代理由Tsung启动,通过Erlang通信检索服务器上活动的统计数据。 
例如,下面配置为六台主机集群配置基于Erlang代理监控集群定义。

<monitoring>
    <monitor host="geronimo" type="erlang"></monitor>
    <monitor host="bigfoot-1" type="erlang"></monitor>
    <monitor host="bigfoot-2" type="erlang"></monitor>
    <monitor host="f14-1" type="erlang"></monitor>
    <monitor host="f14-2" type="erlang"></monitor>
    <monitor host="db" type="erlang"></monitor>
</monitoring>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Erlang对MySQL数据库的监控:

<monitor host="db" type="erlang"></monitor>
    <mysqladmin port="3306" username="root" password="sesame" />
</monitor>
  • 1
  • 2
  • 3

SNMP

默认版本为:v1,端口为:161

<monitoring>
    <monitor host="geronimo" type="snmp"/>
    <monitor host="f14-2" type="erlang"></monitor>
    <monitor host="db" type="snmp">
        <snmp version="v2" community="mycommunity" port="11161"/>
    </monitor>
</monitoring>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

1.4.2版本开始自定义OID 
type : 可选为simple,counter,或者sum,或自定义函数来设置 
type can be sample, counter or sum, and optionally you can define a function (with erlang syntax) to be applied 
to the value (eval attribute).

<monitor host="127.0.0.1" type="snmp">
    <snmp version="v2">
        <oid value="1.3.6.1.4.1.42.2.145.3.163.1.1.2.11.0"
name="heapused" type="sample" eval="fun(X)-> X/100 end."/>
    </snmp>
</monitor>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Munin

从1.3.1开始,Tsung可以通过Munin代理检索数据

<monitoring>
    <monitor host="geronimo" type="munin"/>
    <monitor host="f14-2" type="erlang"></monitor>
</monitoring>
  • 1
  • 2
  • 3
  • 4

定义负载进程

随机产生用户

<load>
    <arrivalphase phase="1" duration="10" unit="minute">
        <users interarrival="2" unit="second"></users>
    </arrivalphase>
    <arrivalphase phase="2" duration="10" unit="minute">
        <users interarrival="1" unit="second"></users>
    </arrivalphase>
    <arrivalphase phase="3" duration="10" unit="minute">
        <users interarrival="0.1" unit="second"></users>
    </arrivalphase>
</load>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

代码解释 
- 第一阶段:10分钟,每隔2秒创建一个用户 
- 第二阶段:10分钟,每隔1秒创建一个用户 
- 第三阶段:10分钟,每隔0.1秒创建一个用户 
另一种设置方法:10分钟,每秒产生10个用户

<arrivalphase phase="1" duration="10" unit="minute">
    <users arrivalrate="10" unit="second"></users>
</arrivalphase>
  • 1
  • 2
  • 3

或者通过maxnumber属性设置每个阶段最大用户数

<arrivalphase phase="1" duration="10" unit="minute">
    <users maxnumber="100" arrivalrate="10" unit="second"></users>
</arrivalphase>
<arrivalphase phase="2" duration="10" unit="minute">
    <users maxnumber="200" arrivalrate="10" unit="second"></users>
</arrivalphase>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 第一阶段:10分钟最大产生100用户
  • 第二阶段:10分钟最大产生200用户 
    从1.2.1开始,loop:可以通过该属性设置,进行循环 
    在1.5.1中,可以通过session_setup标签,为指定阶段设置会话信息
<arrivalphase phase="3" duration="1" unit="minute">
    <session_setup name="http_test_1" probability="80"/>
    <session_setup name="fake" probability="20"/>
    <users interarrival="1" unit="second"/>
</arrivalphase>
  • 1
  • 2
  • 3
  • 4
  • 5

静态生成用户

<load>
    <arrivalphase phase="1" duration="10" unit="minute">
        <users interarrival="2" unit="second"></users>
    </arrivalphase>
    <user session="http-example" start_time="185" unit="second"></user>
    <user session="http-example" start_time="10" unit="minute"></user>
    <user session="foo" start_time="11" unit="minute"></user>
</load>
<sessions>
    <session name="http-example" probability="0" type="ts_http">
        <request> <http url="/" method="GET"></http> </request>
    </session>
    <session name="foobar" probability="0" type="ts_http">
        <request> <http url="/bar" method="GET"></http> </request>
    </session>
    <session name="foo" probability="100" type="ts_http">
        <request> <http url="/" method="GET"></http> </request>
    </session>
<sessions>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

上述设置中:包含两个会话信息,probability为0的会话将不会被执行,定义了三个用户,分别在测试开始185秒的http-example会话,一个开始为10分钟后,另一个在11分钟后的foo会话。 
在1.5.1版本中:可以同时开始多个会话信息,通过制定相同的前缀名称。

<user session="foo*" start_time="10" unit="second"/>
  • 1

负载测试时间

Tsung运行时间取决于测试阶段的总时长,设置测试时间停止Tsung

<load duration="1" unit="hour">
    <arrivalphase phase="1" duration="10" unit="minute">
        <users interarrival="2" unit="second"></users>
    </arrivalphase>
</load>
  • 1
  • 2
  • 3
  • 4
  • 5

duration : 最大值 < 50days,单位可取:seconds, minute,hour.

设置属性

Thinktimes, SSL, Buffers

默认设置为全局属性,

<option name="thinktime" value="3" random="false" override="true"/>
<option name="ssl_ciphers"
value="EXP1024-RC4-SHA,EDH-RSA-DES-CBC3-SHA"/>
<option name="tcp_snd_buffer" value="16384"></option>
<option name="tcp_rcv_buffer" value="16384"></option>
<option name="udp_snd_buffer" value="16384"></option>
<option name="udp_rcv_buffer" value="16384"></option>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

在1.6.0中,可禁用SSL 会话缓存(默认开启)

<option name="ssl_reuse_sessions" value="false"/>
  • 1

TCP连接超时

1.6.0新属性 
指定尽力TCP连接超时毫秒值,缺省值为无限制

<option name="connect_timeout" value="5000" />
  • 1

或者通过set_option标签为每一个会话连接设置超时时间

<set_option name="connect_timeout" value="1000" />
  • 1

开启TCP地址重复绑定

<option name=”tcp_reuseaddr” value=”true” />
  • 1

重连次数与超时

1.6.0新属性 
默认重连次数为3,设置为0时,代表禁止重连

<option name="max_retries" value="5" />
  • 1

重连超时:默认为10毫秒

<set_option name="retry_timeout" value="1000" />
  • 1

超时消息确认

设置idle超时,默认10min和全局ack超时,默认无穷

<option name="idle_timeout" value="300000"></option>
<option name="global_ack_timeout" value="6000000"></option>
  • 1
  • 2

Hibernate

1.3.1 
在thinktimes阶段中模拟用户降低内存消耗,默认值为10s 

Rate_limit

1.4.1 
现在每个客户端(令牌桶算法)的带宽需求,单位为KB/s,默认值为1024。

<option name="rate_limit" value="1024"></option>
  • 1

Ports_range

当要在同一客户端下产生30000个连接,必须限制TCP端口号

<option name="ports_range" min="1025" max="65535"/>
  • 1

设置随机数种子

<option name="seed" value="42"/>
  • 1

设置BOSH路径

<option name="bosh_path" value="/http-bind/"/>
  • 1

Websocket选项

使用Websocket服务器模式,设置传输数据格式

<option name="websocket_path" value="/chat"/>
<!-- send websocket data with text frame, default binary-->
<option name="websocket_frame" value="text"/>
  • 1
  • 2
  • 3

XMPP/Jabber选项

默认设置

<option type="ts_jabber" name="global_number" value="5" />
<option type="ts_jabber" name="userid_max" value="100" />
<option type="ts_jabber" name="domain" value="jabber.org" />
<option type="ts_jabber" name="username" value="myuser" />
<option type="ts_jabber" name="passwd" value="mypasswd" />
<option type="ts_jabber" name="muc_service" value="conference.localhost"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

HTTP选项

设置用户代理

<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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

AMQP选项

<option type="ts_amqp" name="heartbeat" value="30" />
  • 1

会话

会话主要定义脚本内容,描述执行的请求 
每个会话有probability属性,用于判断新创建的用户执行哪一个会话,所有会话的probability总值为100。从1.5.0开始,可以通过weight代替probability属性使用。

<session name="s1" weight="2" type="ts_http">
<session name="s2" weight="1" type="ts_http">
  • 1
  • 2

http

<sessions>
    <session name="http-example" probability="70" type="ts_http">
        <request> <http url="/" method="GET" version="1.1">
                    </http> </request>
        <request> <http url="/images/logo.gif"
method="GET" version="1.1"
if_modified_since="Fri, 14 Nov 2003 02:43:31 GMT">
                    </http></request>
        <thinktime value="20" random="true"></thinktime>
        <transaction name="index_request">
        <request><http url="/index.en.html"
method="GET" version="1.1" >
                    </http> </request>
        <request><http url="/images/header.gif"
method="GET" version="1.1">
                    </http> </request>
        </transaction>
        <thinktime value="60" random="true"></thinktime>
        <request>
            <http url="/" method="POST" version="1.1"
contents="bla=blu">
                </http> </request>
        <request>
            <http url="/bla" method="POST" version="1.1"
contents="bla=blu&amp;name=glop">
            <www_authenticate userid="Aladdin"
passwd="open sesame"/></http>
        </request>
    </session>
    <session name="backoffice" probability="30" ...>
        ...
    </session>
</sessions>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

HTTP 报头

<request>
    <http url="/bla" method="POST" contents="bla=blu&amp;name=glop">
        <www_authenticate userid="Aladdin" passwd="open sesame"/>
        <http_header name="Cache-Control" value="no-cache"/>
        <http_header name="Referer" value="http://www.w3.org/"/>
    </http>
</request>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

从外部文件读取报文内容

<http url="mypage" method="POST" contents_from_file="/tmp/myfile" />
  • 1

Cookie,cookie值非持久化的,所以必须在所有的请求中添加

<http url="/">
<add_cookie key="foo" value="bar"/>
<add_cookie key="id" value="123"/>
</http>
  • 1
  • 2
  • 3
  • 4

认证: 
使用数字证书

<!-- 1. First request return 401. We use dynvars to fetch nonce and realm -->
<request>
    <dyn_variable name="nonce" header="www-authenticate/nonce"/>
    <dyn_variable name="realm" header="www-authenticate/realm"/>
    <http url="/digest" method="GET" version="1.1"/>
</request>
<!--
2. This request will be authenticated. Type="digest" is important.
We use the nonce and realm values returned from the previous
If the webserver returns the nextnonce we set it to the nonce dynvar
for use with the next request.
Else it stays set to the old value
-->
<request subst="true">
    <dyn_variable name="nonce" header="authentication-info/nextnonce"/>
    <http url="/digest" method="GET" version="1.1">
    <www_authenticate userid="user" passwd="passwd" type="digest" realm="%%_realm%%" nonce="%%_nonce%%"/>
    </http>
</request>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

OAuth认证

<!-- Getting a Request Token -->
<request>
<dyn_variable name="access_token" re="oauth_token=([^&amp;]*)"/>
<dyn_variable name="access_token_secret" re="oauth_token_secret=([^&amp;]*)" />
<http url="/oauth/example/request_token.php" method="POST" version="1.1" contents="empty">
<oauth consumer_key="key" consumer_secret="secret" method="HMAC-SHA1"/>
</http>
</request>
<!-- Getting an Access Token -->
<request subst=’true’>
<dyn_variable name="access_token" re="oauth_token=([^&amp;]*)"/>
<dyn_variable name="access_token_secret" re="oauth_token_secret=([^&amp;]*)"/>
<http url="/oauth/example/access_token.php" method="POST" version="1.1" contents="empty">
<oauth consumer_key="key" consumer_secret="secret" method="HMAC-SHA1" access_token="%%_access_</http>
</request>
<!-- Making Authenticated Calls -->
<request subst="true">
<http url="/oauth/example/echo_api.php" method="GET" version="1.1">
<oauth consumer_key="key" consumer_secret="secret" access_token="%%_access_token%%" access_token_</http>
</request>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

高级功能

Dynamic substitutions

Reading external file

动态变量

检查服务器响应

Loops,If,Foreach

1.3.0开始,可在会话中添加有条件或无条件的循环。 
1.4.0开始,可以通过增强for循环遍历动态变量列表 
for

<for from="1" to="10" incr="1" var="counter">
    ...
    <request> <http url="/page?id=%%_counter%%"></http></request>
    ...
</for>
  • 1
  • 2
  • 3
  • 4
  • 5

repeat

<repeat name="myloop" max_repeat="40">
    ...
    <request>
        <dyn_variable name="result" re="Result: (.*)"/>
        <http url="/random" method="GET" version="1.1"></http>
    </request>
...
<until var
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

if(版本1.3.1以后) 
其他操作符:gt,gte,lt,lte

<if var="tsung_userid" eq="3">
    <request> <http url="/foo"/> </request>
    <request> <http url="/bar"/> </request>
</if>
  • 1
  • 2
  • 3
  • 4

foreach

<foreach name="element" in="list">
    <request subst="true">
        <http url="%%_element%%" method="GET" version="1.1"/>
    </request>
</foreach>
  • 1
  • 2
  • 3
  • 4
  • 5

通过include,exclude标签,可以进行元素的包含和排除

<foreach name="element" in="list" include="^/.*$">
<foreach name="element" in="list" exclude="http:\/\/.*\.tld\.com\/.*$">
  • 1
  • 2

检索图片

<request subst="true">
    <dyn_variable name="img_list" xpath="//img/@src"/>
    <http url="/mypage.html" method="GET" version="1.1"/>
</request>
<foreach name="img" in="img_list">
    <request subst="true">
        <http url="%%_img%%" method="GET" version="1.1"/>
    </request>
</foreach>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

速率限制

1.4.0 目前只能限制流入速率

<session name="http-example" probability="70" type="ts_http">
    <set_option name="rate_limit" value="64" />
    ...
</session>
  • 1
  • 2
  • 3
  • 4

排除请求

在启动测试前,通过-x 忽略指定名字的请求 
tsung -f SCENARIO.xml -x image start

<request>
    <http url="/" method="GET"></http>
</request>
<request tag="image">
    <http url="/foo.png" method="GET"></http>
</request>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

客户端证书

1.5.1 
可以使用客户端证书进行SSL认证,通过动态变量为证书设置参数

<session name="https-with-cert" probability="70" type="ts_http">
    <set_option name="certificate">
    <certificate cacertfile="/etc/ssl/ca.pem"
        keyfile="%%_keyfile%%" keypass="%%_keypass%%"  certfile="/home/nobody/.tsung/client.pem"/>
    </set_option>
</session>
开源多协议分布式压力测试工具Tsung详解 本文详细介绍开源多协议分布式压力测试工具Tsung。 阅读详情

相关推荐

tsung里面测试websocket的插件

tsung里面测试websocket的插件含 websocket.xml 等

连接数据库超时设置autoReconnect=true,默认重试次数调整

博客园-yafyr-连接数据库超时设置autoReconnect=true Table 6.12 High Availability and Clustering Properties maxReconnects:如果autoReconnect为true,则尝试重新连接的最大次数,默认为’3’。 initialTimeout:如果启用了autoReconnect,重新连接尝试之间的初始等待时间(以秒为单位,默认为’2’)。 ......

灵台方寸山斜月三星洞 1万+

安路科技FPSoC开发实战:从芯片特性到边缘计算应用

本文深入解析安路科技FPSoC芯片在边缘计算领域的开发实战,重点介绍SALDRAGON系列芯片的异构计算架构优势,包括RISC-V/ARM处理器与FPGA的协同工作。通过工业控制和智能视觉应用案例,展示硬件加速实现与低功耗设计技巧,帮助开发者高效利用FPSoC进行边缘计算应用开发。

weixin_29248611的博客 375

【Tsung学习】Tsung.xml配置文件

Tsung.xml配置文件 1.文件结构 默认的编码是UTF-8。你可以使用不同的编码,如: Tsung标签的场景 <!DOCTYPE tsung SYSTEM  loglevel=> ... 如果您添加属性 dumptraffic ="true",所有的流量将被记录到一个文件。 Warning this will considerably slow down Tsung,

Abby同学思考的地方 3004

5个必知的脑网络图论指标:从聚类系数到小世界特性(附BCT工具包使用指南)

本文深度解析脑网络图论分析中五个核心指标:聚类系数、特征路径长度、全局效率、局部效率及节点效率,并详解其计算与解读。结合Brain Connectivity Toolbox工具包,提供从实战计算、常见报错解决到小世界特性统计检验的完整指南,帮助研究者跨越理论与实操鸿沟,让连接矩阵数据真正服务于神经科学研究。

blue42的博客 925

【顾邦小讲堂】第二十四期 电源环路测试从入门到精髓:一文掌握环路测试原理与电压注入点选择依据

电源环路测试是评估开关电源、线性电源等闭环系统稳定性的核心手段,直接关系到电源的稳定性、输出精度、动态响应、抗干扰能力甚至可靠性

GBupupup的博客 2110

Tsung配置文件详解

[code="java"] ...

天堂鸟(积累备忘) 493

华为OD机试真题 新系统 2026-07-22 Java&Go&C 实现【最小代价完成论文评审】

某校有 n 篇论文需要分配给教师评审。 每篇论文 i 可由 files[i] 对应的教师列表中任一教师评审。 每篇论文至少需要一名教师评审。 每位教师 t 不论被分配多少篇论文,其评审费用固定为 cost[t]。 请给出参与评审教师数量最少时的总费用。 如果存在多种方案满足教师数量最少,则选择总费用最小的方案。

MISAYAONE的博客 148

Tsung.xml配置说明(简易版)

说明:以下配置可以实现简单的单机版的并发测试 1.了解配置tsung.xml server:被测试服务的URL,如果要是域名访问需要先在本地配置hosts在写上域名,非域名访问就直接写IP monitoring:监控(cpu,networker,memory),使用erlang或SNMP,erlang是默认值,但是要保证监控的机器和server可以互相访问,装有erlang,否则用snm...

u010481688的博客 557

超声波法检测局部放电的原理与实现

摘要:超声波法通过捕捉局部放电产生的声波信号进行检测,系统由超声波传感器、信号调理单元和数据采集系统组成。其核心应用是局放源定位,主要采用时差定位法和声-电联合定位法。该方法具有抗电磁干扰强、定位精确等优点,但也存在信号衰减大、传播路径复杂等缺点,典型应用于变压器、GIS等设备的在线监测与故障诊断。

start_up_go的博客 374

【DaVinci Configurator专题】-2-将CAN 2.0或CANFD Matrix的Arxml/DBC文件导入到CFG

共9页 目录 1 打开DaVinci Configurator,导入Arxml文件 2 解决导入Arxml文件后可能会出现的一些错误 3 验证CFG的配置 4 根据CFG的配置生成代码 5 结尾 <--返回「实战篇」博文-总目录--> <--返回「Autosar从入门到精通-实战篇」专栏主页--> 关键词: Open the Input Files Assistant Complete update process Update ECU configurati

「汽车电子助手」的博客 6125

tsung源码学习之xmerl

开始规模研究tsung的源代码,代码不多,看起来应该不会太费力,先参考这些资料 老大的2篇博客: http://mryufeng.iteye.com/blog/355827 http://mryufeng.iteye.com/blog/355716 其中还提到一个writing tsung plugin http://www.process-one.net/en/wiki/Writi...

服务器端开发 263

Vue3 - 详细实现安装西瓜视频 xgplayer 插件详细配置及使用教程,利用西瓜视频播放器播放 mp4、flv、hls 格式视频文件及视频推流(直播或监控摄像头画面),支持移动端H5及PC网站!

vue3,nuxt3,西瓜视频,xgplayer,插件组件,xgplayer-hls,xgplayer-flv,xgplayer-mp4,播放视频点播和直播视频流,监控实时播放推流,倍速播放,在线flv在线推流地址,HLS播放,vue3西瓜播放器,vue如何使用西瓜视频插件做直播推流回流,视频点播,flv在线视频流播放,截图功能,自定义播放器样式,截屏,监控视频,vue3使用西瓜播放器播放flv、hls、mp4视频,截屏按钮,直播流,报错,黑屏,加载失败,苹果ios不兼容,重连,怎么改样式,很卡,详细教程,

🏆 前端领域优质创作者 1万+

Tsung测试openfire

复制需要进行测试的配置文件 /tsung/examples/jabber_register.xml             CTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">               “maxusers”线程最大用户连接数,不配置默认800

markeness的专栏 773

ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作

【代码】ubuntu22.04下对使用linuxdeployqt发布的qt程序进行deb打包操作。

十三阿哥的博客 1402

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Tsung笔记之插件编写篇

前言 Tsung对具体协议、通道的支持,一般以插件形式提供接口,接口不是很复杂,插件也很容易编写,支持协议多,也就不足为怪了。 下面首先梳理一下当前Tsung 1.6.0所有内置插件,然后为一个名称为Qmsg的私有二进制协议编写插件, 运行Qmsg服务器端程序,执行压力测试,最后查看测试报告。 已支持插件梳理 Tsung 1.6.0支持的协议很多,简单梳理一下: 

Lee的博客 1831

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Tsung参数说明【转载】

为什么80%的码农都做不了架构师?>>> ...

weixin_33816946的博客 206

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

[心得] Tsung多台压测环境调试踩坑总结

[心得] Tsung多台压测环境调试踩坑总结2016年11月29日 00:11:43阅读数:1612单台压力上不去了,怎么办?首先,需要一个master,多个slave的结构。因为master要登陆slave运行tsung,并且slave要返回登陆master同步数据,所以需要双向登陆能力。此外,tsung通过主机名相互登录:因此master和slave的hostname应该存在彼此的.ssh/k...

大JAVA解决方案 785

tsung基准测试方法、理解tsung.xml配置文件、tsung统计报告简介

网上搜集的资料,资料来源于:http://blog.sina.com.cn/ishouke 1、tsung基准测试方法 https://pan.baidu.com/s/1Ne3FYo8XyelnJy8VX-f0-Q 2、理解tsung.xml配置文件 https://pan.baidu.com/s/1ts_KM5TdunLuCFR8YEUbrQ 3、tsung统计报告简介 h...

aipoqiu2566的博客 173

tsung集群测试

用tsung压力测试时,可能一台机器不能提供所需要的压力,这时可以通过好几台机器组成tsung集群,这样就可以达成单台服务器难以提供的压力。步骤如下: 1、集群的机器之间要能实现无密码提示的ssh登录,见具体方法 2、记得在/etc/hosts中配置机器之间的名字解析 /etc/hosts代码   127.0.0.1       localhost   10.

建伟博客 2014

Tsung指南[荐]

1、tsung安装 tsung 一个非常优秀的压力测试工具,在8核32G机器上可以轻易的产生每秒10000个并发请求,且占用的资源很少,当前版本1.5.0 使用erlang开发,需要先安装erlang虚拟机。安装过程略 2、tsung使用 ? 1 $ tsung -f ./tsung/tsung.xml start

Love Life Love Tech 2071

mac系统 使用tsung测试openfire服务器

1.在系统中安装tsung      brew install tsung   2.利用jabber_register.xml在openfire上面注册用户     找到/usr/local/Cellar/tsung/1.6.0/share/doc/example/jabber_register.xml     拷贝到~/.tsung/tsung.xml,修改tsung.xml如下:

shanxishiwenli的专栏 1340

tsung压力测试——tcp测试tsung.xml配置模版说明

Tsung解析Tsung.xml配置文件 见http://blog.csdn.net/libing1991_/article/details/47684433 <?xml version="1.0"?> <!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd"> <tsung logl...

weixin_30851409的博客 213

tsung指南

为什么80%的码农都做不了架构师?>>> ...

weixin_33698043的博客 312

TSUNG 压力测试集群配置

用tsung压力测试时,可能一台机器不能提供所需要的压力,这时可以通过好几台机器组成tsung集群,这样就可以达成单台服务器难以提供的压力。步骤如下: 1、集群的机器之间要能实现无密码提示的ssh登录,见具体方法 ssh 无密码登录要使用公钥与私钥。linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。 有机器A(192.168.1.155),B(1...

个人技术 334
上一篇: 高并发压力测试工具Tsung使用教程
下一篇: CentOS压力测试工具Tsung安装、使用和图形报表生成
王树民
博客等级 码龄10年 912粉丝 560原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值