XMPP、HTTP 模拟压力测试工具 Tsung 教程

标签: xmpp http 模拟 | 发表时间:2012-04-17 03:21 | 作者:smm11230704
出处:http://blog.csdn.net
一、部署安装
==============
1)安装依赖
yum -y install perl
yum -y install gnuplot
 
由于需要erlang支持,那么下载erlang-R14B04
wget http://www.erlang.org/download/otp_src_R14B04.tar.gz 
tar zxvf opt_src_R14B04.tar.gz
cd opt_src_R14B04
./configure –-prefix=/usr/local/erlang
make
make install

2)安装tsung
wget http://tsung.erlang-projects.org/dist/tsung-1.4.1.tar.gz 
tar zxvf tsung-1.4.1.tar.gz
cd tsung-1.4.1
./configure –-prefix=/usr/local/tsung –-with-erlang=/usr/local/erlang
make
make install
----
示例xml脚本。
/usr/local/tsung/share/doc/tsung/examples
程序安装到了
/usr/local/tsung/

二、配置启动
==============
1)配置XMPP登陆示例
xmppLogin.xml

<?xml version="1.0"?>
<!DOCTYPE tsung SYSTEM "/usr/local/tsung/share/tsung/tsung-1.0.dtd">
<tsung loglevel="notice" version="1.0">
 
 <!-- Clients setup -->
 <clients>
  <client host="localhost" use_controller_vm="true" maxusers="60000"></client>
 </clients>
 
 <!-- Servers setup -->
 <servers>
  <server host="127.0.0.1" port="5222" type="tcp"></server>
 </servers>
 
 <!-- Load User -->
 <load>
  <arrivalphase phase="1" duration="60" unit="minute">
   <users arrivalrate="50" unit="second"></users>
  </arrivalphase>
 </load>
 
 <!-- Jabber parameters -->
 <options>
  <option type="ts_jabber" name="global_number" value="100"></option>
  <option type="ts_jabber" name="userid_max" value="1000000"></option>
  <option type="ts_jabber" name="domain" value="wemomo.com"></option>
  <option type="ts_jabber" name="username" value="1602"></option>
  <option type="ts_jabber" name="passwd" value="1602"></option>
 </options>
 
 <!-- Session TODO -->
 <sessions>
  <session probability="100" name="jabber-example" type="ts_jabber">
   <request><jabber type="connect" ack="no_ack"></jabber></request>
   <transaction name="authenticate">
    <request><jabber type="auth_sasl" ack="local"/></request>
    <request><jabber type="auth_sasl_bind" ack="local"></jabber></request>
    <request><jabber type="auth_sasl_session" ack="local"></jabber></request>
   </transaction>
   <request><jabber type="presence:initial" ack="no_ack"/></request>
   
   <thinktime value="300000"></thinktime>
  </session>
 </sessions>
</tsung>

2)启动
./tsung -f xmppLogin.xml start

三、问题描述

==============

使用该脚本测试的时候,要禁用XMPP服务器的auth验证模块,不然账号密码不对,登陆不进去。

单个IP的端口65535的问题导致单个机器模拟的连接数有限,这个问题我没解决,只能通过使用很多机器都开这个服务来解决。

四、相关文档
==============
http://tsung.erlang-projects.org/ 
http://www.ec-os.net/misc/Tsung.html 

 
作者:smm11230704 发表于2012-4-17 3:21:36 原文链接
阅读:42 评论:0 查看评论

相关 [xmpp http 模拟] 推荐:

XMPP、HTTP 模拟压力测试工具 Tsung 教程

- - CSDN博客推荐文章
由于需要erlang支持,那么下载erlang-R14B04. 使用该脚本测试的时候,要禁用XMPP服务器的auth验证模块,不然账号密码不对,登陆不进去. 单个IP的端口65535的问题导致单个机器模拟的连接数有限,这个问题我没解决,只能通过使用很多机器都开这个服务来解决. 作者:smm11230704 发表于2012-4-17 3:21:36 原文链接.

XMPP协议、MQTT协议、HTTP协议、CoAP协议的基本比较

- - ITeye博客
一、先看下相关国外的专业数据对四大协议的比较:.           XML的解析对于嵌入多设备来说是比较痛苦的 ,所以在嵌入设备上做开发的时候,最好不要选择基于XML的协议.          二、四大协议的基本介绍:.    XMPP是一种基于标准通用标记语言的子集XML的协议,它继承了在XML环境中灵活的发展性.

Windows Live支持XMPP协议

- 康爷 - Solidot
微软在BUILD会议上宣布Windows Live Messenger将支持开放标准网络即时消息协议XMPP. Google Talk、Facebook聊天服务和IBM Lotus Sametime都等支持XMPP. 微软表示,Windows Live Messenger将提供XMPP接口,允许用户将Messenger整合到基于Web、桌面和移动IM产品中.

XMPP协议学习笔记

- - CSDN博客互联网推荐文章
       XMPP 是一种很类似于http协议的一种数据传输协议,它的过程就如同“解包装--〉包装”的过程,用户只需要明白它接受的类型,并理解它返回的类型,就可以很好的利用xmpp来进行数据通讯.        XMPP(可扩展消息处理现场协议)是基于可扩展标记语言(XML)的协议,它用于即时消息(IM)以及在线现场探测.

开源移动通讯架构与XMPP

- - Tim[后端技术]
XMPP由于上下游良好的开源生态得到了广泛的采纳与应用,但是到了移动为主的时代,XMPP的不足也暴露出来. XMPP全称是Extensible Messaging and Presence Protocol(也称为Jabber),是一种支持消息及状态的协议,但在线状态在移动场景并是一个必需的feature.

Android推送方案分析(MQTT/XMPP/GCM)

- - 移动开发 - ITeye博客
本文主旨在于,对目前Android平台上最主流的几种消息推送方案进行分析和对比,比较客观地反映出这些推送方案的优缺点,帮助大家选择最合适的实施方案. 方案1、使用GCM服务(Google Cloud Messaging). 简介:Google推出的云消息服务,即第二代的C2DM. 优点:Google提供的服务、原生、简单,无需实现和部署服务端.

HTTP Headers 入门

- johnny - Time Machine
非常感谢 @ytzong 同学在twitter上推荐这篇文章,原文在此. 本文系统的对HTTP Headers进行了简明易懂的阐述,我仅稍作笔记. 什么是HTTP Headers. HTTP是“Hypertext Transfer Protocol”的所写,整个万维网都在使用这种协议,几乎你在浏览器里看到的大部分内容都是通过http协议来传输的,比如这篇文章.

HTTP基础

- - ITeye博客
HTTP的结构主要包括下面几个要点:. HTTP的版本主要有1.0,1.1 和更高版本.    1.1 及以上版本允许在一个TCP连接上传送多个HTTP协议,1.0能 .    1.1 及以上版本多个请求和响应可以重叠,1.0不能.    1.1 增加了很多的请求头和响应头.     一个请求行,若干小心头,以及实体内容,其中的一些消息头和实体内容是可选的,消息头和实体内容需要空行隔开.

HTTP Header 详解

- - 博客园_Ruby's Louvre
HTTP(HyperTextTransferProtocol)即超文本传输协议,目前网页传输的的通用协议. HTTP协议采用了请求/响应模型,浏览器或其他客户端发出请求,服务器给与响应. 就整个网络资源传输而言,包括message-header和message-body两部分. 首先传递message- header,即 http header消息.

HTTP/2 in Netty

- -
Here, we created a context for the server with a JDK SSL provider, added a couple of ciphers, and configured the Application-Layer Protocol Negotiation for HTTP/2..