Frameworks 设计压力测试框架

Frameworks 设计压力测试框架,frameworks,stress-testing,Frameworks,Stress Testing,我在一个非常大的产品上做了一种集成/压力测试(想想操作系统的大小),最近我的团队和我一直在讨论如何更好地组织我们的测试工作负载。到目前为止,我们一直满足于将所有(自定义)工作负载应用程序放在一系列批处理类型的作业中,每个作业都代表一次压力测试运行。现在,我们的平均测试运行需要在13个系统上运行100多个工作负载,我们认为是时候构建更高级的东西了 关于单元测试框架,我已经看到了很多,但是对于更高级别的压力类型测试,我看到的很少。是否有人知道一种常见(或不常见)的方法可以解决管理大量工作负载的问题

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

关于单元测试框架,我已经看到了很多,但是对于更高级别的压力类型测试,我看到的很少。是否有人知道一种常见(或不常见)的方法可以解决管理大量工作负载的问题

现在,我们希望保留每个单独工作负载的数据库,并提供一个前端,根据给定的一天我们需要什么样的压力,将它们混合并匹配到测试包中,但是我们没有任何最好的方法来做更高级的事情,例如对每个单独工作负载在系统上的压力进行排序


我的大型产品压力测试同事在做什么?对我们来说,一些手动脚本再也不能解决问题了。

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

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

一旦你知道你要去哪里,这些脚本可以编辑,也可以手工编写。WCAT将允许您从日志文件播放,也允许您模拟真实世界的使用情况

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

Selenium是一个FireFox插件,但其工作方式类似于录制和播放脚本,并允许进行扩展


更难的是,制定出您要测试的场景,然后设计适合它们的测试。还需要考虑与数据库和其他外部资源的交互。Expcet需要花费大量时间查看日志文件,因此良好的图形输出至关重要。

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


当然,它适用于Windows。除此之外,该工具大约6千美元的价格可能有点高,再加上每个额外的load agent的相同金额

我真的帮不了你,但这里有两个链接指向可用的评估工具。