【Tsung学习】3.软件使用方法学习

原创 2016年05月30日 15:47:44

基准方法

HTTP/WebDAV

1.Web 服务器的基准测试

(1)记录一个或多个会话 ︰ tsung-recorder开始,然后配置浏览器以使用Tsung代理记录器 (监听端口是 8090)。将创建一个会议文件。For HTTPS recording, use http://- instead of https:// in your browser.;

(2)编辑/组织方案,通过在配置文件中添加记录的会话;

(3)写小代码的动态部分,如果需要将动态标记在场景中;

(4)测试和调整方案来获得一个好的负载进程。这高度依赖于应用程序和目标服务器的大小。计算方案的正常服务期限和用户与相对期限之间的使用时间间隔来估算为每个给定的相位的并发用户数;

(5)首次启动应用程序参数设置基准 ︰ Tsung开始 (运行Tsung查看更多选项);

(6)等待测试结束或用手动停止Tsung (也可以在测试期间生成报告 (请参阅统计和报表) ︰ 每隔 10 秒更新统计信息)。当前活动的摘要,使用Tsung状态。

(7)分析结果、 调整参数,然后测试下一个基准。

2.WebDAV

与HTTP 的方法相同︰ 首先录制一个或多个会话 ︰ tsung-recorder -p webdav开始。

3.代理服务器的基准

默认情况下,HTTP 插件用于测试 HTTP 服务器的基准,但也可以用于测试 HTTP 代理服务器的基准。要做到这一点,必须在选项部分中添加 ︰

<option type= name= value=></option>

 

LDAP

可录制的LDAP插件尚未实现,需要自己定义编写,详细信息可以参阅http://tsung.erlang-projects.org/user_manual/conf-sessions.html#sec-session-ldap-label。

 

PostgreSQL

与HTTP 的方法相同︰ 首先录制一个或多个会话 ︰ tsung-recorder -p webdav开始。这将启动代理服务器监听端口 8090 ,并将请求代理到 127.0.0.0:5432。

选择另一个端口和/或地址 ︰ tsung-recorder -L 5432 -I 10.6.1.1 -P 5433 -p pgsql开始。这将启动代理服务器监听端口 5432 并将请求代理到 10.6.1.1:5433。

 

MySQL

可录制的LDAP插件尚未实现,需要自己定义编写,详细信息可以参阅http://tsung.erlang-projects.org/user_manual/conf-sessions.html#session-mysql-label。

 

Jabber/XMPP

1.概述

这一段解释如何为Jabber/XMPP 写一个会话。

有两个区别 HTTP 与Jabber的测试 ︰

无法为Jabber进行录制,需要手动编写您的会话。Jabber/XMPP 中提供的示例。

Jabber 插件没有解析 XML;替代使用数据包进行确认。

2.信息的确认

由于 Jabber 插件没有解析 XML (从历史上看,它是出于性能原因),需要一种办法确认请求完成。利用ack 属性有3种可能性 ︰

ack ="local"从服务器收到数据包,就认为请求被完成。因此如果你不需要从服务器响应请求来使用本地ack,它将等待永远 (或直到超时)。

ack ="no_ack"请求一旦被发送即视为已经完成 (不等待传入的数据)。

ack ="global"同步用户。其主要用途是等待所有用户在发送邮件之前的连接。要做到这一点,将设置global ack 请求 (可以是第一次出现msg):

<request> <jabber type= ack=/> </request>

指定用户连接数 ︰

<option type= name= value=></option>

为确保完全 global_number 用户已启动,请将 maxnumber 属性添加到用户 ︰

<users maxnumber= interarrival= unit=></users>

如果未指定 maxnumber,global ack 将重置每个 global_number 用户。

双向的存在

1.2.2 中的新增功能 ︰ 此版本增加了新的选项为一个会话。如果你在 <session>标签中设置属性 bidi (用于双向): < 会议...bidi ="true">,然后将分析传入服务器的消息。目前,只有订阅请求的名单可以被处理 ︰ 如果用户收到一个订阅请求 (< 驻留...类型 ="订阅">),它会回应与 < 驻留...类型 ="订阅"> 消息。

状态 ︰ 离线,连接和在线

可以向脱机或联机用户发送消息。用户发出存在︰初始信息(此消息之前,用户状态是已连接的)则认为该用户在线 。

如果你想要切换回连接之前进入脱机状态,您可以使用存在︰终态信息 ︰

存在 ︰ 终态要做两件事情 ︰

从在线用户列表中删除客户端,并将它们移动到已连接用户列表;发送一个类型 ="unavailable"的存在更新的广播。

存在 ︰ 终态是可选的。

警告 ︰ 这是 1.2.0中新增的,在早期版本中,只有 2 种状态可用 ︰ 在线和离线;只要用户已连接即认为是在线的。

认证

