我进行对新兴的网络技术一些研究,并创建了一个非常简单的Azure的网站,利用网络套接字和蒙戈DB作为数据库的。 我设法让所有一起工作的组成部分,现在必须进行应用负载测试。
主要标准是最大用户负载的应用程序可以支持,目前有1个Web角色实例,所以也许我会需要测试的最大用户负载该实例,然后用2个实例等尝试。
我找到了一些解决方案,在线等Loadstorm,不过,我可以付不起,所以我需要能够从我自己的开发机器或从其他云服务这样做是为了使用这些服务。
我所遇到的Visual Studio负载测试,他们似乎很有用,但是似乎他们需要VS Ultimate和积极的MSDN订阅-的先决条件列在这里 。 另外,从该视频 ,显示的负载测试的基础知识,好像这些负载测试是从实际的Web项目创建完全独立,这是否意味着我只能看到与该用户相关的指标? 即我看不到使用的RAM量,处理器等
有什么建议?
你可能会在Azure中本身或其他托管服务提供商创建Linux虚拟机,并使用ApacheBench (AB)或JMeter的做你的应用程序简单的负载测试。 要知道,在这样的设置您的基准服务器可能是一个瓶颈自己。
另一种方法是使用在线负载测试服务至极允许一些免费使用,如:
- loader.io ,通过SendGrid实验室
- LoadStorm
- Blazemeter
- 闪电战
- Neotys
- Loadimpact
对于负载测试,LoadStorm是非常合理的价格,特别是相对于内部部署软件(并有多达25个虚拟客户端自由层)。 您可以安装代码,如JMeter的,但你仍然需要机(或VM的)来承载和运行它,你需要确保负载生成机器都不在测试中的瓶颈。
当你运行你的测试,你可能要考虑从MongoDB的分离你的web层。 MongoDB中会消耗掉尽可能多的内存可能(因为这是什么让MongoDB中其速度)。 在真实的场景中,你可能会拥有的MongoDB在自己的环境中。 因此,对于你的测试,我会考虑卸载的MongoDB以自己的实例(S)和10gen的有工作者角色的设置是相当简单的安装。
还记得网卡的带宽是每个核心的100Mbps,这可能是在您的测试的一个限制因素,这取决于你有多少负载驱动。
一个替代自托管的MongoDB:MongoDB的卸载到主控器如MongoLab。 这将允许您测试您的Web应用程序的能力,而不必担心周围MongoDB的安装,配置,优化等。目前MongoLab提供Azure中,美西,美东的数据中心托管的自由层的细节。
编辑我的回应,didnt仔细阅读问题。
看看这个线程的各种工具和链接: 开源工具的压力,负载和性能测试
如果您有兴趣测试发现的应用程序的性能计数器,你可以重温一些添加到Visual负荷云底负载测试的最新功能。 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