分享
 
 
 

利用Web Application Stress Tool(WAS)做性能测试(3)

王朝asp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

利用Web Application Stress Tool(WAS)做性能测试(3)

建立各客户端机器

WAS允许你使用多个客户端机器测试你的网站。当一个测试开始时,WAS会自动地与所有客户机取得联系,向他们传输所有的测试信息(包括测试脚本项,页面组和用户定义信息),启动和停止他们的测试,然后收集测试结果。

使用其中一个客户机器作为你的主客户端。这个主客户端应该是你用来记录和设置测试脚本的机器。

建立测试客户端

1. 在左边窗口展开脚本信息

2. 点Clients节点在右边窗口打开相应的视图

3. 双击Default客户端打开客户端视图

本地客户端的记录(在你工作的主客户端)已经默认被创建。

4. 要想加入新的客户端,在Machine name输入IP地址或域名。

5. 点Add按钮,新的客户端会以Connected的状态被加到表单中去。

6. 重复步骤5和6,直到全部客户端机器都被加入。

当添加新的客户端时,尽量加那些大致相同处理能力的机器。我们发现添加一个明显比其他机器速度慢的机器比不添加它还要产生更多的socket错误。

我们也发现如果我们设置一台专注的机器作为主客户端,但是这台机器不参与产生负载。这样的设置,我们会产生较少的socket错误,而且测试结束得更快。

要这样设置的话,从客户端列表去掉主客户端的名字。如果你有一台慢的机器而你不打算用做负载产生机器,它可以作为你的主客户端而不会影响测试的输出。注意,这台主客户端仍然做所有的产生报告和分发测试脚本的工作。一台慢速度的主客户端意味着你的测试启动和结束的速度会慢些,而且要更多的时间来产生报告。

设置性能计数器

WAS可以与Windows NT性能监视器结合简化测试数据的收集。你可以为每个脚本存储你最喜欢的性能监视计数器,WAS 会像其它信息一样收集它们的数据。

把性能监视计数器加到你的脚本

1. 在左边的窗口展开脚本的信息

2. 在右边的窗口点Perf Counters节点打开相应的视图

3. 在Collection Interval,输入收集时间间隔。这是以秒计算的取样时间。

4. 点Add Counter按钮

5. 从Add counter to report对话框,通过点Add按钮选机器,对象和你感兴趣收集的计数器。

在WAS帮助文件的"Common performance monitor counters"部分有一系列的通用性能计数器的介绍。

如果你在使用这个特性时遇到什么问题,请参考WAS的基本知识介绍。

运行测试脚本

一旦你设置好了测试脚本,就准备好了在你的客户机运行脚本

启动主客户端的测试

1. 点需要测试的脚本

2. 从Scripts菜单选Run

也可以点工具栏上的Play按钮运行脚本。

检查测试报告

测试完成后,你应该先检查测试报告看是否有socket 或 HTTP错误

从报告中检查这些错误

1. 从View菜单选Reports打开相应的视图,见Figure 7.

Figure 7. Reports view screen

2. 在左边窗口,双击脚本打开测试报告,如果需要的话

3. 点测试报告名(有测试运行时间指定),如果需要的话。你会看到右边窗口显示报告的概要。

4. 在报告概要,检查Socket Errors部分是否有任何的socket有关的错误(值不为0)。这里列出每种socket错误的解释:

· Connect—客户端不能与服务器取得连接的次数。如果这个值偏高,检查在客户端与服务器之间产生的任何潜在的错误。从每个客户端Ping服务器或telnet服务器的端口80验证你得到正确的回应。

· Send—客户端不能正确发送数据到服务器的次数。如果这个值偏高,检查服务器是否正确地工作着。在客户端打开一个浏览器然后手工点击站点页面验证站点正确地工作着。

· Recv—客户端不能正确从服务器接收数据的次数。如果这个值偏高,执行和Send错误相同的操作。还要检查一下如果你减低负载系数,错误是否跟着减少。

· Timeouts—超时的线程的数目,而且随后就关闭了。如果这个值偏高,在客户端打开一个浏览器然后手工点击站点页面验证是否即使只有一个用户你的程序也会很慢。再做一个不同负载系数的压力测试,看看你的程序的潜在特征。

