tsung xmpp 消息发送测试

原料准备:

centos 6.4 64bit

erlang

tsung运行环境

openfire

spark(用来验证消息是否成功发送)


一.tsung的安装参考

1.到erlang网站上下载erlang源码包,

按以下步骤安装

yum install ncurses-devel.i686
yum -y install ncurses-devel
./configure --prefix=/usr/local/servers/erlang --without-javac --with-ssl=/usr/local/ssl/
make
make install
ln -s /usr/local/servers/erlang/bin/erl /usr/local/bin/erl
ln -s /usr/local/servers/erlang/bin/erlc /usr/local/bin/erlc

2.安装tsung

到tsung网站下载源码包编译安装

./configure
make
make install

二.到openfire网站下载openfire rpm包直接安装(如果是windows则下载windows安装包)


三.openfire配置更改.授权模块处理.

自定义一个authProvider代码如下:

import org.jivesoftware.openfire.auth.AuthProvider;
import org.jivesoftware.openfire.auth.ConnectionException;
import org.jivesoftware.openfire.auth.InternalUnauthenticatedException;
import org.jivesoftware.openfire.auth.UnauthorizedException;
import org.jivesoftware.openfire.user.UserNotFoundException;

public class NoAuth implements AuthProvider {
                //这里很重要,关系到能否得到授权
		return true;
	}

	@Override
	public boolean isDigestSupported() {
		return false;
	}

	@Override
	public void authenticate(String username, String password)
			throws UnauthorizedException, ConnectionException,
			InternalUnauthenticatedException {

	}

	@Override
	public void authenticate(String username, String token, String digest)
			throws UnauthorizedException, ConnectionException,
			InternalUnauthenticatedException {

	}

	@Override
	public String getPassword(String username) throws UserNotFoundException,
			UnsupportedOperationException {
		return null;
	}

	@Override
	public void setPassword(String username, String password)
			throws UserNotFoundException, UnsupportedOperationException {

	}

	@Override
	public boolean supportsPasswordRetrieval() {
		return false;
	}

}

编译得到class文件 使用 jar cvf jar包名 文件夹 打包为jar包.复制到 openfirHone/lib/ 下.

设置openfire系统属性provider.auth.className 为自定义类.

设置


四.编辑tsung 脚本

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">

  <clients>
    <client host="localhost" use_controller_vm="true"></client>
  </clients>

  <!-- Server side setup -->
  <servers>
    <server host="192.168.7.123" port="5222" type="tcp"></server>
  </servers>

  <load>
    <arrivalphase phase="1" duration="1" unit="minute">
      <users interarrival="2" unit="second"></users>
    </arrivalphase>
  </load>

  <!-- JABBER parameters -->
  <!-- to synchronise users,  use a global acknoledgement -->
  <options>
    <option type="ts_jabber" name="global_number" value="100"></option>
    <option type="ts_jabber" name="userid_max" value="10"></option>
    <option type="ts_jabber" name="domain" value="floatant"></option>
    <option type="ts_jabber" name="username" value="admin"></option>
    <option type="ts_jabber" name="passwd" value="admin"></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>
        <jabber type="auth_set_plain" ack="local"></jabber>
      </request>
      <transaction name="online">
        <request><span style="white-space:pre">	</span>  <!-- 这里的data为要发送的packet,可以为任务合法的packet类型.注意 < >符号要使用转义字符 -->
          <jabber type="raw"  ack="no_ack" data="<message type='chat' to='a@floatant' ><
body>zhouhui</body> </message>"></jabber>
        </request>
      </transaction>

      <thinktime value="30"></thinktime>

      <transaction name="close">
        <request>
          <jabber type="close" ack="no_ack"></jabber>
        </request>
      </transaction>
    </session>
  </sessions>
</tsung>

删改来自tsung自带的脚本/usr/local/share/doc/tsung/examples/jabber.xml

五.运行tsung测试

tsung -f 测试脚本 -l 日志保存文件夹

六.效果图如下


证明消息有发送成功.

六.生成tsung报告

切换到日志所在文件夹

cd/root/java/tsung/xmpp/chat/log/20150112-1619

运行tsung脚本

/usr/local/lib/tsung/bin/tsung_stats.pl 生成测试报告

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值