文档章节

TSung测试XMPP协议--环境搭建

古月楼
 古月楼
发布于 2013/10/09 13:46
字数 1087
阅读 5104
收藏 9
点赞 1
评论 1

1.安装erlang

wget http://www.erlang.org/download/otp_src_R15B.tar.gz
tar zvxf otp_src_R15B.tar.gz
cd otp_src_R15B
./configure --prefix=/opt/lsmp/openfire/erlang  安装目录
make
make install
版本V5.8.5

这个过程可能需要几分钟。耐心等待!!!

2.安装tsung

wget http://tsung.erlang-projects.org/dist/tsung-1.4.2.tar.gz
tar zvxf tsung-1.4.2.tar.gz
./configure --prefix=/opt/lsmp/openfire/tsung --with-erlang=/opt/lsmp/openfire/erlang 安装目录
make
make install
版本1.4.2

安装后,终端输入tsung -v,可显示版本号。如果报错命令找不到。则需要配置环境变量。看下面代码
  

PATH=$JAVA_HOME/bin:/opt/lsmp/openfire/tsung/bin:$PATH


3.安装perl的Template

wget http://cpan.org/modules/by-module/Template/Template-Toolkit-2.24.tar.gz
tar zvxf Template-Toolkit-2.24.tar.gz
perl Makefile.PL
make
make test
sudo make install
版本2.24

3.安装perl的gnuplot

wget http://superb-dca2.dl.sourceforge.net/project/gnuplot/gnuplot/4.0.0/gnuplot-4.0.0.tar.gz
tar zvxf gnuplot-4.0.0.tar.gz
./configure --prefix=/opt/lsmp/openfire/gnuplot  安装目录
make 
make install
版本4.0.0<比较老>

到目前为止。tsung就可以工作了。

到用户home目录新建 .tsung 目录并新建tsung.xml文件默认读取当前用户home目录下.tsung下面的tsung.xml文件。也可以自己指定目录和文件。执行日志也在home目录下的.tsung/log 也可以启动指定,需要加参数 -l 启动时加参数 tsung -f /opt/xxx/mytsung.xml -l/opt/xxx/tsung/log start 此文件就是测试所需要的文件。

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/opt/lsmp/openfire/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
	<clients>
		<client host="shlab135" use_controller_vm="true" maxusers="20000" />
	</clients>
	<servers>
		<server host='101.1.71.15' port='5222' type='tcp' />
	</servers>

	<!-- register 200000 users in less than 15 minutes -->
	<load>
		<arrivalphase phase="1" duration="15" unit="minute">
			<users maxnumber="20000" interarrival="0.0025" unit="second"></users>
		</arrivalphase>
	</load>

	<options>
		<option type="ts_jabber" name="global_number" value="5"></option>
		<option type="ts_jabber" name="userid_max" value="20000"></option>
		<option type="ts_jabber" name="domain" value="erlang-projects.org"></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="2"></thinktime>
			<!-- 注册 -->
			<request>
				<match do="abort" when="match">error</match>
				<jabber type="register" ack="local" id="new"></jabber>
			</request>
			<!-- 认证 -->
			<transaction name="authenticate">
				<request>
					<jabber type="auth_get" ack="local"></jabber>
				</request>
				<request>
					<jabber type="auth_set_plain" ack="local"></jabber>
				</request>
			</transaction>

			<!-- 登录后持续300秒 -->
			<request>
				<jabber type="presence:initial" ack="no_ack" />
			</request>
			<thinktime value="300"></thinktime>
			<!-- 关闭 -->

			<request>
				<jabber type="close" ack="no_ack"></jabber>
			</request>

		</session>
	</sessions>

</tsung>

此文件需要注意的地方:

  1. <client host="shlab137"  必须是系统的名字不是ip。 linux系统可以用hostname 来查询。
  2. <server host='101.1.71.15' 是openfire的ip或者是Connection Manager的ip。
  3. <users maxnumber="20000" 测试最大的用户数
  4. <options>
    <option type="ts_jabber" name="global_number" value="5"></option>
    <option type="ts_jabber" name="userid_max" value="20000"></option>
    <option type="ts_jabber" name="domain" value="erlang-projects.org"></option>
    <option type="ts_jabber" name="username" value="tsung"></option>
    <option type="ts_jabber" name="passwd" value="tsung"></option>
    </options>
    这是注册用户名的一些规则。

   ok.到现在为止一切都已经按照完毕。现在开始测试吧。
运行tsung start 结果报错,悲剧了。看看错误提示。
tsung Host key verification failed. 这个错误。主机密钥验证失败。那我们看看/etc/hosts文件下面的配置吧。

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
10.1.7.135  localhost shlab135 localhost.localdomain localhost6 localhost6.localdomain6

10.1.7.4   shlab04
10.1.1.20 configserver
还记得我们tsung.xml文件里面配置的主机名称吗?  shlab135 。按照上面的配置tsung解析不到注解的名称。则需要修改这个文件。看下面的代码。
10.1.7.135 shlab135
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
#10.1.7.135  localhost shlab135 localhost.localdomain localhost6 localhost6.localdomain6

