9

我正在对新兴的 Web 技术进行一些研究,并创建了一个非常简单的 Azure 网站,它使用 Web 套接字和 mongo db 作为数据库。我已经设法让所有组件一起工作,现在必须对应用程序执行负载测试。

主要标准是应用程序可以支持的最大用户负载,目前有 1 个 Web 角色实例,所以我可能需要测试该实例的最大用户负载,然后尝试使用 2 个实例,依此类推。

我在网上找到了一些解决方案,例如 Loadstorm,但是我付不起使用这些服务的费用,所以我需要能够从我自己的开发机器或其他云服务中执行此操作。

我遇到过 Visual Studio 负载测试,它们看起来非常有用,但似乎它们需要 VS Ultimate 和活动的 msdn 订阅——这里列出了先决条件。另外,从这个展示负载测试基础的视频来看,这些负载测试似乎是完全独立于实际 Web 项目创建的,这是否意味着我只能看到与用户相关的指标?即我看不到正在使用的 RAM 量、处理器等。

有什么建议么?

4

4 回答 4

6

您可以在 Azure 本身或其他托管服务提供商中创建 Linux 虚拟机,并使用ApacheBench (ab) 或JMeter对您的应用程序进行简单的负载测试。请注意,在这样的设置中,您的基准服务器本身可能是一个瓶颈。

另一种方法是使用允许一些免费使用的在线负载测试服务,例如:

于 2013-03-01T17:03:09.427 回答
3

对于负载测试,LoadStorm 的价格非常合理,尤其是与本地软件相比(并且具有最多 25 个虚拟客户端的免费层)。您可以安装 jmeter 之类的代码,但您仍然需要机器(或 vm)来托管和运行它,并且您需要确保负载生成器机器不是测试中的瓶颈。

运行测试时,您可能需要考虑将 Web 层与 MongoDB 分开。MongoDB 将消耗尽可能多的内存(因为这就是 MongoDB 速度的原因)。在真实场景中,您可能会在自己的环境中使用 MongoDB。因此,对于您的测试,我会考虑将 MongoDB 卸载到它自己的实例上,并且 10gen 有一个Worker Role 设置,安装起来相当简单。

另请记住,NIC 带宽是每个内核 100Mbps,这可能是您测试的限制因素,具体取决于您驱动的负载量。

自托管 MongoDB 的一种替代方法:将 MongoDB 卸载到诸如 MongoLab 之类的托管商。这将允许您测试 Web 应用程序的容量,而无需担心有关 MongoDB 设置、配置、优化等的详细信息。目前 MongoLab 提供托管在 Azure、美国西部和美国东部数据中心的免费层。

于 2013-03-01T18:37:55.830 回答
1

编辑我的回复,没有仔细阅读问题。

查看此线程以获取各种工具和链接: 用于压力、负载和性能测试的开源工具

于 2013-03-01T17:08:29.643 回答
0

如果您有兴趣查找被测应用程序的性能计数器,您可以重新访问 Visual Load Cloud 基本负载测试中添加的一些最新功能。 http://blogs.msdn.com/b/visualstudioalm/archive/2014/04/07/get-application-performance-data-during-load-runs-with-visual-studio-online.aspx

要获取有关 Visual Studio 云负载测试解决方案的更多信息 - https://www.visualstudio.com/features/vso-cloud-load-testing-vs

于 2014-04-10T15:25:07.697 回答