使用云服务对Web应用程序进行压力测试

时间:2013-03-09 09:54:07

标签: c# azure selenium cloud load-testing

我正在做一个关于可扩展性的研究项目。我在Windows Azure上创建了一个Web应用程序,现在需要对数百万用户进行测试。我正在考虑做以下事情:

  • 创建一个简单的程序,使用Selenium向其发送请求 网络应用
  • 将此程序集成为另一个Azure云服务
  • 增加实例数以增加并发数 连接

我想使用Selenium而不只是发送正常的http请求的原因是我还需要测试应用程序的Javascript。我的问题是:

  • 是否可以将Selenium用作Windows Azure辅助角色/虚拟机 机?
  • Selenium可以一次发送多个请求吗?我将使用多个 实例,但每个实例都需要能够生成 每秒约2000或更多请求,这可能吗?

这可以使用Selenium完成还是有更好的方法来做到这一点?我也见过JMeter,但由于它是用Java编写的,我认为我不能将它用作Azure工作者角色

要求: 在大约15分钟到30分钟内产生1亿次点击 我期望在Azure上使用大约40-50个实例,这意味着每个实例需要每秒生成大约2000个请求

3 个答案:

答案 0 :(得分:3)

Selenium适用于功能测试,但AFAIK模拟单用户场景。

JMeter更适合负载测试。

但是,如果您正在寻找可以进行负载测试的基于云的服务,请查看Blitz.io

其他一些替代方案(有些需要下载)

  1. Soasta
  2. Neotys
  3. Loadimpact.com

答案 1 :(得分:2)

Selenium的优势在于使用多个浏览器进行测试 - 因为Javascript会破坏不同的浏览器。 JMeter将为您提供许多其他不错的功能。

我们为Amazon AWS构建了类似的服务。该服务是免费的,并且加载代理程序在您的AWS账户上作为spot实例运行。不确定亚马逊现货实例价格与Azure相比如何,但我们能够以每小时2美元的价格模拟200个m1.small实例上的50,000个用户。我们为其他人发布了这项服务 - www.redline13.com

答案 2 :(得分:1)

由于您使用C#标记,我假设您使用的是Visual Studio。

您应该能够通过一起使用Visual Studio Online和Visual Studio Ultimate来完成您想要的任务。更多详情请点击此处:Load test in the cloud to find performance issues