`
hyjiang1989
  • 浏览: 99523 次
  • 性别: Icon_minigender_1
  • 来自: 江西
社区版块
存档分类
最新评论

【Tsung压力测试】XMPP/Jabber服务器之注册大量用户

    博客分类:
  • XMPP
阅读更多

Tsung压力测试XMPP/Jabber服务器之注册大量用户

一、安装过程:
1.获取tsung的源码tsung-1.4.2.tar.gz,地址为:http://tsung.erlang-projects.org/dist/
2.安装依赖包
sudo apt-get install erlang erlang-src gnuplot perl libtemplate-perl

注:erlang:从源码编译 erlang 写的程序     perl:report 中的图形

3.编译安装

tar -zxvf tsung-1.4.2.tar.gz

cd tsung-1.4.2/
./configure
make
sudo make install
安装完成之后会自动在系统 path 之中,可以直接输入tsung查看即可,如果出现tsung start/stop/debug/status的信息则安装成功。

二、建立压力测试配置文件

默认的配置文件存在于 ~/.tsung/tsung.xml 中,但我们安装后会发现这个目录和文件并不存在,那就要手动来创建这个目录,操作如下:

mkdir ~/.tsung

cp /usr/share/doc/tsung/examples/jabber_register.xml ~/.tsung/tsung.xml

打开tsung.xml进行修改

vim tsung.xml

对要进行压力测试的openfire服务器信息(IP(域名)和端口)进行修改,如:

<servers>
   <server host='xx.xx.xx.xx' port='5222' type='tcp'/>   //修改成自己的IP地址
</servers>

通过<users maxnumber…>来设置要注册的最大用户数即可

 

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0">
<servers>
   <server host='xx.xx.xx.xx' port='5222' type='tcp'/>
</servers>

<!-- register 200000 users in less than 15 minutes  -->
<load>
  <arrivalphase phase="1" duration="15" unit="minute">
    <users maxnumber="200000" 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="200000"></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="local"></jabber>
    </request>

    <request>
      <match do="abort" when="match">error</match>
      <jabber type="register" ack="local" id="new"></jabber>
    </request>

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

  </session>
</sessions>
</tsung>

 三、启动Tsung

用tsung start运行之后,在openfire的界面上看到正在不断增加用户

 四、生成报表

//进入日志目录
cd ~/.tsung/log/20130502-1608
//运行脚本生成报表文件
/usr/lib/tsung/bin/tsung_stats.pl

五、查看生成的报表

//建立符号链接
cd /var/www
ln -s ~/.tsung/log/ tsungreport

六、测试http://localhost:81/tsungreport/report.html来访问报表

 

遇到的问题:

 

在查看openfire页面时发现正在不断的创建用户,但是创建了1000个左右的用户就结束了,但是我的目标是要创建200000个用户,解决方法如下:

(1)先修改系统的最大数限制

 

在/etc/security/limits.conf 最后增加:

* soft nofile 65535

* hard nofile 65535

* soft nproc 65535

* hard nproc 65535

(2)在配置文件中配置一个重要的参数maxusers

 

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

 

最后的配置文件如下 :

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

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

<servers>
   <server host='xx.xx.xx.xx' port='5222' type='tcp'/>
</servers>

<!-- register 200000 users in less than 15 minutes  -->
<load>
  <arrivalphase phase="1" duration="15" unit="minute">
    <users maxnumber="200000" 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="200000"></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="local"></jabber>
    </request>

    <request>
      <match do="abort" when="match">error</match>
      <jabber type="register" ack="local" id="new"></jabber>
    </request>

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

  </session>
</sessions>
</tsung>

 

 

 

2
4
分享到:
评论
4 楼 咖啡豆javaBean 2016-03-04  
请问这一步骤
1)先修改系统的最大数限制

在/etc/security/limits.conf 最后增加:
* soft nofile 65535
* hard nofile 65535
* soft nproc 65535
* hard nproc 65535

是修改安装Tsung机器上的limits.conf 文件,还是修改安装openfire服务器上的limits.conf 文件呢 ?
还有就是写法,前面是要加星号吗?
其次还想向你求教一个
我在其他地方查的资料貌似也是修改什么端口方法是
需要修改 /etc/sysctl.conf文件,加入net.ipv4.ip_local_port_range = 1024 65535,修改完成执行sysctl -p
请问这两者什么区别呢?都是一个作用吗 谢谢
3 楼 jieweier733 2013-10-14  
这没测试到在线用户啊。只有注册用户
2 楼 hyjiang1989 2013-05-09  
可以的,会慢慢总结 出来
huangshiwei19861013 写道
不能对业务点压力测试么?

1 楼 huangshiwei19861013 2013-05-08  
不能对业务点压力测试么?

相关推荐

    Tsung_测试XMPP_安装使用说明

    tsung是用erlang开发的一款简单易用的压力测试工具,目前仅支持linux各版本系统安装,有tar.gz和deb两种安装文件, 目前我们测试用的是CentOS或RedHat两种操作系统,因此选择tar.gz安装文件,总的来说tsung工具有...

    Tsung负载测试tigase

    针对消息通知服务xmpp服务器,可以用tsung来测试消息通知服务能承受多大的压力。 在Ubuntu上装好tsung之后,首先要用ulimit修改系统支持的最大fd数量(ulimit-n 20480),否则tsung最多只能创建不到1024个连接,测试...

    Openfire 3.9.3 Load Test Tsung配置xml

    Openfire 3.9.3 Load Test Tsung配置xml,10万用户下集群测试的Tsung压力测试工具的jabber_cluster.xml,session 5分钟

    MQTT压力测试之Tsung的使用

    MQTT压力测试之Tsung的使用 MQTT压力测试之Tsung的使用

    tsung用户手册 linux

    压力测试 压力测试 tsung linux

    tsung最新用户手册

    tsung最新用户手册,包含HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP, and Jabber/XMPP servers压力测试模版,错误说明等。

    tsung里面测试websocket的插件

    tsung里面测试websocket的插件含 websocket.xml 等

    escalus:Erlang中的XMPP客户端库,可方便地测试XMPP服务器

    Escalus旨在检查XMPP服务器行为的正确性,与诸如Tsung之类的有关压力测试而不验证正确性的工具相反。 使用此工具escalus对进行负载测试。 快速开始 文件包含Escalus测试套件的简约示例。 您应该包括escalus.hrl...

    tsung测试总结

    tsung 测试 java erlang

    euc-2014:Tsung for Erlang用户大会2014负载测试简介

    介绍Tsung的负载测试 我是谁? Radek Szymczyszyn XMPP / MongooseIM工程师 / / 什么是负载测试? 性能测试的类型: 在特定负载下进行测试-在一个4核,64GiB RAM盒上,如果有10万用户登录并彼此交换消息,则...

    Tsung安装使用详细解说

    Tsung安装使用的详细解说,主要针对xmpp的服务端(比如openfire的测试),编写测试场景的脚本配置详细说明。本人使用的是ubuntu操作系统、Tsung1.4.1

    tsung高并发测试工具搭建(自己亲测,详细的一逼)

    tsung高并发测试工具搭建(自己亲测,详细的一逼),改文档是自己一步一步摸索出来的,主要是安装tsung整个过程很详细,搭过的人,知道tsung的搭建依赖很恶心,不是一时半会能搞出来的

    tsung:Tsung是适用于各种协议(包括HTTP,XMPP,LDAP等)的高性能基准框架

    它可用于测试基于IP的客户端/服务器应用程序(支持的协议:HTTP,WebDAV,SOAP,PostgreSQL,MySQL,LDAP,MQTT,AMQP和Jabber / XMPP)的可伸缩性和性能。 可以找到用户手册: : 问题/错误加入邮件列表: : 或使用...

    tsung脚本及说明

    tsung的测试脚本,包含发送单人消息,群组消息,获取花名册等

    tsung+erlang包

    tsung+erlang测试工具,初学者应用必备,内部放置tsung源程序文件和erlang文件

    tsung安装使用说明

    tsung安装使用,参数说明,模拟openfire注册用户,模拟用户openfire登录、状态更改、发送消息,对openfire长时间压力测试

    tsung_user_guide

    支持各种协议的压力测试工具,如HTTP/XMPP等

    Tsung用于压测MySQL服务器的脚本

    这个MySQL服务器压测的需求是:Tsung用于压测MySQL服务器的脚本环境:LinuxRHEL5U4X86-64,24G内存,16核.MySQL服务器在10.232.36.100上。  这个MySQL服务器压测的需求是:  环境:LinuxRHEL5U4X86-64,24G内存,16核....

    tsung1.6.0

    tsung为一个开源的多协议分布式负载测试工具,使用erlang语言开发的。具体安装使用可以参考URL:http://www.51ste.com/share/det-222.html

    tsung-1.3.3

    tsung安装包,linux下进行压力测试的工具

Global site tag (gtag.js) - Google Analytics