设计压力测试框架

时间:2009-06-30 12:48:57

标签: frameworks stress-testing

我对一个非常大的产品(想想操作系统大小)进行了一种集成/压力测试,最近我和我的团队一直在讨论如何更好地组织我们的测试工作负载。到目前为止,我们已经满足于将所有(自定义)工作负载应用程序放在一系列批处理类型的作业中,每个作业都代表一次压力测试运行。现在我们正处于平均测试运行涉及跨13个系统运行的100个工作负载的点,我们认为是时候构建一些更先进的工作。

我已经看到很多关于单元测试框架的内容,但对于更高级别的压力类型测试却很少见。有没有人知道管理大量工作负载的问题得到解决的常见(或不常见)方式?

现在我们希望保留每个工作负载的数据库并提供一个前端,根据我们在特定日期需要的压力,将它们混合并匹配到测试包中,但我们没有举例来说,这是处理更高级事物的最佳方式的示例,例如对每个工作负载放在系统上的压力进行排序。

我的大型产品压力测试员在做什么?对我们来说,一些手动脚本不会再削减它了。

2 个答案:

答案 0 :(得分:1)

我自己的经验最初是在使用WCAT的IIS平台上,后来是在JMeter和Selenium上。

WCAT和JMeter都允许您浏览网站作为路线,填写表格等,并将过程记录为脚本。然后可以单独播放脚本或模拟多个客户端和多个线程。将播放随机化以模拟不稳定和不可预测的使用等。

脚本可以编辑,也可以在您知道之后手动编写。 WCAT将让您从日志文件中回放,并允许您模拟真实世界的使用。

以上两种都安装在PC或服务器上。

Selenium是一个FireFox添加,但工作方式类似于录制和播放脚本并允许扩展。

要测试您正在测试的场景,然后设计适合它们的测试,有点困难。此外,还需要考虑与数据库和其他外部资源的交互.Rececet花费大量时间查看日志文件,因此良好的图形输出是必不可少的。

答案 1 :(得分:0)

对我来说最困难的事情是从负载下的服务器收集和组织性能指标。性能监视器是我的主要工具。当Visual Studio Tester版本出现时,我惊讶于使用性能计数器是多么容易。他们为Web服务器,SQL服务器,ASP.NET应用程序等预先打包了一个计数器列表。我了解了一堆我甚至不知道的性能计数器。此外,您也可以收集自己的柜台。您可以在每次运行后存储指标。您还可以连接到生产服务器,看看他们今天的感受。然后我觉得所有这些图形实时让我觉得有权力! :)如果您需要更多负载,您可以获得VS Load Agent并创建负载生成平台(或者我应该将其称为僵尸网络)。与市场上的产品相比,它相对便宜。 MS许可证按处理器进行,但不是每个并发请求。这意味着您可以生成与硬件可以处理的负载一样多的负载。平均而言,我能够在双核2GB内存计算机上获得大约3,000个并发Web请求。此外,您还可以将性能测试合并到构建中。

当然它适用于Windows。此外,该工具的价格约为6,000美元可能有点高,加上每个额外负载代理的金额相同。