2015-11-05 89 views
0

我试图在托管在Windows Azure VM上的nodejs应用程序上执行压力测试(使用SOAPUI,附带所有测试参数的屏幕截图)。NodeJs服务器在压力测试下没有响应

如截图所示,很多请求都会出现错误。我正在使用mongodb服务器进行数据库交互,使用pm2来保持服务器无限期运行。

Azure/Azure VM是否有任何形式的限制?这个测试完成后,似乎有错误连接到节点应用程序的数据库。

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

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

回答

0

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

在部分Networking Limits,有针对虚拟机并发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代码并检查异步逻辑是否存在资源竞争。
+0

是的,Azure本身没有进行节流。这是应用程序逻辑,不断丢弃连接。要检查代码。尽管感谢您的链接。 –