tsung 学习记录
来源:互联网 发布:js获取utc时间戳 编辑:程序博客网 时间:2024/05/20 04:14
近期测试产品性能的时候用到好几次tsung这个工具,整理了一下tsung xml文件的基本结构。
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd"><tsung loglevel="info"><clients><client host="localhost" /></clients><servers><server host="127.0.0.1" port="8080" type="tcp"></server></servers><!-- load用来定义测试压力,用户增长速度以及上限,测试时长等。可以使用多个arrivalphase,每个phase代表一个阶段,每个阶段内可以定义不同的压力,以及要执行的session等 --><load><arrivalphase phase="1" duration="60" unit="minute"><users maxnumber="2" arrivalrate="1" unit="second"></users></arrivalphase></load><options><!-- file_server option用于给tsung生命文件,每个文件指定一个id,后面设置读取参数时通过id来决定从哪个文件读取 --><option name="file_server" value="userfile" id="userfile"></option><!-- 配置http请求的客户端类型,注意probability总数一定要是100,不然会报错 --><option type="ts_http" name="user_agent"><user_agent probability="50">Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36</user_agent></option><option type="ts_http" name="user_agent"> <user_agent probability="50"> Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0) </user_agent></option></options><!-- sessions内可以定义多个session,每个session内定义一系列http请求动作。貌似每个用户只能运行一个session,多个session会在加载用户的时候分别得到执行 --><sessions><!-- session内的probability用于设置多用户情况下,改session被执行的百分比,所有session的probablity总数必须是100 --><session probability="100" name="test" type="ts_http"><!-- 从文件读取变量,iter是顺序读取,这里需要注意的是,每个session只读取一次,既这个session从文件读取一次变量之后,该sesion实例内后续所有对该变量的引用都是本次读取所获取到的value,如果你想在一个session内循环读取这个文件里的变量,那得另想办法啦 --><setdynvars sourcetype="file" fileid="userfile" delimiter=";" order="iter"><var name="username" /><var name="password" /></setdynvars><!-- 直接定义一个变量并赋值 --><setdynvars sourcetype="value" value="this is a test"><var name="test"/></setdynvars><!-- for 循环 --><for from="1" to="1" var="loop"><request subst="true"><http url="/home/main/index.html?name=%%_username%%" version="1.1" method="GET"><!-- www_authenticate 用于实现httpbasic认证,这个只能用于单个请求,并不会在后续的请求里面自动加上认证的header --><www_authenticate userid="%%_username%%" passwd="%%_password%%"/></http></request><!-- thinktime 类似于sleep功能 --><thinktime value="3" random="true"></thinktime><!-- request subst="true" 用于说明这个请求里面会用到动态参数,否则引用的变量会出问题 --><request subst="true"><!-- match用于从response中匹配字符串,默认匹配范围包含http头和body,还可以指定匹配或不匹配后的动作,这里是匹配上了就记录一个日志 --><match do="log" when="match">Unauthorized</match><http url="/home/main/index.html?name=%%_username%%" version="1.1" method="GET" /></request><request subst="true"><http url="/home/main/index.html?name=%%_username%%" version="1.1" method="POST" contents="name=%%_username%%&password=%%_password%%" ><www_authenticate userid="%%_username%%" passwd="%%_password%%" /></http></request><request subst="true"><http url="/home/main/index.html?name=%%_username%%" version="1.1" method="GET"><add_cookie key="session" value="%%_test%%"/></http></request></for></session></sessions></tsung>
1 0
- tsung 学习记录
- 【Tsung学习】Tsung.xml配置文件
- Tsung的源码 学习
- 【Tsung学习】4.脚本学习
- Tsung
- tsung
- tsung
- tsung
- 【erlang 学习】 tsung 源代码分析 怎么debug tsung
- 【Tsung学习】3.软件使用方法学习
- 【Tsung学习】2.环境准备、软件安装
- TSUNG学习教程 工作原理(三)
- OpenFire源码学习之三十一:使用Tsung测试openfire(上)
- OpenFire源码学习之三十二:使用Tsung测试openfire(下)
- 【Tsung学习】1.了解软件功能和运行环境
- TSUNG学习教程 运行环境安装(一)
- TSUNG学习教程 安装与使用(二)
- Tsung 安装
- apache vhost 虚拟配置问题
- JVM垃圾回收机制学习
- 如何用Python写一个贪吃蛇AI
- 第四天 :方法和递归,方法重载
- 2016.7.2 的比赛之第二题之追悔莫及
- tsung 学习记录
- js(十一):事件深入
- 如何将Android Studio项目提交及更新到github
- 工具之TortoiseSVN使用教程
- shell脚本中$@与$#区别
- bzoj 2662(最短路)
- R-CNN随笔No.2
- uuid生成器
- 专题四 Problem B