这篇文章介绍了两种定制 IBM®Rational®Performance Tester 的方法,用它来记录和产生那些模拟从无线或者移动设备下载的请求。作者还讨论了这些方法的挑战和执行这些定制的最佳实践。这些方法是基于
Bharti SDP (telecom) 成功使用的基础的,并且用作模型服务于移动 Web 应用软件(Mobile Web Application)
的性能测试。
典型情况下,IBM®Rational®Performance Tester (RPT) 是用来产生 Web 网站流量的。然而,在几种特定的情形下您可能需要驱动无线负荷,理解系统性能特性。这篇文章通过以创新的方式使用现有的
RPT 特性的方法来介绍达到这个目的的方法。WebSphere®Everyplace Mobile Portal server
(WEMP) 用作一个服务器组件实例。它接受了无线请求。
第一种方法使用默认的 Microsoft®Internet Explorer® 浏览器来定制 Rational
Performance Tester,从而产生无线请求到这个门户服务器并得到性能度量。这个请求源可以用 User-Agent
值来区分。例如,对于 Internet Explorer, 这个 User-Agent 值是:
Mozilla/4.0 (兼容的; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322;
.NET CLR 2.0.50727)
您可以在 Rational Performance Tester 脚本种更高这个值到移动或者无线设备中。只需编辑这个产生 RPT
脚本请求的标题就可以进行修改。这样就可以在所有 User-Agent 字符串使用的地方反映这个变更了。
这些 User-Agent 字符串是几个无线设备常用的:
- OpenWave-OPWV-SDK UP.Browser/7.0.2.3.119 (GUI) MMP/2.0 Push/PO
- NokiaN70-NokiaN70-1/1.0552.0.7Series60/3.0Profile/MIDP-2.0Configuration/CLDC-1.1
- NokiaN93-NokiaN93i-1/10.0.025
- Sony Ericssion-SonyEricssonP900/R102
与 Internet Explorer 一起使用
Rational Performance Tester
- 为 RPT, Internet Explorer 使用默认浏览器,创建一个新项目叫作 SimpleProject,并一个新测试来记录事件。
- 记录一个样例 Web portal,您将得到一个登陆页面,如图 1所示。
- 登陆
- 运行一系列事件,然后关闭浏览器停止记录。例如,图 2描述了这个 World Clock Portal 页面
图 1. Web Portal 登陆页面
图 2. World Clock Portal 页面
在这个例子中,产生的这个脚本取名为 TestClockWeb1。使用的 User-Agent 是 SonyEricssonP900/R102。对于
Internet Explorer,我们利用原始的 User-Agent 字符串来取代它(Mozilla/4.0 (兼容的; MSIE;6.0;
Windows NT 5.1; SV1; .NET CLR 1.1.4322; .NET CLR 2.0.50727),模拟一个
WAP (Wireless Application Protocol) 或者门户请求(图 3):
图 3. TestClockWeb1a 脚本的详细情况
- 要在请求的脚本中更改这个 User-Agent 字符串值,就要将代表浏览器的值更改为代表无线设备的值:
SonyEricssonP900/R102
- 您可以在保存这个更改之后,验证 RPT 工作区的 Protocol Data 标签中的 User-Agent
字符串值(图 4)。
图 4. Test Protocol Data 标签
- 在这个记录细节中您还需要为重要的页面插入新的记录,比如 TPS(每秒中的记录)。
创建一个叫作testSchedule 新的性能调度。
注意:
在这个例子中,我们在运行测试之前,为这个调度设置了一个两秒钟的思考时间,不像默认的那样,使用记载的思考时间。
(在图 5中显示例子中,这个调度测试5个用户一起运行,并且有10次迭代——这将显示在General标签中。)
图 5. 测试调度详细情况
- 监控这个门户服务器登陆有效,无论这个请求来自移动门户还是 Web 门户。列表 1中的这个日志表明这个例子是一个 WAP
请求。
列表 1. 门户服务器日志表明这个请求是来自 WAP 门户的
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O WAP request Header property: x-network-info; Context msisdn: null
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O *******hdrValue*****null
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O WAP request Header property: x-network-info; Context msisdn: null
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O WAP request Header property: x-network-info; Context msisdn: null
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O *******hdrValue*****null
[7/28/07 18:32:06:590 GMT+05:30] c2cd097 SystemOut
O WAP request Header property: x-network-info; Context msisdn: null |
- 要了解这个请求来自于哪种的设备,您可以监控这个日志。例如,它们可以显示您在列表 2 中看到的内容。
列表 2. 日志可以显示设备的类型
[7/28/07 18:31:12:691 GMT+05:30] 68f3d093 PmiRmArmWrapp I PMRM0003I:
parent:ver=1,ip=10.5.72.57,time=1185620240612,pid=319690,reqid=8843,event=1
- current:ver=1,ip=10.5.72.57,time=1185620240612,pid=319690,
reqid=8844,event=1 type=JDBC detail=select POLICY
, VALUE , REVISION from VMPOLICY_VALUES where PROJECT =
'mobile-portal' and NAME = 'SonyEricsson-P900' elapsed=22 |
同样地,如果使用了任何其它设备,而且这个脚本如这里所描述的那样定制,那么 这个门户服务器日志将指示相应的设备细节。另外,您还可以审查
Multi-Channel Server (MCS) 日志来寻找发送的设备类型 (列表 3)。
注意:Multi-Channel Server 是可以产生设备详细内容的 WEMP 的一个组件。
列表 3.
com.volantis.mcs.devices.DevicesHelper Servlet.Engine.Transports : 4
User Agent is 'SonyEricsson-P900' |
您可以在 mcs-jlog.xml 文件中,通过设置 com.volantis.mcs 属性到 debug 中来启用这个 MCS
日志。
第二种方法利用 Mozilla®Firefox®浏览器和这些 Firefox add-ons 安装的请求:
- Modify Headers
- XHTML Mobile Profile
- wmlbrowser
按照以下步骤来这个方法:
- 安装和重新启动 Firefox 之后,点击 Tools 菜单,然后点击 Modify Headers。
- 为您的移动电话提供 MSISDN 数字和用户代理人。在您提供用来模拟电话的门户 URL 地址之前,要激活数字和用户代理人(图
6)。
在图 6中, Nokia N70 在这个例子中设置为 User-Agent 。
图 6. Firefox Modify Headers 插件
当您提供了这个门户 URL 地址之后,您将看到显示在图 7中的门户页面,这与您使用 Nokia N70 地址看到的页面是一样的。
图 7. Sample Portal 页面
在 Mozilla Firefox 浏览器中使用
Rational Performance Tester
在 Rational Performance Tester 中为 HTTP 记录器提供相同的值,来记录这个脚本并模拟载入。记录时,按照以下步骤来记录通过
Firefox 模拟无线载入的事件。
- 更改 HTTP Recorder 默认浏览器到 Mozilla Firefox:
- 选择 Windows > Preferences > Test > HTTP Recording。
- 在 Application 区域,将它设置为 Mozilla。
- 在 Application path中,键入 Firefox 安装在您系统中的路径。
- 创建一个叫作 SimpleTest 的Test Projec。
- 打开一个叫作 TestPurchase 的 HTTP 记录来作为一个 Mozilla Firefox 浏览器例子。
- 启动 Modify Headers 插件,然后键入门户 URL 地址查看门户页面。
注意:
在 Rational Performance Tester 记录器打开 Firefox 浏览器以后,要确保已经打开 Modify
Header 窗口并且是活动窗口。如果 Modify Header 窗口在记录之前就是活动的,它将返回这个错误:这个记录对任何安装的
Test Generator 都包含 NO Protocol。这是由于缺少 HTTP 地址流量造成的,这个地址流量是通过网络代理记录器在本地主机端口1080按照线路发送的。
- 浏览这个页面并执行这个任务来记录。
- 关闭 Firefox 浏览器和 Modify Headers 窗口从而停止记录。
然后这个记录器会开始 TestSample 脚本的产生(图 8)。修改这个脚本,在每个页面中插入事务,这样反映时间和每秒的交易事务都能很好地计算出来。这个度量有助于理解记录的执行行为。
这个例子中的记录包括导航到第一个 WPS 门户页面,它还被引用作为 Sample 页面。这个页面还列有两个连接,分别链接到另外两个不同的移动门户页面。它们分别是
svt_portlet_mobile_world_clock 和 svt_portlet_welcome_page。这个记录步骤包括这些页面的导航以及关闭这个浏览器
,基于这个浏览器,RPT 记录器会自动产生 TestSample 脚本。
图 8. TestSample 详细情况
- 完成这些步骤以后,创建新的执行调度,叫作 testSchedule(图 7)。它将运行这个脚本,并用不同的虚拟用户来模拟用户从
Nokia-N70 移动设备发送请求。
注意:
这个例子中的思考时间设定为2秒钟,不像默认的那样 ,利用记录的思考时间。
图 9. 新的执行调度称作 testSchedule
- 当您运行这个执行调度以后,要监控这个门户服务器日志,来验证这些请求是否利用预期的 MSISDN 真正模拟了一个 Nokia-N70
装载。
列表 4 展示了跟踪输出的样例,使模拟生效。
列表4. 跟踪输出的样例
“[7/28/07 15:57:31:813 GMT+05:30] 1b90825f SystemOut
O WAP request Header property: x-network-info; Context msisdn: 9810400684
[7/28/07 15:57:31:813 GMT+05:30] 1b90825f SystemOut
O *******hdrValue*****cdp, 919810009263, oasidujho
[7/28/07 15:57:31:813 GMT+05:30] 1b90825f SystemOut
O WAP request Header property: x-network-info; Context msisdn: 9810400684
|
在记录这个测试访问前,记录的 MSISDN 数字和 User-Agent 标识符与规定嵌入在 Modify Headers 插件中的一样。
另外,您可以从不同的设备检查 MCS 多通道服务器日志,如列表 5所示。
列表 5. 通过审核服务器日志使模拟生效的样例
com.volantis.mcs.devices.DevicesHelper Servlet.Engine.Transports : 4
User Agent is NokiaN70.
|
提示:
使 MCS 日志生效,在 mcs-jlog.xml 文件中设置 com.volantis.mcs属性为 debug。
这个性能度量显示了运行的性能,并提供了相关的详细资料。您可以按照您的意愿定义事务在页面交易的次数。
尽管这里详细描述的步骤有助于性能测试门户时对 Rational Performance Tester 的理解和使用,它们根本不考虑高速缓冲特性。例如,如果您
使用一个 Nokia-N70 设备来发送来自各种用户的请求,这个数据可以从 MCS/WEMP 缓冲中提交。建议使用 Rational
Performance Tester 的数据池特性来为不同用户的不同移动设备的装载设置参数,这样您可以模拟一个现实的情景来获取有用的结果。
学习
获得产品和技术
讨论 |