下面是可能的认证方法的配置示例。注 ︰ 这里使用的正则表达式只是作为例子 — — 它们是否需要改变取决于具体的服务器的构成信息 (请参阅 Websocket 选项的密码设置http://tsung.erlang-projects.org/user_manual/conf-options.html#jabber-options-label)。

简单认证-发送明文密码 ︰

<session probability= name= type=>

 

  <request> <jabber type= ack=></jabber> </request>

 

  <thinktime value=></thinktime>

 

  <transaction name=>

    <request> <jabber type= ack=></jabber> </request>

    <request> <jabber type= ack=></jabber> </request>

  </transaction>

  ...</session>

XMPP JEP-0078中所述摘要式认证︰非SASL 验证 http://www.jabber.org/jeps/jep-0078.html

<session probability= name= type=>

 

  <!-- regexp captures stream ID returned by server -->

  <request>

    <dyn_variable name= re="<stream:stream id="(.*)" xmlns:stream"/>

    <jabber type= ack=></jabber>

  </request>

 

  <thinktime value=></thinktime>

 

  <transaction name=>

    <request> <jabber type= ack=></jabber> </request>

    <request subst=> <jabber type= ack=></jabber> </request>

  </transaction>

  ...</session>

sip 摘要式认证

 <session probability= name= type=>

 

 <request> <jabber type= ack=></jabber> </request>

 

 <thinktime value=></thinktime>

<transaction name=>

  <!-- regexp captures nonce value returned by server -->

  <request>

    <dyn_variable name=

      re="<Nonce encoding="hex">(.*)<\/Nonce>"/>

    <jabber type= ack=></jabber>

  </request>

  <request subst=> <jabber type= ack=></jabber> </request></transaction>

...</session>

保密列表测试

提供两个操作作为基本保密列表的负载测试 ︰

privacy:get_names 获取所有名称列表,存储服务器对给定用户的保密列表;

privacy:set_active为活动设置预定义的名称列表。列表名称确定从 JID,例如如果用户 JID 是"john@average.com",那么该列表名称是"john@average.com_list"。应该妥善处理服务器数据库,以确保存在这样一个列表。

 

 

 

 

 

程序压力测试、性能测试AB、Webbench、Tsung

负载生成器是一些生成用于测试的流量的程序。它们可以向你展示服务器在高负载的情况下的性能,以及让你能够找出服务器可能存在的问题。为了得到更加客观和准确的数值,应该从远程访问、局域网访问和本地等多个方面进...
  • GarfieldEr007
  • GarfieldEr007
  • 2016年12月26日 21:26
  • 759

CentOS压力测试工具Tsung安装、使用和图形报表生成

最近需要测试一下Openfire服务器的性能,然后就选择了用Tsung这个鼎鼎大名的工具来进行测试,只不过Tsung的安装需要CentOS系统,并且,安装过程也不是那么容易的,所以这里参考了一下别人的...
  • jeepxiaozi
  • jeepxiaozi
  • 2015年01月16日 21:25
  • 7388

使用TSung使用多台电脑进行协同压力测试

因为单台PC电脑性能限制,产生的压力上不去,因此这两天研究了一下多台电脑协同进行压力测试:1、为每台电脑建立相同的用户,并打通SSH无密码访问。     具体做法见本人上一篇文章。2、为每台电脑配置h...
  • spider_zhcl
  • spider_zhcl
  • 2010年12月23日 23:46
  • 3323

tsung压力测试

使用tsung对http服务的压力测试及对mysql的测试
  • wudongxu
  • wudongxu
  • 2011年04月15日 18:32
  • 10090

MQTT压力测试之Tsung的使用

  • 2017年10月30日 17:00
  • 5KB
  • 下载

Tsung的安装和使用

介绍: 开源的, 多协议的,分布的压力测试工具。 服务器监控(CPU,内存,网络流量),支持SNMP、Erlang、MUnin方式 XML 方式的配置文件 HTML或者图表的方式报告测试结果 ...
  • markeness
  • markeness
  • 2013年06月26日 11:20
  • 417

Xmind Pro 用思维导图工具写下你的清晰想法

能够以非常清晰的思路写下你的想法可以使他们有力的。以图形的形式,如思维导图,可以通过揭示关系并允许鸟瞰大型主题来增加过程。XMind8 Pro是一个非常专业的思维导图工具,它可以帮助你做到这一点,但是...
  • q50377564
  • q50377564
  • 2018年01月26日 10:26
  • 64

OpenFire源码学习之三十二:使用Tsung测试openfire(下)

Tsung使用 由于我们只是对openfire进行测试,因此我们主要讲解利用jabber_register.xml在openfire上面注册用户,以及利用jabber.xml模拟用户登录openfi...
  • huwenfeng_2011
  • huwenfeng_2011
  • 2015年02月04日 14:10
  • 7881

tsung安装使用

转载地址:http://blog.csdn.net/flyforqie/article/details/38640069,如转载请注明原文出处。一、安装 安装环境: [plain] view pl...
  • sinat_27242589
  • sinat_27242589
  • 2015年11月11日 17:15
  • 265

使用Tsung测试Openfire服务器

在上一篇转载来的博客(戳我打开)里讲完了Tsung的安装以及基本的测试,接下来我们这篇就开始测试我们的Openfire服务器了。 这里贴出Openfire的测试脚本:需要自行保存为.xml文件...
  • jeepxiaozi
  • jeepxiaozi
  • 2015年01月17日 16:49
  • 2840
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:【Tsung学习】3.软件使用方法学习
举报原因:
原因补充:

(最多只允许输入30个字)