用于压力,负载和性能测试的开源工具

时间:2009-02-03 15:54:29

标签: performance testing load stress-testing qa

  

可能重复:
  How do you stress test a web application?

目前我已经使用cc.net,watin和nunit配置了一个项目,现在我想对我的.net项目进行压力,负载和性能测试。我应该使用哪种开源工具,或者使用相同的工具来实现它,如果是,那么如何?

18 个答案:

答案 0 :(得分:26)

我过去曾经使用过Apache JMeter取得了相当不错的成功。该界面非常易于使用,它支持远程代理,以帮助与许多主机进行负载测试。

答案 1 :(得分:4)

我公司提供的服务不是开源的,但它非常酷,并且建立在开源之上。这是load testing service使用真实浏览器来回放负载(与模拟HTTP /虚拟用户相反)。我们使用Selenium作为回放引擎,对于WatiN用户来说应该有些熟悉。

关于我们服务的最佳部分(或使用真实浏览器的一般想法)是自动处理像ViewState这样的.NET。您不必做任何诡计,例如使用正则表达式解析请求以使其正常工作。相反,浏览器只是执行普通浏览器所做的事情。

如果这篇文章看起来太商业化,我很抱歉,但问题是关于开源(我们利用开源和免费试用)和.NET(我们的一个很棒的功能是无缝的.NET支持)我想我给它一个提及。

祝你好运!

答案 2 :(得分:4)

我会投票支持JMeter。完全免费且非常容易设置和开始。 以下是有关如何操作的一些链接 Stress testing your application with Jmeter

我们还描述了我们如何测试,不同参数和指标的过程。

答案 3 :(得分:4)

Jmeter放下手。这是我用过的唯一一次又一次产生可靠结果的工具。一旦掌握了它,使用它是一种绝对的快乐,你可以使用相对较少的线程来模拟大负载。

答案 4 :(得分:3)

最后几天我偶然发现了HttpRider并且看起来很不错。干净的UI,易于配置,虽然我建议谨慎,因为他们说它是测试版(在发布时)。

答案 5 :(得分:2)

我使用Jmeter加载测试我的应用程序和Selenium。我增强了Jmeter代码来调用selenium引擎来模拟负载测试。

答案 6 :(得分:2)

如果是网站/网络应用,您可以到这里寻求答案:Best way to stress test a website

答案 7 :(得分:1)

因为你已经熟悉c#了。你可以尝试这个工具fwptt.sourceforge.net。它基本上在C#中生成一个测试类,您可以根据需要进行修改,然后使用该类运行测试。

答案 8 :(得分:1)

由于您是C#开发人员,因此您可以轻松了解类结构。所以我建议你使用csunit进行测试,这个工具是开源的,你可以轻松找到它。

答案 9 :(得分:0)

在为MS Windows平台开发时,我使用typeperf。使用MS Windows内置WMI计数器(几乎所有您想要跟踪的信息都在那里),因此您不需要在目标计算机上安装“服务器应用程序”。

在同时测试客户端/服务器应用程序或多台计算机时非常有用。它可以生成CSV文件,然后我用它来生成报告和图表。此外,WMI为NET应用程序提供了特殊的计数器。

如果typeperf命令行客户端不够,您可以使用MS提供的apis编写自己的代码。

http://technet.microsoft.com/en-us/library/cc753182.aspx

答案 10 :(得分:0)

我使用了openSTA

这使用相对简单的脚本语言。

您可以轻松测试Web服务并编写自己的脚本。

它允许您以任何您想要的方式将脚本放在一起进行测试,并配置迭代次数,每次迭代中的用户数量,引入每个新用户的加速时间以及每次迭代之间的延迟。测试也可以安排在未来。

它是开源的,免费的。

它会生成许多可以保存到电子表格的报告。然后,我们使用数据透视表轻松分析和绘制结果图。

答案 11 :(得分:0)

试试这个:http://sourceforge.net/projects/dieseltest/

这似乎是完美的事情。

Jaydeep Dave

答案 12 :(得分:0)

对于Web服务测试,soap rest或WCF(包括WebHttpBinding),请尝试使用SOA Cleaner。可以从http://xyrow.com下载。有一个免费版本,它不需要任何安装。它还可以执行负载测试。

答案 13 :(得分:0)

Open STA是负载测试的开源事实上的工具。

但它只能支持Http协议。

此致 金佰利 免费LoadRunner 视频教程

答案 14 :(得分:0)

遇到同样的问题我正在使用NTime - 早期但它看起来还不错。可以运行多个线程进行测试,如果有兴趣的话,其他好的功能会在这里报告。

我注意到这里的大多数答案都是针对Java / Web World的,这两者都不符合我的要求。

答案 15 :(得分:0)

WebLOAD是一个开源负载测试程序。我相信它最初是由最初开发Mercury LoadRunner的同一个人开发的。

他们也有商业版:WebLOAD Editions Comparison

如果您使用的是Windows平台并且拥有Visual Studio Enterprise Edition,则也可以使用Application Center测试工具。

最后,但并非最不重要的是,有荷马:微软Web Application Stress工具(又名WAS,应用中心测试的前身)

答案 16 :(得分:0)

我们使用Grinder来针对Web服务运行负载/压力和功能测试。我们从未将它用于网页,但它也应该这样做。你可以通过在几台机器上安装Grinder“代理”来打败你的服务器,然后产生一系列进程来访问你的站点以模拟多个连接。

文档很好,但您对开源项目的期望是什么?

答案 17 :(得分:-1)

哦,如果您正在寻找100%开源(虽然我强烈建议您使用外部负载测试和内部测试的组合),Pylot也非常棒。我发现它比JMeter或OpenSTA更容易使用。