用两台主机坐Tigase的Tsung测试,其中1台运行Tigase,另1台运行Tsung。

1.Tigase服务器设置

tigase.conf:

#osgiEnabled=(true|false)
#osgiEnabled=false
OSGI=${osgiEnabled}
ENC="-Dfile.encoding=UTF-8 -Dsun.jnu.encoding=UTF-8"
DRV="-Djdbc.drivers=com.mysql.jdbc.Driver:org.postgresql.Driver:org.apache.derby.jdbc.EmbeddedDriver"
#GC="-XX:+UseBiasedLocking -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:ParallelCMSThreads=2 -XX:-ReduceInitialCardMarks"
#EX="-XX:+OptimizeStringConcat -XX:+DoEscapeAnalysis -XX:+UseNUMA"
JAVA_HOME="${JAVA_HOME}"
CLASSPATH=""
JAVA_OPTIONS="${GC} ${EX} ${ENC} ${DRV} -server -Xms100M -Xmx200M -XX:PermSize=32m -XX:MaxPermSize=256m -XX:MaxDirectMemorySize=128m "
TIGASE_CONFIG="etc/tigase.xml"
TIGASE_OPTIONS=" --property-file etc/init.properties --test "

增加了1行:

TIGASE_OPTIONS=" --property-file etc/init.properties --test "

参数"--test"有两个作用:(1)不加载Tigase的offline message plugin;(2)降低默认的登录级别。

init.properties:

config-type=--gen-config-def
--admins=admin@tsung213
--virt-hosts =tsung213
--debug=server
--monitoring=jmx:9050,http:9080,snmp:9060
--auth-db=tigase-auth
--user-db=mysql
--user-db-uri=jdbc:mysql://localhost:3306/tigase_db?user=tigase_user&password=123456&useUnicode=true&characterEncoding=UTF-8&autoCreateUser=true
--user-repo-pool-size=12
--comp-name-1 = muc
--comp-class-1 = tigase.muc.MUCComponent
--comp-name-2 = pubsub
--comp-class-2 = tigase.pubsub.PubSubComponent

设置好以后启动Tigase服务器,准备接受测试。

2.Tsung主机设置

测试用的jabber_register.xml文件如下,该文件用于测试注册用户时的性能。

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" dumptraffic="false" version="1.0"> <!-- Tsung客户端的IP地址和端口号 -->
<clients>
<client host="localhost" use_controller_vm="true">
</client>
</clients> <!-- Tigase服务器的IP地址和端口号 -->
<servers>
<server host='10.3.93.213' port='5222' type='tcp'/>
</servers> <load>
<!-- 第1阶段,持续时间5分钟 -->
<arrivalphase phase="1" duration="5" unit="minute">
<!-- 最多注册20个用户,每10秒钟注册1个用户 -->
<users maxnumber="20" interarrival="10" unit="second"></users>
</arrivalphase>
</load> <options>
<option type="ts_jabber" name="global_number" value="20"></option>
<!-- 用户编号最大值为20-->
<option type="ts_jabber" name="userid_max" value="20"></option>
<!-- Tigase服务器域名为tsung213 -->
<option type="ts_jabber" name="domain" value="tsung213"></option>
<!-- 用户名以tsung开头,即tsung1、tsung2、...... -->
<option type="ts_jabber" name="username" value="tsung"></option>
<!-- 密码以tsung开头,即tsung1、tsung2、...... -->
<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>

设置好以后,运行/usr/local/tsung/bin/tsung -f /usr/local/tsung/share/doc/tsung/examples/jabber_register.xml start命令,开始测试。

测试结束以后,cd到/root/.tsung/log/20140827-1500文件夹,运行/usr/local/tsung/lib/tsung/bin/tsung_stats.pl,生成测试结果报告。

将生成的测试报告复制到Windows主机,用浏览器打开如下。

远程登录与Tigase服务器连接的MySQL数据库,可见虽然我们设置注册20个用户,但是由于种种原因,只注册了6个用户,这也是正常的。

