【问题标题】:NodeJs server does not respond under stress testNodeJs服务器在压力测试下没有响应
【发布时间】:2016-02-06 16:00:31
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: node.js mongodb azure stress-testing


    【解决方案1】:

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

    【讨论】:

    • 是的,Azure 本身没有进行限制。是应用程序逻辑不断断开连接。必须检查代码。谢谢你的链接。
    猜你喜欢
    • 2015-07-28
    • 2017-09-20
    • 1970-01-01
    • 2012-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-26
    • 1970-01-01
    相关资源
    最近更新 更多