5. 如果socket错误很低或为0,拉下报告视图找到Result Codes部分。

6. 检查一下是否所有结果代码都是200,表示所有请求都被服务器成功地返回了。如果找到大于或等于400的结果,继续下面的步骤以查找哪个脚本项(URL)产生这些HTTP错误的。

7. 在左边窗口展开脚本信息

8. 双击Page Data节点展开所有的脚本项

9. 点每个脚本项在右边窗口看页面数据的报告

10. 在每项脚本的页面数据报告检查Result Codes部分,验证是否有那项产生了HTTP错误。如果要看常见的结果代码列表,请参考WAS帮助文件的"HTTP result codes"部分。

运行脚本

在准备好以上介绍的测试脚本后,你现在就可以准备运行测试及收集数据了。

你可以按照前面介绍的步骤手工运行每项测试。然而,这将会是一项耗时的过程。

WAS有一个对象模型,允许你创建自己的Microsoft Visual Basic Scripting Edition (VBScript)脚本来控制和配置测试运行。

当测试运行时,你应该监视和记录不同的性能相关的系统计数器,包括跟踪系统吞吐量的计数器,反应时间和资源利用率。

结论:最好的习惯

客户机器。密切监视每个客户端的系统资源利用率。如果CPU或内存使用高于80%,客户端可能已经过载,你应该考虑使用更多的客户端机器来测试。压迫客户端机器会导致不可靠结果和在与服务器连接时产生socket错误。

给服务器设置多层负载。估计一下需要并发请求的最大用户量以便在预备测试中把你的Web服务器群推到100%的使用率。

当没有足够的客户端机器来使服务器群到达极限时,就需要设置更高的负载倍数,例如,如果你发现使用4,000个线程,都乘一倍的负载系数,你还是不能把服务器推到极限的话,把负载系数加大。然而,使用大于1的负载系数会产生不精确的Web程序页面的TTLB。如果有可能,增加更多的机器比靠增加负载系数要好。

使用Session跟踪。使用Session跟踪来记录WAS 和Web服务器之间的详细连接。当定义一个新的WAS脚本时,确保所有的URL都正常工作而且Web服务器返回的是所需要的结果。如果不是,那么很有可能你得到改进的性能结果,但是Web服务器返回的却是错误的响应。

你应该设置SessionTrace为1,类型为REG_DWORD。SessionTrace线程跟踪可以在注册表的\HKEY_LOCAL_MACHINE \SOFTWARE \Microsoft \WAS注册。最后,记得在确认了新的脚本后关掉SessionTrace(0),否则,你的磁盘会很快就满了。

监视Web服务器的日志文件。要准备重新部署或清除你的Web服务器日志文件。太多的性能测试会使它膨胀的很快,尤其对于长时间的测试。你也可以把日志文件作为故障检查员帮助你检查WAS报告的应用程序错误。

限制脚本的项数和用户数。避免创建多于1000脚本或用户,除非有特殊原因需要多于这个数目的对象。虽然允许的数目限制是由客户端的内存决定的,你会发现初始化这么多的脚本和用户会花费太多的时间

跟踪HTTP重定向的选项。如果脚本已经录制了重定向的URL就不要再使用这项选项。如果你使用这项选项,重定向的页面将会计算两次。

用户名和密码。 WAS的帮助文件说用USERNAME 和 PASSWORD填表是指定每一个WAS用户的方法。在我们的测试过程中使用USERNAME 和 PASSWORD会大大地增加关闭各个客户端的脚本的时间。从一些WAS的内部使用者得到建议,我们在QueryString里指定USER 和 PASSWORD名字-值对。通过为USER 和 PASSWORD设置顺序访问机制,我们保证了密码总是和用户名对应。

除了WAS的一些缺陷外,WAS是你发布网站之前模拟用户使用你的网站的好工具。使用性能测试工具对于成功的网站程序发布有重要作用。这些工具允许你清楚你的程序的性能特征,那么你就会清楚你的程序在高负载情况下会如何表现。你在操作网站的过程中得到的惊奇越少,你的站点就越可靠。

注:原文

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnduwon/html/d5wast_2.asp

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有