【问题标题】:How to do load testing of node.js server?如何对 node.js 服务器进行负载测试?
【发布时间】:2012-08-26 14:42:41
【问题描述】:

我想用 node.js 和 MongoDB 编写一个 Web 应用程序,我什至有任务测试它。我想知道是否有任何工具,如 JMeter 或其他任何工具用于 Node.js 的负载/压力测试?

编辑

我的应用程序将是一种信息提取类型的应用程序,客户希望提取一个文档的时间不应超过 10 秒。目前我用 C# 编写了相同的应用程序,但它没有达到客户的期望。然后我遇到了这个漂亮而快速的 Node.js。我认为 Node.js 可以帮助我很多。

请指教!!!

【问题讨论】:

  • 正确的负载测试取决于您的应用程序的功能。不会有可以测试所有 Node.js 应用程序的通用工具。请记住,Node.js 应用程序甚至不必提供 Web 界面!您可以做的最好的事情是编写自己的应用程序来模拟 Node 应用程序的使用。
  • 我的应用程序将是信息提取类应用程序。

标签: node.js load stress-testing


【解决方案1】:

试试nodeload:它是用于负载测试 HTTP 服务的 node.js 模块的集合。

作为开发人员,您应该能够编写负载测试并获得 信息丰富的报告,而无需学习另一个框架。你 应该能够通过示例构建并有选择地使用 适合您任务的工具。作为一个图书馆意味着你可以用作 尽可能多或尽可能少的节点负载,您可以创建负载 使用完整的编程语言进行测试。例如,如果 您需要以给定的速率执行某些功能,只需使用 'nodeload/loop' 模块,剩下的自己写

刚刚发现这个包不再在开发中,所以这里有一些活跃的分叉:

【讨论】:

    【解决方案2】:

    为什么不能用 JMeter 测试节点服务器?对于大多数负载测试来说,你的服务器是什么语言并不重要,你只是用一堆请求来打它。

    在任何情况下,您都可以尝试在节点中实现的loadtest

    对选定的 HTTP 或 WebSockets URL 运行负载测试。该 API 可以轻松集成到您自己的测试中。

    编辑:

    这个答案提供了更多选择:

    NodeJs stress testing tools/methods [closed]

    【讨论】:

      【解决方案3】:

      试试artillery。以下是它的特性,其描述取自文档:

      • 多种协议:负载测试 HTTP、WebSocket、Socket.io、Kinesis、HLS 等。
      • 场景:支持复杂场景以测试您的 API 或 Web 应用程序中的多步交互(非常适合电子商务、事务性 API、游戏服务器等)。
      • 负载测试和功能测试:重复使用相同的场景定义在您的 API 或后端运行性能测试或功能测试。
      • 性能指标:获取详细的性能指标(延迟、每秒请求数、并发性、吞吐量)。
      • 可编写脚本:在 JS 中编写自定义逻辑,使用数千个有用的 npm 模块中的任何一个。
      • 集成:为实时报告提供开箱即用的 statsd 支持(与 Datadog、Librato、InfluxDB 等集成)。
      • 可扩展:编写自定义报告器、自定义插件、自定义协议引擎等。
      • 等等! HTML 报告、漂亮的 CLI、CSV 文件参数化。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-11
        • 1970-01-01
        • 2019-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多