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 ...
随机推荐
- 给jenkins设置管理员
1.点击jenkins web 页的Manage Jenkins,然后点击 Configre Global Security,进行安全配置: 2.启用安全设置,使用Jenkins 自带数据库,只允许登 ...
- linux以行为单位进行读写操作
1 gets/fgets函数 char* fgets(char *restrict buf,int n,FILE *restrict fp) 参数1:存放读入串的缓冲区 参数2:表示读入的字符个数,最 ...
- linux中vim常用命令总结
- ASP.NET Core MVC 2.x 全面教程_ASP.NET Core MVC 22. 再讲Tag Helpers
深入的讲Tag Helpers 加载app下面的所有的文件夹以及各自文件夹下面所有的js文件. exclude是排除掉Services文件夹和其下面的子文件夹 使用cdn加载远程的js文件 找hidd ...
- git中文件的三种状态
用xcode的时候,左侧栏文件的邮右边时不时会看到M,A这一类的字母.当然,这些以后再写上.先说一下git里文件的三种状态 已提交(committed) 已经提交的本地仓库(repository), ...
- iOS中音频的录制与播放(本地音频文件的播放)
iOS功能开发涉及到音频处理时,最常见的时进行录音,以及音频文件的播放.停止播放等的操作.在开发中还要避免同一个音频文件,或不同音频文件之间的处理,比如说正在播放A音频时,可以停止播放A音频,也可以播 ...
- 51nod1014【暴力】
直接暴力1e6就好了 #include <bits/stdc++.h> using namespace std; typedef long long LL; int main() { LL ...
- mongodb 安装问题
重新安装一台机器时出现头疼的问题,老是说什么 dbpath 不存在 结果最后发现是没有写 mongodb.log 这个log文件名 1. 创建 datas 文件夹 e:\mongodb\datas ...
- AtCoder Grand Contest 003 F - Fraction of Fractal
题目传送门:https://agc003.contest.atcoder.jp/tasks/agc003_f 题目大意: 给定一个\(H×W\)的黑白网格,保证黑格四连通且至少有一个黑格 定义分形如下 ...
- 动手实现 Redux(五):不要问为什么的 reducer
经过了这么多节的优化,我们有了一个很通用的 createStore: function createStore (state, stateChanger) { const listeners = [] ...