10.1.7.4   shlab04
10.1.1.20 configserver
这样就可以了。然后我们运行下 tsung start 看下图结果:

 

表示正在测试。测试结果在log下面的20131009-1415文件夹下面。看下openfire 控制台。是否有测试的用户呢?

     好,那我们现在查看tsung生成的测试报告。需要用到tsung_stats.pl 。这个时候我们安装好了之后tsung_stats.pl 这个文件还没有在安装目录下。需要自己cp到安装目录下。
先找到这个文件的路径。find ./ -name "tsung_stats.pl" 然后到这个目录下面去。执行cp  : cp -r tsung_stats.pl /opt/lsmp/openfire/tsung/bin   就好了。
然后到当前用户的home目录下的.tsung\log下面。找到当前测试的文件目录。执行tsung_stats.pl 即可。看下图是

然后通过ftp工具把这个目录给拖下来或者安装apache服务都行。用浏览器打开report.html就可以通过图形化界面看到我们当前的测试报告了。

如果要通过tsung集群来测试。具体的配置请参考我的另一篇文章:http://my.oschina.net/jielucky/blog/167945


© 著作权归作者所有

共有 人打赏支持
古月楼
粉丝 39
博文 41
码字总数 28071
作品 0
普陀
架构师
加载中

评论(1)

liu_jun_y
liu_jun_y
大神在吗
Tsung 1.4.0 发布,压力测试工具

Tsung 1.4.0 发布了,该版本增加了一个用来模拟慢网络连接的选项,增强了 PostgreSQL 插件以支持扩展协议,为开发者增加了 ts_plugin 行为,同时包含一些bug修复。 Tsung 是一个压力测试工具...

红薯
2011/09/06
853
0
Tsung 1.4.1 发布,压力测试工具

Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持 HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 ...

小卒过河
2011/09/14
867
0
TSung测试XMPP协议 集群配置

有的时候一台tsung机器压力太小,需要用到多台tsung机器来一起压力测试。这个时候就需要在多台服务器上面安装tsung和启动tsung已经tsung.xml文件。如果机器少还可以,没什么问题。那如果机器...

古月楼
2013/10/11
0
0
Tsung 1.5.0 发布,压力测试工具

Tsung 1.5.0 增加对 WebSocket 和 BOSH 的支持,包含一个体验的 AMQP 插件和很多其他 bug 修复和改进。 Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, an...

oschina
2013/05/28
2.6K
5
Tsung 1.5.1 发布,压力测试工具

Tsung 1.5.1 发布,此版本添加了新的 MQTT 插件;the possibility of varying popularities of sessions in phases;添加了 SSL 身份验证的客户端证书;系统改进和 bug 修复。 Tsung 是一个压...

oschina
2014/04/12
2.7K
2
压力测试工具--Tsung

Tsung 是一个压力测试工具,可以测试包括HTTP, WebDAV, PostgreSQL, MySQL, LDAP, and XMPP/Jabber等服务器。针对 HTTP 测试,Tsung 支持 HTTP 1.0/1.1 ,包含一个代理模式的会话记录、支持 ...

匿名
2008/09/20
19.9K
0
如何生成每秒百万级别的 HTTP 请求?

第一篇:《如何生成每秒百万级别的 HTTP 请求?》 第二篇:《为最佳性能调优 Nginx》 第三篇:《用 LVS 搭建一个负载均衡集群》 本文是构建能够每秒处理 3 百万请求的高性能 Web 集群系列文章...

强子哥哥
2015/10/20
183
0
XMPP 协议适合用来做移动 IM 么

XMPP 协议是什么 XMPP(Extensible Messaging and Presence Protocol,前称Jabber)是一种以 XML 为基础的开放式实时通信协议,关于它的协议细节,网上已经有太多分析文章,我这里就不再赘述...

都比zunxi
2014/09/03
7.4K
6
Tsung压力测试工具的搭建和使用,配置。

具体Tsung工具的应用是,模拟用户对某平台的访问,其中可以产生自定义数量的虚拟用户,当Tsung start启动后,虚拟用户产生,模拟访问测试的平台,得到压力数据,在平台生产和设计过程中查漏补...

射手Mr吴
2016/02/16
0
0
TSung测试XMPP协议--测试过程中出现问题

以下问题是我自己的理解,可能有些地方解释的不对。写这篇文章是方便自己以后出现相同的问题还要去google。 先看我的配置文件: <?xml version="1.0"?><!DOCTYPE tsung SYSTEM "/opt/lsmp/ope...

古月楼
2013/10/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

DUBBO 详细介绍

摘要: 主要核心部件: Remoting: 网络通信框架,实现了 sync-over-async 和 request-response 消息机制. RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能 Registry: 服务目录框架...

明理萝
17分钟前
0
1
4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
21分钟前
0
0
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
22分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
27分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
29分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
31分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
32分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
34分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
37分钟前
0
0
mac常用软件

1.excel for mac http://www.pc6.com/mac/114205.html

小黑202
37分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部