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

NodeJs server does not respond under stress test

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

如截图所示,大量请求运行进入错误。我正在使用 mongodb 服务器进行数据库交互,使用 pm2 无限期地保持服务器 运行ning。

Azure/Azure 虚拟机是否进行了任何类型的节流?完成此测试后,似乎从节点应用程序连接到数据库时出错。

我需要做什么设置,或者设置什么参数吗?任何 help/pointers 都会有所帮助。谢谢

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

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

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

并且我搜索了 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代码,检查异步逻辑是否存在资源竞争。