LINUX 安装tsung 对OPENFIRE 进行压力测试
参考资料: http://www.centoscn.com/image-text/install/2014/0818/3503.html
http://my.oschina.net/jielucky/blog/167405
http://blog.csdn.net/bxc168/article/details/6020683
需要用到的软件包:
openfire : wget -c http://download.igniterealtime.org/openfire/openfire_3_9_3.tar.gz
要用的软件包有第三个软件包,第四个和第五个软件包
1.在终端先执行,输入
yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel
2.再执行,输入
yum install perl-ExtUtils-CBuilder perl-ExtUtils-MakeMaker
3.接着执行,输入
yum -y install perl
4.然后再执行,输入(可能会出现not found什么的,先不管)
yum -y install gnuplot
先贴张图:
5.先安装erlang,解压第三个软件包(我是解压到usr目录下面了,上图中的otp_src_R16B01),输入
tar -zxvf otp_src_R16B01.tar.gz -C /usr
6.配置安装,先cd到解压后的文件夹中,cd之前先确认你现在所在的文件路径是哪里,可以使用pwd查看你的所在路径,输入
cd otp_src_R16B01
再配置安装(我是直接配置到usr目录下面了,配置完后会生成一个文件夹,上面图中的erlang),输入
./configure --prefix=/usr/erlang
make && make install
7.安装tsung,解压第五个软件包(我也是解压到usr文件夹下了,上面图中的tsung-1.5.0)输入
tar -zxvf tsung-1.5.0.tar.gz -C /usr
8.cd到tsung-1.5.0文件夹中,cd之前先确认你现在所在的文件路径是哪里,可以使用pwd查看你的所在路径,输入
cd tsung-1.5.0
9.配置tsung ,(我的路径直接设置在usr中,上图中的tsung),输入
./configure --prefix=/usr/tsung --with-erlang=/usr/erlang (这个地方的路径写你自己解压配置的路径,配置的过程中出现是否确认的时候输入y进行确认即可)
make && make install
10.检查tsung是否安装成功,输入
tsung -v
一般会报错是因为没有配置路径变量
11.配置tsung路径变量,输入
vim /etc/profile
编辑profile文件,在最后添加第九步中的tsung中bin目录如图(我配置了java的jdk变量,所以直接在后面添加:/usr/tsung/bin,冒号也要添加,如下图)
编辑完之后,保存(先按Esc,然后再输入:wq ,保存即可)
12.应用配置,输入
source /etc/profile
13.再次检查tsung 是否安装成功,输入
tsung -v
如果安装成功,则会显示
14. 安装perl的Template,解压第四个软件包,我的是解压到usr目录下面了,如图中的Template-Toolkit-2.24,输入
tar -zxvf Template-Toolkit-2.24.tar.gz -C /usr
15. cd 到Template-Toolkit-2.24目录下,输入
cd Template-Toolkit-2.24
16.再进行配置,输入
perl Makefile.PL
make
make test
make install
17.这个时候再输入第四步中的命令,输入
yum -y install gnuplot
如图显示
18.这个时候输入tsung tart 会报错,说root/.tsung/tsung.xml文件不存在,所以先创建目录,输入
cd
19.到root目录后创建一个 . 开头的文件,创建完成后可以在FTP中查看,在FTP中要手动输入那个路径/root/.tsung就会进入这个隐藏的文件夹。输入
mkdir ~/.tsung
20.自己到网上找一个tsung.xml放入刚才创建的那个文件夹中,下面是我的tsung.xml文件
<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/root/tsung-1.5.0/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
<clients>
<client host="localhost" use_controller_vm="true" maxusers='100000'></client>
</clients>
<servers>
<server host=" " port="6222" type="tcp"></server>
</servers>
<load>
<arrivalphase phase="1" duration="15" unit="minute">
<users maxnumber='100000' interarrival="0.0025" unit="second"></users>
</arrivalphase>
</load>
<options>
<option type="ts_jabber" name="global_number" value="100000"></option>
<option type="ts_jabber" name="userid_max" value="100000"></option>
<option type="ts_jabber" name="domain" value=" "></option>
<option type="ts_jabber" name="username" value="tsung"></option>
<option type="ts_jabber" name="passwd" value="tsung"></option>
</options>
<sessions>
<session probability="100" name="jabber-example" type="ts_jabber">
<request>
<jabber type="connect" ack="no_ack"></jabber>
</request>
<thinktime value="3"></thinktime> <transaction name="authenticate">
<request> <jabber type="auth_get" ack="local"></jabber> </request>
<request> <jabber type="auth_set_plain" ack="local"></jabber> </request>
</transaction>
<request>
<jabber type="presence:initial" ack="no_ack"/>
</request>
<thinktime value="20000"></thinktime> <transaction name="online">
<request>
<jabber type="chat" ack="no_ack" size="16" destination="online"></jabber>
</request>
</transaction>
<thinktime value="3"></thinktime> <transaction name="offline">
<request> <jabber type="chat" ack="no_ack" size="16" destination="offline"></jabber> </request>
</transaction>
<thinktime value="30"></thinktime>
<!-- <transaction name="close">
<request>
<jabber type="close" ack="no_ack"></jabber>
</request>
</transaction> -->
</session>
</sessions>
</tsung>
有一点儿要注意,上面代码中的第二行,
<!DOCTYPE tsung SYSTEM "/usr/tsung-1.5.0/tsung-1.0.dtd">这里要写你自己的路径
client 和host分别填写服务器的hostname和IP地址,我的端口号是6222
启动,输入
tsung start
查看OPENFIRE控制台:
会生成一个日志,如图
21.生成报告,要用到tsung_stats.pl,该文件在/usr/tsung/lib/tsung/bin,我的是usr,复制到/usr/tsung/bin目录下,输入
cp /usr/tsung/lib/tsung/bin/tsung_stats.pl -R /usr/tsung/bin
22.配置环境变量,同11步,在后面添加 :/usr/tsung/bin 保存.
23.Ctrl+C ,停止之后,cd 到日志目录下面的文件夹/root/.tsung/log/20140828-1922 输入
cd /root/.tsung/log/20140828-1922
24.生成报告,输入
cd 20140828-1922/
tsung_stats.pl
25.然后输入
ls
可以看到有文件生成,用FTP把这个文件夹down下来,就可以看到报告了。你想要的数据应该都在里面了。
上面的图是昨天测试的,下面这幅是今天测试的,之前配置有问题就改了,好像2W8是正常的。我的是4G内存,分配了3G多给OF
LINUX 安装tsung 对OPENFIRE 进行压力测试的更多相关文章
- Windows和Linux的Jmeter分布式集群压力测试
Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...
- linux环境下使用jmeter进行压力测试
linux环境下使用jmeter进行压力测试 linux环境下使用就meter进行压力测试: linux环境部署: 在Linux服务器先安装jdk: 2.以jdk-8u172-linux-x64.ta ...
- Linux下四款Web服务器压力测试工具(http_load、webbench、ab、siege)介绍
一.http_load程序非常小,解压后也不到100Khttp_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载.但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把 ...
- linux nginx常见问题及优化,压力测试,tomcat服务器优化
nginx常见问题 nginx优化全局配置优化[root@web2 nginx]# vim conf/nginx.confuser nobody;worker_processes 1;(与cpu核心数 ...
- 基于TSUNG对MQTT进行压力测试-测试结果
一.TSUNG压测前概念温习 https://www.cnblogs.com/lingyejun/p/7898873.html 二.TSUNG在服务器上的安装步骤 Tsung压测时总连接数 = 本机可 ...
- 性能测试工具--SIEGE安装及使用简介 siege压力测试
官方网站http://www.joedog.org/ 概述 Siege是一个多线程http负载测试和基准测试工具.它有3种操作模式: 1) Regression (when invoked by bo ...
- 基于TSUNG对MQTT进行压力测试-基础概念温习
[单台Broker压测结果]请移步另一篇博客:http://www.cnblogs.com/lingyejun/p/7941271.html 一.TCP报头部中的SYN.FIN.ACK: ACK : ...
- Tsung压力测试:Openfire
环境准备 安装Tsung.安装openfire.安装Spark 要对openfire进行压力测试,因此我们主要讲解如何利用jabber_register.xml在openfire上面注册用户,以及利用 ...
- WebBench----简洁优美的网站压力测试工具
[root@c webbench]# webbench -c 10 -t 20 http://www.baidu.com/Webbench - Simple Web Benchmark 1.5Copy ...
随机推荐
- Oracle备份与恢复:RMAN
今天第一次学习RMAN的使用.先登录系统: 数据库未启动,rman命令不能执行.在rman下 也可以 startup . 全库备份的命令:backup database 查看备份集. 下面模拟,数据 ...
- Python安装pip3常见问题
安装pip3 1.安装 zlib组件: 安装完成后,执行命令 python3 -m pip install redis,报错: RuntimeError: Compression requires t ...
- [Java] static, final
1.静态成员 静态成员独立于类的对象,先于对象的存在而存在.无论创建了类的多少个对象,静态成员都只有一个实例空间.一个静态变量被同一个类的所有对象共享.当改变了其中一个对象的静态变量时,其余对象的静态 ...
- 洛谷P1466集合——背包
题目:https://www.luogu.org/problemnew/show/P1466 水题,注意开long long; 代码如下: #include<iostream> #incl ...
- JAVA Synchronized (二)
一,介绍 本文介绍JAVA多线程中的synchronized关键字作为对象锁的一些知识点. 所谓对象锁,就是就是synchronized 给某个对象 加锁.关于 对象锁 可参考:这篇文章 二,分析 s ...
- ASP.NET Core:创建一个Core项目
ylbtech-ASP.NET Core:创建一个Core项目 1.返回顶部 1. 2. 3. 4. 5. 2.返回顶部 1.新建Razor页面 2. 3. 4.Abc 4.1.Abc ...
- Drools6:规则互斥
在Drools中,有的时候会出现一种情况,一个事实Fact,满足了两个规则. 比如Fact的POJO是下面的 public class Message { public static final in ...
- Android中shape的使用 (转载)
转自:http://blog.csdn.net/ekeuy/article/details/12349853 在看很多开源代码中都使用到了shape,我看代码的时候一般都一带而过了,没有仔细去研究,这 ...
- 20170412-sl
force n实力,武力 v强迫 ---------------20170413-sl----------------------- discard n/v 放弃 fetch n/v 拿,取 pu ...
- hdoj1106
果然...这种一条字符串的处理,还是不熟练,居然wa了四次--. 预处理预处理!!!!: 然后中间对条件的确定,标记的改变+预处理,不够严谨啊!!! #include<cstdio> #i ...