我在一个非常大的产品上做了一种集成/压力测试(想想操作系统的大小),最近我和我的团队一直在讨论如何更好地组织我们的测试工作负载。到目前为止,我们一直满足于将所有(自定义)工作负载应用程序放在一系列批处理类型的作业中,每个作业代表一次压力测试运行。现在我们的平均测试运行涉及13个系统上运行的100多个工作负载,我们认为是时候构建一些更高级的东西了。
我已经看到了很多关于单元测试框架的东西,但对于更高级别的压力类型测试却很少。有没有人知道一种常见(或不常见)的方法来解决管理大量工作负载的问题?
现在,我们希望为每个单独的工作负载保留一个数据库,并提供一个前端,根据我们在给定一天中需要的压力,将它们混合和匹配到测试包中,但我们没有任何最佳方法来做更高级的事情,如对每个单独的工作负载对系统施加的压力进行排序。
我的同事在大型产品上的压力测试人员在做什么?对我们来说,几个手写的脚本就不能再解决问题了。
发布于 2009-12-23 23:03:49
我自己的经验最初是在IIS平台上使用WCAT,后来是使用JMeter和Selenium。
WCAT和JMeter都允许您以路径的形式遍历网站,填写表单等,并将该过程记录为脚本。然后可以单独回放脚本,或者模拟多个客户端和多个线程。随机化回放以模拟不稳定和不可预测的使用等。
一旦你知道你要做的是什么,脚本就可以编辑,或者可以手工编写。WCAT还可以让您从日志文件中回放,从而模拟真实世界的使用情况。
以上两者都安装在PC或服务器上。
Selenium是一个FireFox插件,但其工作方式与记录和回放脚本以及支持扩展的方式类似。
更难的是找出您正在测试的场景,然后设计适合它们的测试。此外,还需要考虑与数据库和其他外部资源的交互。Expcet需要花费大量时间查看日志文件,因此良好的图形输出是必不可少的。
发布于 2009-12-24 05:27:48
对我来说,最困难的事情是从负载下的服务器收集和组织性能指标。性能监视器是我的主要工具。当Visual Studio Tester版本出现时,我惊讶地发现使用性能计数器是如此容易。他们为web服务器、SQL server、ASP.NET应用程序等预先打包了一个计数器列表。我了解到了一些我甚至不知道存在的性能计数器。此外,您还可以收集自己的计数器。您可以在每次运行后存储指标。您还可以连接到生产服务器并查看它们今天的感受。然后我实时地看到所有这些图形,我觉得自己被赋予了力量!:)如果你需要更多的负载,你可以获得VS负载代理,并创建负载生成平台(或者我应该称之为僵尸网络)。与市场上过多的产品相比,它是相对便宜的。MS许可证适用于每个处理器,但不适用于每个并发请求。这意味着您可以产生尽可能多的负载,因为您的硬件可以处理。平均而言,在双核、2 2GB内存的计算机上,我能够获得大约3000个并发web请求。此外,您可以将性能测试合并到您的构建中。
当然,它适用于Windows。此外,该工具的价格标签约为6K美元可能有点高,再加上每个额外加载代理的相同金额。
https://stackoverflow.com/questions/1063481
复制相似问题