25

可能重复:
您如何对 Web 应用程序进行压力测试?

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

4

18 回答 18

26

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

于 2009-02-03T16:41:31.277 回答
4

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

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

如果这篇文章看起来过于商业化,我深表歉意,但由于问题是关于开源(我们利用开源并提供免费试用)和 .NET(我们的一大特色是无缝支持 .NET),我想我会给它一提。

祝你好运!

于 2009-02-03T23:33:51.553 回答
4

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

于 2009-05-23T06:09:24.267 回答
4

我会投票给 JMeter。完全免费,而且很容易设置和开始。以下是有关如何 使用 Jmeter 对应用程序进行压力测试的一些链接

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

于 2010-10-29T15:33:50.970 回答
3

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

于 2012-02-28T12:09:07.000 回答
2

如果它是针对网站/网络应用程序的,您可以在这里获取一些答案:对网站进行压力测试的最佳方式

于 2009-02-03T15:58:39.317 回答
2

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

于 2009-02-04T09:03:38.423 回答
1

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

于 2009-05-23T05:52:33.217 回答
1

作为 C# 开发人员,您可以轻松理解类结构。所以我推荐你使用csunit进行测试,这个工具是开源的,你可以很容易地找到它。

于 2011-10-21T05:23:45.920 回答
0

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

文档还可以,但是您对开源项目有什么期望?

于 2009-02-03T16:08:09.360 回答
0

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

他们也有商业版本:WebLOAD 版本比较

如果您使用的是 Windows 平台并且拥有 Visual Studio 企业版,那么您也可以使用 Application Center 测试工具。

最后但同样重要的是,还有 Homer:Microsoft Web Application Stress工具(又名 WAS,Application Center Test 的前身)

于 2009-02-03T17:28:37.607 回答
0

我用过openSTA

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

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

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

它是开源和免费的。

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

于 2009-02-04T18:49:00.987 回答
0

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

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

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

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

于 2009-02-04T19:14:26.427 回答
0

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

这似乎是完美的事情。

杰迪普戴夫

于 2009-09-10T20:15:58.420 回答
0

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

于 2009-09-16T08:10:18.993 回答
0

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

但它只能支持Http协议。

问候金佰利免费LoadRunner视频教程

于 2009-09-17T09:56:42.403 回答
0

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

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

于 2010-01-09T00:20:16.990 回答
-1

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

于 2009-02-03T23:34:48.180 回答