5

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

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

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

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

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

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

4

3 回答 3

3

Selenium 非常适合功能测试,但 AFAIK 它模拟单用户场景。

JMeter 更适合负载测试。

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

其他一些替代品是(有些需要下载)

  1. 索斯塔
  2. 新人
  3. Loadimpact.com
于 2013-03-09T09:57:35.360 回答
2

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

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

于 2013-07-24T23:54:11.767 回答
1

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

你应该能够通过结合使用 Visual Studio Online 和 Visual Studio Ultimate 来完成你想要的。更多详细信息在此处:在云中进行负载测试以查找性能问题

于 2014-11-07T17:50:32.147 回答