WAS可以通过一台或者多台客户机模拟大量用户的活动。WAS支持身份验证、加密和Cookies,也能够模拟各种浏览器类型和Modem速度。
S:q0W.Jy@@0 要对网站进行负载测试首先必须创建WAS脚本模拟用户活动。可以用下面四种方法之一创建脚本:①通过记录浏览器的活动;②通过导入IIS日志;③通过把WAS指向Web网站的内容;④手工制作
5p0jA#x3}'[U0 制作WAS脚本是相当简单,不过要制作出模拟真实用户活动的脚本就有些复杂。如果你已经有一运行的Web网站,可以使用Web服务器的日志来确定Web网站上的用户点击分布。如果你的应用还没有开始运行,那么只好根据经验作一些猜测了。
]%ZLv u
e:o0 客户端交易测试指标主要有:51Testing软件测试网0G?\6\ \E,W!j#h
a) Number
of hits:测试间隔内虚拟用户点击页面的总次数;51Testing软件测试网7zUz0`5N.o4| T(m
b) Requests
per second:每秒客户端的请求次数;51Testing软件测试网2F{*\bqWiz
c) Threads:线程数;51Testing软件测试网
cyn l sa
d) TTFB
Avg:从第一个请求发出到测试工具接收到服务器应答数据的第一个字节之间的平均时间;51Testing软件测试网rq%N },k2p
e) TTLB
Avg:从第一个请求发出到测试工具接收到服务器应答数据的最后一个字节之间的平均时间;51Testing软件测试网!{4^Pq0I1u
Stress Level和Stress Multiplier这两项决定了访问服务器的并发连接的数量。如果要模拟的并发连接数量超过100个,可以调整Stress Multiplier或使用多个客户机。在负载测试期间WAS将通过DCOM与其他客户机协调。
'{;e%Ao%N*}:f0如果网站提供个性化服务,要进行身分验证或使用Cookies,我们还要为WAS提供一个用户目录。WAS中的用户存储了发送给服务器的密码以及服务器发送给客户端的并发连接的要求(Stress Level乘以Stress Multiplier)。
4o R.Ga6Qxi*^0WAS允许设置warmup(热身)时间,一般可以设置为1分钟。在warmup期间WAS开始执行脚本,但不收集统计数据。Warmup时间给MTS、数据库以及磁盘缓冲等一个机会来做准备工作。如果warmup时间内收集统计数据,这些操作的开销将影响性能测试结果。51Testing软件测试网3th;J'a_%L_;ddO
设置页面提供的另外一个有用的功能是限制带宽(throttle bandwidth)。带宽限制功能能够为测试模拟出Modem(14.4K,28.8K,56K)、ISDN(64K,128K)以及T1(1.54M)的速度。使用宽带限制功能可以精确地预测出客户通过拔号网络或其他外部连接访问Web服务器感受的性能。51Testing软件测试网wHX'e5hW$iz:wa g
Web服务器性能测试参考值:
7UYu]1rz"o `01) 处理器:CPU使用百分比(%CPU Utilization);51Testing软件测试网c+Z_?&a5V
2) 线程:每秒的上下文切换次数(Context Switches Per Second(Total));51Testing软件测试网$}&^6F|_"BScq,{G
3) ASP:每秒请求数量(Requests Per Second);51Testing软件测试网p8h](N%A&[v1m
4) ASP:请求执行时间(Requests Execution Time);51Testing软件测试网%w{e5xF x
~6Zp&w2{
5) ASP:请求等待时间(Requests Wait Time);
d
miyI/~06) ASP:置入队列的请求数量(Requests Queued);51Testing软件测试网
}3?]?c
CPU使用百分比反映了处理器开销。CPU使用百分比持续地超过75%是性能瓶颈存在于处理器的一个明显的迹象。每秒上下文切换次数指示了处理器的工作效率。如果处理器陷于每秒数千次的上下文切换,说明它忙于切换线程而不是处理ASP脚本。
y*v~l1Y\s
JJ0每秒的ASP请求数量、执行时间以及等待时间在各种测试情形下都是非常重要的监测项目。每秒的请求数量表示每秒内服务器成功处理的ASP请求数量。执行时间和等待时间之和显示了反应时间,这是服务器用处理好的页面作应答所需要的时间。51Testing软件测试网@"T}$Bv
可以绘出随测试中并发用户数量的增加,每秒请求数量的反应时间的变化图。增加并发用户数量时每秒请求数量也会增加。然而,最终会达到这样一个点,此时并发用户数量开始“压倒”服务器。如果继续增加并发用户数量,每秒请求数量开始下降,而反应时间则会增加。要搞清楚硬件和软件的能力,找出这个并发用户数量开始“压倒”服务器的临界点非常重要。
2e!O }%kH0置入队列的ASP请求数量也是一个重要的指标。如果在测试中这个数量有波动,某个COM对象所接收到的请求数量超过了它的处理能力。这可能是因为在应用的中间层使用了一个低的效率的组件,或者在ASP会话对象中存储了一个单线程的单元组件。
8~rO5@&_cA9L:^0运行WAS的客户机CPU使用率也有必要监视。如果这些机器上的CPU使用率持续地超过75%,说明客户机没有足够的资源来正确地运行测试,此时应该认为测试结果不可信。在这种情况下,测试客户机的数量必须增加,或者减小测试的Stress Level。
u-ua{FK Amj0每次测试运行结束后WAS会生成详细的报表,即使测试被提前停止也一样。WAS报表可以从View菜单选择Reports查看。下面是报表中的几个重要部分:
S9\HD#O#Y,nY0如果这是一个新创建的测试脚本,应该检查下报表的Result Codes部分。这部分代码内容包含了请求结果代码、说明以及服务器返回的结果代码的数量。如果这里出现了404代码(页面没有找到),说明在脚本中有错误的页面请求。51Testing软件测试网%b6`k!x GYE
页面摘要部分提供了页面的名字,接收到第一个字节的平均时间(TTFB),接收到最后一个字节的平均时间(TTLB),以及测试脚本中各个页面的命中次数。TTFB和TTLB这两个值对于计算客户端所看到的服务器性能具有重要意义。TTLB包含了TTFB,它是客户机接收到页面最后一个字节所需要的累计时间。51Testing软件测试网h&rg1X.g*n2?1y(h:|
报表中还包含了所有性能计数器的信息。这些数据显示了运行时各个项目的测量值,同时还提供了最大值、最小值、平均值等。51Testing软件测试网g-A_e,{2E