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

来源:互联网 发布:软件需求分析书籍 编辑:程序博客网 时间:2024/05/08 07:41

基准方法

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"。应该妥善处理服务器数据库,以确保存在这样一个列表。

 

 

 

 

 

0 0
原创粉丝点击