如何加载在 asp.net mvc3 上开发的测试 Web 应用程序?

Posted

技术标签:

【中文标题】如何加载在 asp.net mvc3 上开发的测试 Web 应用程序?【英文标题】:How to load test web application developed on asp.net mvc3? 【发布时间】:2012-03-06 16:45:55 【问题描述】:

我想对我们正在开发的 Web 应用程序进行负载测试?您能否为在 asp.net mvc3 上开发的网站命名一些自动负载测试工具?我想为并发 100 个用户、200 个用户等开发它。我们希望与许多用户一起测试它并测试在应用程序和服务器上产生的负载。

顺便说一句,我们也在同时运行分析器来查找应用程序瓶颈,以便我们可以找到可以改进的慢代码。

【问题讨论】:

【参考方案1】:

有许多不同的选择;它们以各种令人兴奋的方式变化。

我使用开源Apache JMeter 进行这种测试——它对用户不是很友好,但是一旦你习惯了它就会非常强大,而且没有许可限制意味着你可以在各种配置中使用它.

我们的一些项目已将 JMeter 融入持续集成周期,对每晚构建运行性能测试。有些项目需要扩展到大量用户,我们在云中使用 JMeter(有些服务提供商也可以这样做)。

它与 Asp.Net MVC 应用程序配合得很好。

【讨论】:

以前没见过 httperf - 但它似乎是为了测试 HTTP 协议的实现,而不是网站。测试用户旅程似乎并不简单——“转到主页,单击登录,提供用户凭据,查看帐户历史记录”。您可能需要该功能来测试您的 Web 应用程序... 我们已经测试过使用的是 Wcat 6.3。这是链接iis.net/community/default.aspx?tabid=34&g=6&i=1466 JMeter 很棒!针对MVC的教程:build-failed.blogspot.pt/2012/06/…【参考方案2】:

我们目前正在对我们的 MVC 应用程序进行负载测试,而外部公司使用了一个名为 LoadRunner 的产品。

但是,根据您的测试的复杂程度,您可以使用 WebClient 类作为基础来运行您自己的批量测试。

【讨论】:

你能解释一下如何使用 WebClient 来运行批量测试吗? 您模拟从浏览器发出的调用。您可以使用 Fiddler 查看流量是什么,并使用 WebClient 子类来添加 cookie 支持(SO 对此也有答案)。 我完全不知道你的意思是什么,你能解释一下或提供链接吗..从它开始会很棒。 假设您有一个登录表单。您可以使用 WebClient 的 UploadValues 方法将值 POST 传递给您的 MVC 操作,您将在其中得到验证并创建会话。所有其他GET 调用都可以使用DownloadString 方法来调用各种url,您可以解析结果字符串以获得某些值。 HTH【参考方案3】:

Web 性能Load Tester 非常适用于 .NET 应用程序。我们测试了很多(免责声明:我为 Web Performance 工作,并且与产品密切相关)。

【讨论】:

【参考方案4】:

我们已经集成了 Fiddler 负载测试工具 StresStimulus

【讨论】:

以上是关于如何加载在 asp.net mvc3 上开发的测试 Web 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用代码优先实体框架在 ASP.Net MVC3 中重新加载多对多导航属性

ActionLink 与 ASP.NET MVC3 中的多个类

Win7上的ASP.NET MVC3项目在Win10上运行的一个坑

asp.net MVC3 上的自定义错误页面

如何在 ASP.net MVC3 中获取 Advantage Database 数据?

如何使用 ASP.NET MVC3 编辑嵌套模型