Tsung.xml配置文件
1.文件结构
默认的编码是UTF-8。你可以使用不同的编码,如:
<?xml version="1.0" encoding="ISO-8859-1"?>
Tsung标签的场景
<?xml version="1.0"?><!DOCTYPE tsung SYSTEM <tsung loglevel=>
...</tsung>
如果您添加属性 dumptraffic ="true",所有的流量将被记录到一个文件。
Warning
this will considerably slow down Tsung, so use with care. It is useful for debugging purpose. You can use the attribute dumptraffic=”light” to dump only the first 44 bytes.(这将会大大减缓Tsung,因此需要小心使用,用于调试,您可以使用属性 dumptraffic ="光"来转储,只有第一次是 44 个字节。)
1.4.0 版本以后,使用 dumptraffic=”protocol“在具体的日志中记录每个协议。目前只支持 HTTP ︰ 在 CSV 文件中记录所有请求,包含下列数据 ︰
#date;pid;id;http method;host;URL;HTTP status;size;duration;transaction;match;error;tag
领域 |
描述 |
date |
请求结束时间(自1970-01-01 00:00:00 UTC秒) |
pid |
Erlang进程 |
id |
Tsung用户ID |
host |
服务器主机名 |
URL |
URL(相对) |
HTTP |
HTTP响应状态的状态(200,304,等) |
size |
响应的大小(以字节为单位) |
duration |
请求的持续时间(毫秒) |
transaction |
事件的名称(如果有) |
match |
如果match是在请求定义:match|nomatch(最后<match >如果定义了几个) |
error |
HTTP错误的名字(或空) |
tag |
如果请求被标记即为标签名,否则是空标签 |
警告:一般情况下 (几个Tsung客户端使用),生成的文件将不进行排序,所以你可能需要分析后再进行排序。
重负荷测试 (每秒数万名请求),协议日志记录可能过载的控制器。这种情况,可以改用 protocol_local。日志文件被写入本地的从属机,需要在测试结束后手动合并日志。
日志级别也可以在性能上产生很大的影响 ︰ 负荷过高时需要提出警告。
可能的值有 ︰emergency紧急,critical关键,error错误,warning警告,notice (default)通知 (默认值),info信息,debug调试
为了详细日志记录,调试和设置日志级别对Tsung重新编译再进行调试。
2.客户端与服务器
客户端与服务器的定义
2.1.基本设置
对于非分布式负载,基本的设置如下︰
<clients>
<client host="localhost" use_controller_vm="true"/></clients>
<servers>
<server host="192.168.1.1" port="80" type="tcp"></server></servers>
在同一主机和Erlang 虚拟机上启动负载作为控制器。
服务器是群集的入口,可以添加多个服务器,默认情况下每个服务器权重为1,每个会话可以按权重选择任一服务器。可以为每个服务器设置权重(权重可以是整数或浮点数)︰
<servers>
<server host="server1" port="80" type="tcp" weight="4"></server>
<server host="server2" port="80" type="tcp" weight="1"></server></servers>
(在 1.5.0 版以后,未实现选择权重,循环算法用来选择服务器)。
类型可以是 tcp、 ssl、 udp (对于 IPv6,使用 tcp6,ssl6 或 udp6; 只有在版本 1.4.2中可以更新和使用) 或 websocket (仅限在 1.5.0 版中可以更新和使用))
这也是一个特定的BOSH类型 ︰ bosh加密的BOSH,和 bosh_ssl 的加密连接
2.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"