压力测试软件只包含在VS开发组件里面,也可以说是开发人员负责。
在我们完成了基于 SPS2003 的开发,实现了我们的具体应用以后,我们是不是就可以直接请用户来使用了呢?如果我这么做,那么有经验的开发人员一定会对此嗤之以鼻:居然连压力测试也不做!真是不想活了 ……<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

呵呵,是啊。开发环境往往只考虑功能,到了具体环境中,就需要考虑有大量的用户来访问的时候,很多功能会不会出错?性能会怎么样呢? …… 我们这里就简单看看,怎么来做压力测试。

 

相信作压力测试肯定有很多工具,而我们一般使用的,现在很多是 Application Center Test (ACT) 。这个东东是 VS.NET 中的一个组建,很简单,容易上手,而且支持脚本,也可以实现复杂的功能 ……

 

这里省略测试步骤,假设我们只是直接对一个网站做测试,例如 Test.SendRequest("http://server/default.aspx") 。现在怎样来分析结果呢?

 

下面是我刚学到的一些信息,和大家共享,希望对于有经验的朋友,起一个抛砖引玉的功能。

 

1. 首先,检查一下又没有错误,例如 401 用户没有验证的错误。如果有错误,那么结果肯定是不对的,也不用看了。

 

2. 分析 Average requests per second ,应该就是 每秒平均请求

 

我们可以多测试几次,使用 1 2 5 10 50 100 200…… 的并发浏览器连接数目。然后,我们可以把几次结果放在一个图表中来分析。

 

一般情况下,随着并发浏览器连接数目的增加, Average requests per second 的数目也会增加,但当到了某一个值以后,再增加就反而导致 Average requests per second 下降了。那么,这个值就差不多是服务器能支持的最大并发浏览器连接数目。

 

3. Average time to last byte

 

是发送请求以后,到收到服务器响应结束的时间。

 

显然,一般情况下,随着并发浏览器连接数目的增加,这个值是会随着变大的。一般情况下,分析这个值是不是合理,可以参考下面的标准:

 

0.1 秒:       非常快了

1 秒:           速度还是非常快的,基本不用考虑性能问题

3 – 4 秒:     对于内部网络,可以接受的一个结果

5 – 8 秒:     对于外部网络,可以接受的一个结果

10 秒以上:    太慢了一些

 

4. Average time to first byte

 

一样,只不过是发送请求以后,到收到服务器响应开始的时间。

 

欢迎大家讨论,发表关于 ACT 的经验。