博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
转: Tsung:开源多协议分布式负载&压力测试工具
阅读量:7049 次
发布时间:2019-06-28

本文共 6295 字,大约阅读时间需要 20 分钟。

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 ,运行Tsung,需要相关erlang依赖包支持。

 

简介

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

HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 GET、POST 和 PUT 以及 DELETE 方法,支持 Cookie 和基本的WWW 认证,同时还支持 SSL。

tsung的工作原理
(1) Tsung的每一个虚拟用户就是一个erlang的轻量进程。这点和loadrunner有很大的区别。
(2) 虚拟用户完成session后就消失。
(3) 大量的虚拟用户(erlang轻量进程)建立在erlangVM上。
(4) 一台测试机可以启多个erlangVM,目前按照1个cpu启动1个erlangVM。

 

一、安装前检查环境

1、查看环境:

[root@localhost bin]#  lsb_release -aLSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarchDistributor ID:    CentOSDescription:    CentOS release 6.4 (Final)Release:    6.4Codename:    Final

2、确保安装了以下工具:

yum install gcc -y  yum install perl -y  yum install unixODBC  yum install unixODBC-devel

二、安装

1、下载并安装erlang

[root@localhost ~]#cd /usr/local[root@localhost local]#mdir -p erlang[root@localhost local]# wget http://www.erlang.org/download/otp_src_R14B04.tar.gz [root@localhost local]# tar -zxvf otp_src_R14B04.tar.gz  [root@localhost local]# cd otp_src_R14B04  [root@localhost otp_src_R14B04]# ./configure --prefix=/usr/local/erlang  [root@localhost otp_src_R14B04]# make  [root@localhost otp_src_R14B04]# make install

注意:如果出现 "configure: error: No curses library functions found "错误,尝试安装:

[root@localhost otp_src_R14B04]#yum install -y ncurses-devel

 

2、下载并安装Tsung

[root@localhost ~]#cd /usr/local[root@localhost local]#mkdir -p tsung [root@localhost local]# wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz  [root@localhost local]# tar -zxvf tsung-1.4.2.tar.gz  [root@localhost local]# cd tsung-1.4.2  [root@localhost tsung-1.4.2]# ./configure --prefix=/usr/local/tsung --with-erlang=/usr/local/erlang  [root@localhost tsung-1.4.2]# make  [root@localhost tsung-1.4.2]# make install

 

3、下载并安装perl Template,用于生成报告模版

[root@localhost ~]#cd /usr/local[root@localhost local]# wget http://cpan.org/modules/by-module/Template/Template-Toolkit-2.24.tar.gz  [root@localhost local]# tar -zxvf Template-Toolkit-2.24.tar.gz  [root@localhost local]# cd Template-Toolkit-2.24  [root@localhost Template-Toolkit-2.24]# perl Makefile.PL  [root@localhost Template-Toolkit-2.24]# make  [root@localhost Template-Toolkit-2.24]# make test  [root@localhost Template-Toolkit-2.24]# make install

 注意:如果出现 以下提示:

[root@localhost Template-Toolkit-2.24]# perl Makefile.PLCan't locate ExtUtils/MakeMaker.pm in @INC (@INC contains: ./lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at Makefile.PL line 11.BEGIN failed--compilation aborted at Makefile.PL line 11.

解决办法:

yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker

 

 

4、下载并安装gnuplot,用于聊天生成

[root@localhost local]#yum install -y gnuplot gd libpng zlib

 

三、检查是否安装成功

[root@localhost local]# perl -v      命令查看显示perl 当前版本信息。[root@localhostlocal]# gnuplot       命令查看gnuplot 的安装版本[root@localhost local]# erl          命令查看erlang的安装版本Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]Eshell V5.8.5 (abort with ^G)[root@localhost local]# tsung -v 命令查看tsung 的安装版本 Tsung version 1.4.2

 

四、安装后设置环境变量

安装成后添加erlang、tsung环境变量

