2013-03-09 118 views
5

我正在做一个关于可伸缩性的研究项目。我在Windows Azure上创建了一个Web应用程序,现在需要对数百万用户进行测试。我想这样做的以下内容:使用云服务来压力测试Web应用程序

  • 创建一个简单的程序,其采用Selenium将请求发送到 Web应用程序
  • 整合这个程序作为另一个Azure云服务
  • 增加实例数增加并发数 连接

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

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

可以这样做使用硒或有没有更好的方法来做到这一点?我也看到了JMeter的,但因为它是在Java中,我不认为我可以使用它作为一个Azure的辅助角色

要求: 约15分钟,30分钟产生了100万次的点击量 我期待使用在Azure上大约有40-50个实例,这意味着每个实例需要每秒生成大约2000个请求。

+0

+1,一个很好的问题,我很乐意听到有人试图将它与Azure集成,这是我一直想要尝试的东西。 – Arran 2013-03-09 10:46:14

+0

另请参阅[这个答案](http://stackoverflow.com/a/15164587/272109)我发布了一个类似的问题负载测试。 – 2013-03-09 18:48:55

回答

3

硒对功能测试非常有用,但AFAIK它模拟单用户场景。

JMeter更适合负载测试。

不过,如果你正在寻找一个基于云的服务,可以做负载测试,看看Blitz.io

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

  1. Soasta
  2. Neotys
  3. Loadimpact.com
+0

感谢您为我清理硒:) – Matt 2013-03-10 14:49:37

2

Selenium的优势在于使用多个浏览器进行测试 - 因为Javascript会破坏不同的浏览器。但JMeter会给你很多其他好的功能。

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

1

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

您应该能够通过使用Visual Studio Online和Visual Studio Ultimate一起完成您想要的功能。更多细节在这里:Load test in the cloud to find performance issues