2013-03-01 86 views
9

我进行对新兴的网络技术一些研究,并创建了一个非常简单的Azure的网站,利用网络套接字和蒙戈DB作为数据库的Windows Azure的Web应用程序。我设法让所有组件一起工作,现在必须对应用程序执行负载测试。测试最大用户负载

主要标准是应用程序可支持的最大用户负载,此刻有1个Web角色实例,因此可能需要测试该实例的最大用户负载,然后尝试2个实例上。

我发现了一些解决方案,在线等Loadstorm,不过,我可以付不起,所以我需要能够从我自己的开发机器或从其他云服务这样做是为了使用这些服务。

我遇到过Visual Studio负载测试,它们看起来非常有用,但它似乎需要VS Ultimate和活动的msdn订阅 - 前提条件列出为here。此外,从this video,它显示了负载测试的基础知识,似乎这些负载测试完全与实际的Web项目分开创建,这是否意味着我只能看到与用户相关的指标?即我看不到使用的RAM量,处理器等

任何建议?

回答

6

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

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

+0

谢谢,我会检查出loader.io它看起来很有趣! – Matt 2013-03-02 09:56:10

+1

Loader.io非常适合我的需求,再次感谢! – Matt 2013-03-04 09:38:42

3

对于负载测试,LoadStorm是非常合理的价格,特别是相对于内部部署软件(并有多达25个虚拟客户端自由层)。您可以安装诸如Jmeter之类的代码,但您仍然需要机器(或虚拟机)来托管和运行它,并且您需要确保负载生成器机器不是测试中的瓶颈。

当你运行你的测试,你可能要考虑从MongoDB的分离你的web层。 MongoDB将消耗尽可能多的内存(因为这是MongoDB的速度)。在现实世界中,您可能会在自己的环境中使用MongoDB。因此,为了您的测试,我会考虑将MongoDB卸载到它自己的实例中,并且10gen有一个安装相当简单的Worker Role setup

还记得网卡的带宽是每个核心的100Mbps,这可能是在您的测试的一个限制因素,这取决于你有多少负载驱动。

自托管MongoDB的一种替代方法:将MongoDB卸载到诸如MongoLab等托管服务器。这将允许您测试您的Web应用程序的容量,而不用担心MongoDB设置,配置,优化等方面的细节。目前,MongoLab提供其在Azure,美国西部和美国东部数据中心托管的免费层。

+0

感谢您的意见!附:我确实使用MongoDB的工作角色,实际上总体目标是测试用azure,mongodb和websockets构建的网站的可行性:) – Matt 2013-03-02 09:59:12