NodeJs服务器在压力测试下没有响应

时间:2015-11-05 17:26:17

标签: node.js mongodb azure stress-testing

我试图在Windows Azure VM上托管的nodejs应用程序上进行压力测试(使用SOAPUI,附带所有测试参数的屏幕截图)。

如截图所示,许多请求都会遇到错误。我使用mongodb服务器进行数据库交互,使用pm2保持服务器无限期运行。

Azure / Azure VM是否有任何类型的限制?此测试完成后,似乎从节点应用程序连接到db时出错。

我需要做的任何设置,还是设置任何参数?任何帮助/指针都会有所帮助。感谢。

Stress test for the nodejs application, hosted on Windows Azure VM with mongodb at the backend database[Screenshot link]

1 个答案:

答案 0 :(得分:0)

Azure提供常见Azure订阅和服务限制,配额和约束的列表。您可以参考文档https://azure.microsoft.com/en-us/documentation/articles/azure-subscription-service-limits/来了解这些限制。

Networking Limits部分中,VM的并发TCP连接有一个限制,默认限制为500K,请参见下图:

enter image description here

我搜索了MongoDB与SQL Server 2008的第三方性能摊牌报告,请转到http://blog.michaelckennedy.net/2010/04/29/mongodb-vs-sql-server-2008-performance-showdown/。 MongoDB具有非常高的读写操作性能。

因此,我认为您的测试结果中存在大量错误是由于Azure的限制或与MongoDB的交互造成的。

根据我的经验,您的测试问题可能有两种情况。

  1. ISP限制测试网络上的并发TCP连接数。请咨询当地的ISP。
  2. NodeJS处理模型是具有事件循环体系结构的单线程模型。请查看nodejs代码并检查异步逻辑是否存在资源竞争。