Tsung:开源多协议分布式负载&压力测试工具
Main features
- High Performance: the load can be distributed on a cluster of client machines
- Multi-protocols using a plugin system: HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP , XMPP/Jabber, BOSH, MQTT and AMQP are currently supported. SSL is also supported.
- Several IP addresses can be used on a single machine using the underlying OS IP Aliasing
- OS monitoring (CPU, memory and network traffic) using SNMP, Munin or Erlang agents on remote servers.
- XML configuration system; several sessions can be used to simulate different type of users. Dynamic sessions can be easily described in XML (this can be used to retrieve at runtime an ID from the server output and use it later in the session).
- In order to generate a realistic traffic, user think-times and the arrival rate can be randomize using a probability distribution
- HTML reports can be generated during the load to view response times measurement, server CPU, etc.
Tsung is developed in Erlang,运行Tsung,需要相关erlang依赖包支持。
一.安装Tsung
sudo apt-get update
sudo apt-get -y install tsung
或自行下载Tsung源码包安装:http://tsung.erlang-projects.org/
二.启用SNMP agent(snmpd)监视系统运行
- 在目标系统上安装snmpd: apt-get install snmpd
- 修改配置文档/etc/snmp/snmpd.conf:
1)开启所有监视端访问:注释行agentAddress udp:127.0.0.1:161,然后启用行agentAddress udp:161,udp6:[::1]:161
2)设置snmp agent可监视(OID分支)范围:注释行view systemonly included .1.3.6.1.2.1.1和view systemonly included .1.3.6.1.2.1.25.1,然后添加行view systemonly included .1
3)rocommunity public default -V systemonly行和rocommunity public default -V systemonly行public为默认community,可更改自定义
4)如果在docker中运行snmpd,修改配置文档/etc/snmp/snmpd.conf后,执行service snmpd [command],这对已启动的snmpd是无效的。因此本人通过重启snmpd所运行的容器(expose 161),然后再执行service snmpd start是可行的方案 启动snmpd:service snmpd start
- 监视端安装snmp来检测监视目标系统snmp agent
sudo apt-get install snmp
snmpwalk -v 2c -c public [agent主机名或ip]
三.试运行Tsung并生成统计报告
cd ~
mkdir .tsung
cp /usr/share/doc/tsung/examples/http_simple.xml .tsung/tsung.xml
tsung start
注意事项:
1)/usr/share/doc/tsung/examples:Tsung安装后,该目录下有多种配置文档样例可参考
2)~/.tsung/tsung.xml:默认配置文件。如果该文件不存在,则需添加-f选项,tsung -f myconfigfile.xml start
3)~/.tsung/log:运行命令tsung start后将生成该日志目录
4)本例中monitor type为snmp
5)关于tsung.xml的配置可参考:http://tsung.erlang-projects.org/user_manual/
cenze@kylin:~/.tsung$ ls log
-
cenze@kylin:~/.tsung$ cd log/-
cenze@kylin:~/.tsung/log/-$ /usr/lib/tsung/bin/tsung_stats.pl
warn, last interval () not equal to the first, use the first one ()
No data for Bosh
No data for Match
No data for Event
No data for Async
No data for Errors
cenze@kylin:~/.tsung/log/-$ ls -l
总用量
drwxrwxr-x cenze cenze 1月 : data
-rw-rw-r-- cenze cenze 1月 : gnuplot.log
drwxrwxr-x cenze cenze 1月 : gnuplot_scripts
-rw-rw-r-- cenze cenze 1月 : graph.html
drwxrwxr-x cenze cenze 1月 : images
-rw-rw-r-- cenze cenze 1月 : match.log
-rw-rw-r-- cenze cenze 1月 : report.html
-rw-rw-r-- cenze cenze 1月 : tsung_controller@kylin.log
-rw-rw-r-- cenze cenze 1月 : tsung.log
-rw-rw-r-- cenze cenze 1月 : tsung.xml
注意事项:
1)/usr/lib/tsung/bin/tsung_stats.pl:如果当前目录下不存在tsung.log,则需通过选项--stats 指定统计日志文件,执行该脚本后将在当前目录下生成相关统计报告目录及文档
2)以上为本机上执行的实际情况,点击report.html在浏览器中打开将看到如下界面:

Tsung:开源多协议分布式负载&压力测试工具的更多相关文章
- 转: Tsung:开源多协议分布式负载&压力测试工具
Main features High Performance: the load can be distributed on a cluster of client machines Multi-pr ...
- .net分布式压力测试工具(Beetle.DT)
肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...
- Windows开源Web服务器性能和压力测试工具
linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...
- Linux压力测试工具Tsung安装、使用和图形报表生成
简介 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung ...
- 压力测试工具tsung
tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用 ...
- CentOS压力测试工具Tsung安装和图形报表生成Tsung安装配置
Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung 支持 ...
- 一个好用的压力测试工具tsung
一个好用的压力测试工具tsung 前段时间一直在忙各种事情,快三周没弄过引擎了,今天有点时间,正好之前写的服务器引擎也到了收尾测试的阶段,于是就研究了下怎么测试服务器压力. ...
- 九款Web服务器性能压力测试工具
一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...
- 十个免费的Web压力测试工具
两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的W ...
随机推荐
- Android数据绑定技二,企业级开发
PS:上一篇文章写了Databinding的简单使用,写了一个绑定textview的示例,和绑定的一些用法,估计有的人会说,之前的写的好好的,为什么要数据绑定这样的写法呢,没办法,社会在进步,当然是怎 ...
- JS对象属性命名规则
JS标识符的命名规则,即变量的命名规则: 标识符只能由字母.数字.下划线和'$'组成 数字不可以作为标识符的首字符 对象属性的命名规则 通过[]操作符为对象添加属性时,属性名称可以是任何字符串(包括只 ...
- Python 爬虫 爬校花网!!
爬虫:是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本 1.福利来了 校花网 ,首先说为什么要爬这个网站呢,第一这个网站简单爬起来容易不会受到打击,第二呢 你懂得... 1.第一步,需要下载 ...
- 在IDEA中实战Git(转载自)
转载自:http://blog.csdn.net/autfish/article/details/52513465 工作中多人使用版本控制软件协作开发,常见的应用场景归纳如下: 假设小组中有两个人,组 ...
- Handlebars 新手使用
昨天抽空看了一下关于Handlebars的 基础使用, 从开始写asp.net 用视图引擎,到写web 的时候 ,都是 用AJAx 来接受并分析数据,然后用 拼接的方式,或者追加的方式来实现在 页 ...
- Android(Java) 字符串的常用操作,获取指定字符出现的次数,根据指定字符截取字符串
/*这是第100000份数据,要截取出100000*/ String s="这是第100000份数据"; String s1 = s.substring(s.indexOf(&qu ...
- mybatis防止sql注入
SQL注入是一种代码注入技术,用于攻击数据驱动的应用,恶意的SQL语句被插入到执行的实体字段中(例如,为了转储数据库内容给攻击者).[摘自] SQL injection - Wikipedi ...
- selenium python自动化简明演示
1.selenium安装: pip install -U selenium参考:https://pypi.python.org/pypi/selenium#downloads2.下载firefox驱动 ...
- rwx读写执行对文件和目录的意义
文件 目录 r 查看 列出目录内容 w 修改 在目录内新建删除文件 x 执行 可以进入目录 对文件的删除权限是对文件所有目录的写权限 对目录-wx的权限,有写和执行权限,既可以在目录内创建删除文件,可 ...
- SQL Server 文章目录
SQL Server系列: 高可用方案 SQL Server Alwayson概念总结 SQL Server AlwaysOn搭建 SQL Server2016 Alwayson新增功能 SQL Se ...