Tsung测试Tigase的更多相关文章

  1. Tsung测试统计报告说明

    Tsung测试统计报告说明 **********************  report.html  *********************** 1.主要统计信息 Tsung统计数据是平均每十秒重 ...

  2. Tsung测试openfire服务器

    环境准备 安装Tsung.安装openfire.安装Spark Tsung使用 要对openfire进行压力测试,因此我们主要讲解如何利用jabber_register.xml在openfire上面注 ...

  3. 用tsung测试openfire 服务器性能

    最近公司需要做一个有聊天功能的应用,客户讲的是很宏大,用户超多,以前搞过openfire,但没有深入的去了解,就想用它来搞,而且是用 java写的,想扩展也容易些,但在性能上一直担忧,想测试一下它的性 ...

  4. Tsung测试Tcp协议的应用或接口

    利用Tsung模拟基于Tcp的业务流程,实属无奈.因ConnectManager部署在linux下,其中,Loadrunner的winsocket因不支持linux platform而无法使用,而Jm ...

  5. tsung压力测试——Tsung测试统计报告说明【转】

    1.主要统计信息 Tsung统计数据是平均每十秒重置一次,所以这里的响应时间(连接.请求.页面.会话)是指每十秒的平均响应时间: connect: 表示 每个连接持续时间: Hightest 10se ...

  6. tsung测试xmpp遇到no_free_userid

    tsung里面可以配置xmpp的参数,设置一下 <option type="ts_jabber" name="userid_max" value=&quo ...

  7. 转: Tsung:开源多协议分布式负载&压力测试工具

    Main features High Performance: the load can be distributed on a cluster of client machines Multi-pr ...

  8. tsung: an open-source multi-protocol distributed load testing tool

     ROPERTIES::type: KnowledgeBase_Cloud:END: 开源.多协议.分布式的压力测试工具   Item Summary tsung-recorder start 通过p ...

  9. 关于Tsung脚本无法停止的问题

    最近,利用tsung测试cm的时候,脚本是这样配置的: <load> 28 <arrivalphase phase="1" duration="2&qu ...

随机推荐

  1. [HIMCM暑期班]第4课: 扑克牌问题

    假设跟你玩这样一个游戏: 拿一副52张牌的扑克,洗均匀.每次展示一张牌,如果是红心或者方块,你就赢10块钱:如果是黑桃或者草花,你就输10块钱.你可以选择在任何时候终止此游戏.问如何确保利益最大化? ...

  2. java 线程协作 join()

    在实际开发中我们往往会遇到这样的情况一个线程的执行需要依赖另一个线程执行后的结果.即主线程生成并起动了子线程,如果子线程里要进行大量的耗时的运算,主线程往往将于子线程之前结束,但是如果主线程处理完其他 ...

  3. spring cvc-elt.1: Cannot find the declaration of element 'beans'解决办法

    转载自http://blog.csdn.net/legendj/article/details/9950963 今天在写spring aop示例的时候,在spring.xml文件中添加spring a ...

  4. Lock VS Monitor

    Lock Monitor   多线程操作的时候,为防止死锁,我们经常采用加Lock的方式解决,下面就谈一下Lock的具体运用和Lock可以用什么来替换 首先,看代码: private static o ...

  5. 【WP8.1开发】基于应用的联系人存储

    上一篇文章所吹的牛是访问系统(手机)上的联系人,当然那只是读不能改,这是自然的,要是让你能随便修改用户的联系人信息的话,那后果很严重,有些恶意开发者就有可能把”你的户口改成猪“. 但是,API也允许应 ...

  6. (高德地图)marker定位 bug 解决总结

    项目背景: 一个项目bug,项目中用到高德地图,默认打开页面会生成一个marker(下图红色icon),然后用户拖动marker到想要的位置,并且保存. 用户反映定位不准确,在当前页面编辑的位置,到后 ...

  7. Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 1755 (CrBrowserMain)问题

  8. storm坑之---传递对象

    继之前遇到的那个同步问题的坑之后(storm坑之---同步问题),最近对代码又做了调整和重构,并且又遇到了另一个storm开发中应该值得警惕的坑.接下来说说这个坑的大体情况. 在我的storm程序中, ...

  9. [New Portal]Windows Azure Virtual Machine (13) 在本地使用Hyper-V制作虚拟机模板,并上传至Azure (3)

    <Windows Azure Platform 系列文章目录> 本章介绍的内容是将本地Hyper-V的VHD,上传到Azure数据中心,作为自定义的虚拟机模板. 注意:因为在制作VHD的最 ...

  10. ASP.Net 获取服务器信息

    1: Response.Write("服务器机器名:" + Server.MachineName); 2: Response.Write("<br/>&quo ...