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)监视系统运行

  1. 在目标系统上安装snmpd: apt-get install snmpd
  2. 修改配置文档/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是可行的方案
  3. 启动snmpd:service snmpd start
  4. 监视端安装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:开源多协议分布式负载&压力测试工具的更多相关文章

  1. 转: Tsung:开源多协议分布式负载&压力测试工具

    Main features High Performance: the load can be distributed on a cluster of client machines Multi-pr ...

  2. .net分布式压力测试工具(Beetle.DT)

    肯定有人会问为什么会写这样一个开源工具?和现有的有什么差别?不过对于一个程序员来说写东西还真不需要理由的:),主要原因是工作有点闲(开玩笑),不过说实话一个程员怎可能会停止写代码呢(作为一个奔4的程序 ...

  3. Windows开源Web服务器性能和压力测试工具

    linux有很多开源工具用来测试服务器负载,而windows上非常少,几乎没有除了几个复杂的JMeter WET等 将两个好用的工具是Linux版本通过Cygwin移植过来,方便广大windows人员 ...

  4. Linux压力测试工具Tsung安装、使用和图形报表生成

    简介 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung ...

  5. 压力测试工具tsung

    tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问.目前对tsung的理解也仅限于会简单的应用,其内部结构没有深入研究过. 1.安装 tsung是用 ...

  6. CentOS压力测试工具Tsung安装和图形报表生成Tsung安装配置

    Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器.针对 HTTP 测试,Tsung 支持 ...

  7. 一个好用的压力测试工具tsung

    一个好用的压力测试工具tsung          前段时间一直在忙各种事情,快三周没弄过引擎了,今天有点时间,正好之前写的服务器引擎也到了收尾测试的阶段,于是就研究了下怎么测试服务器压力.      ...

  8. 九款Web服务器性能压力测试工具

    一.http_load 程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会 ...

  9. 十个免费的Web压力测试工具

    两天,jnj在本站发布了<如何在低速率网络中测试 Web 应用>,那是测试网络不好的情况.而下面是十个免费的可以用来进行Web的负载/压力测试的工具,这样,你就可以知道你的服务器以及你的W ...

随机推荐

  1. slurm-16.05.3任务调度系统部署与测试(1)

      1.概述2.同步节点时间3.下载并解压文件4.编译安装munge-0.5.125.配置munge6.编译安装slurm-16.05.37.配置slurm8.配置MySQL数据库环境9.启动slur ...

  2. MySQL系列:高可用架构之MHA

    前言 从11年毕业到现在,工作也好些年头,入坑mysql也有近四年的时间,也捣鼓过像mongodb.redis.cassandra.neo4j等Nosql数据库.其实一直想写博客分享下工作上的零零碎碎 ...

  3. lua 中pairs 和 ipairs差别

    ipairs 和pairs在lua中都是遍历tbale的函数可是两者有差别 1.pairs遍历table中的全部的key-vale 而ipairs会依据key的数值从1開始加1递增遍历相应的table ...

  4. Hibernate中使用@Lob 注解保存String[] 问题

    Hibernate中使用@Lob 注解保存String[] 问题 在Hibernate注解中怎样你想保存一个字段为String数组类型.假设你想尝试保存为clob类型的话,普通情况下为定义为: @En ...

  5. 使用Myeclipse为数据表创建hibernate实体对象

    hibernate是orm框架的一种,orm即Object Relational Mapping,对象映射关系,其主要作用是将数据库(mysql,mssql,oracle)的对象转换为具体编程语言(如 ...

  6. WebGL学习(3) - 3D模型

      原文地址:WebGL学习(3) - 3D模型   相信很多人是以创建逼真酷炫的三维效果为目标而学习webGL的吧,首先我就是

  7. JAVA提高二十:CopyOnWriteArrayList&CopyOnWriteArraySet&ConcurrentHashMap介绍

    前面我们将java集合类的大部分类都进行了深入分析,但我们会发现一个共性问题就是并发的问题,那么如何解决呢?我们前面基本都是通过Collections的一个工具类来进行的解决,但实际大部分使用中人们普 ...

  8. [译文]React v16(新特性)

    [译文]React v16(新特性) 查看原文内容 我们很高兴的宣布React v16.0发布了! 这个版本有很多长期被使用者期待的功能,包括: fragments (返回片段类型) error bo ...

  9. ES6作用域和解构赋值

    ES6 强制开启严格模式 作用域 var 声明局部变量,for/if花括号中定义的变量在花括号外也可访问 let 声明的变量为块作用域,变量不可重复定义 const 声明常量,块作用域,声明时必须赋值 ...

  10. http头部 Expect

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/90 在通过curl调用对方接口时,发现超时现象很严重,于是询问对 ...