[root@localhost local]# vim /etc/profile   export PATH=$PATH:$JAVA_HOME/bin:/usr/local/erlang/bin:/usr/local/tsung/bin:/usr/local/nginx/sbin:$PATH(修改自己实际变量)  :wq保存,退出  [root@localhost local]# source /etc/profile   不报错则成功  [root@localhost local]# tsung -v   Tsung version 1.4.2[root@localhost local]# erl -v  Erlang R14B04 (erts-5.8.5) [source] [64-bit] [rq:1] [async-threads:0] [hipe] [kernel-poll:false]Eshell V5.8.5 (abort with ^G)1>

 

五、使用并生成报表

1、在root文件夹下新建.tsung目录,用于存放log和xml配置,测试配置文件可参考/usr/local/tsung/share/doc/tsung/examples/目录下配置

[root@localhost local]#mkdir ~/.tsung[root@localhost local]#cp /usr/local/tsung/share/doc/tsung/examples/http_simple.xml ~/.tsung/tsung.xml

2、运行,默认执行脚本~/.tsung/tsung.xml配置

[root@localhost local]# tsung startStarting Tsung"Log directory is: /root/.tsung/log/20150311-0536"

3、进入Log目录下可以看到生成的报表信息

[root@localhost 20150311-0536]# cd /root/.tsung/log/20150311-0536[root@localhost 20150311-0536]# ls -a.  ..  match.log  tsung_controller@localhost.log  tsung.log  tsung.xml

4、进入需要生成图形报表的Log目录,如/root/.tsung/log/20150311-0536

[root@localhost 20150311-0536]# /usr/local/tsung/lib/tsung/bin/tsung_stats.pl creating subdirectory data creating subdirectory gnuplot_scripts creating subdirectory images No data for SessionNo data for PerfsNo data for TransactionsNo data for MatchNo data for EventNo data for AsyncNo data for Sizesize_rcv is equal to 0 !size_sent is equal to 0 ![root@localhost 20150311-0536]# lsdata  gnuplot.log  gnuplot_scripts  graph.html  images  match.log  report.html  tsung_controller@localhost.log  tsung.log  tsung.xml

5、将report.html拖到windows系统中,直接打开即可查看。

目前Tsung工具的最新版本为1.6.0,需要注意的是Tsung1.5.1版本及以上才支持MQTT,并且只有Tsung1.6.0开始,才支持MQTT的username和password的认证。

Tsung测试工具的基本测试命令为 Tsung -f  ~/.tsung/mqtt.xml -l <日志保存路径> start

mqtt.xml具体如下(在/usr/share/doc/tsung/examples路径下可查找到):

<?xml version="1.0"?>

<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">

<tsung loglevel="debug" version="1.0">

<!--下面为客户端配置,可以有配有多个客户端,其中ubuntu要保证通过ssh ubuntu能远程登陆上ubuntu这台机器,这里建议通过密钥对来进行远程客户端的登陆。下面类似于loadrunner的load generator,用以模拟用户。具体的详细配置请参见官网文档http://tsung.erlang-projects.org/user_manual/conf-client-server.html-->

 

转载地址:http://rcpol.baihongyu.com/

你可能感兴趣的文章
如何替代Flex?
查看>>
控制属性修改时间,控制时间,联合主键
查看>>
android-包签名
查看>>
Android开发和调试必备工具-SDK Tools
查看>>
【LeetCode】107. Binary Tree Level Order Traversal II (2 solutions)
查看>>
《微软的软件测试之道》读书笔记 之 结构测试技术
查看>>
ASP.NET中Session的个人浅谈
查看>>
数学图形之Kuen Surface
查看>>
统计图表类型选择应用总结&表数据挖掘方法及应用
查看>>
【故障处理】CRS-1153错误处理
查看>>
快来熟练使用 Mac 编程
查看>>
ASP.NET MVC 3 网站优化总结(三)Specify Vary: Accept-Encoding header
查看>>
MVC5 + EF6 简单示例
查看>>
Spring-cloud & Netflix 源码解析:Eureka 服务注册发现接口 ****
查看>>
ORACLE里锁有以下几种模式,v$locked_object,locked_mode
查看>>
【树莓派】Linux 测网速及树莓派源
查看>>
Java用户线程和守护线程
查看>>
[TypeScript] Use the never type to avoid code with dead ends using TypeScript
查看>>
Javascript 与 SPA单页Web富应用
查看>>
SpringMVC之访问静态文件
查看>>