我想用 node.js 和 MongoDB 编写一个 Web 应用程序,我什至有任务测试它。我想知道是否有任何工具,如 JMeter 或其他任何用于 Node.js 负载/压力测试的工具?
编辑
我的应用程序将是一种信息提取类型的应用程序,客户希望提取一个文档的时间不应超过 10 秒。目前我用 C# 编写了相同的应用程序,但它没有达到客户的期望。然后我遇到了这个漂亮而快速的 Node.js。我认为 Node.js 可以帮助我很多。
请赐教!!!
我想用 node.js 和 MongoDB 编写一个 Web 应用程序,我什至有任务测试它。我想知道是否有任何工具,如 JMeter 或其他任何用于 Node.js 负载/压力测试的工具?
编辑
我的应用程序将是一种信息提取类型的应用程序,客户希望提取一个文档的时间不应超过 10 秒。目前我用 C# 编写了相同的应用程序,但它没有达到客户的期望。然后我遇到了这个漂亮而快速的 Node.js。我认为 Node.js 可以帮助我很多。
请赐教!!!
Try nodeload: it's a collection of node.js modules for load testing HTTP services.
As a developer, you should be able to write load tests and get informative reports without having to learn another framework. You should be able to build by example and selectively use the parts of a tool that fit your task. Being a library means that you can use as much or as little of nodeload as makes sense, and you can create load tests with the power of a full programming language. For example, if you need to execute some function at a given rate, just use the 'nodeload/loop' module, and write the rest yourself
Just found out that this package is no longer under development so here are some active forks:
为什么不能用 JMeter 测试节点服务器?对于大多数负载测试来说,你的服务器是什么语言并不重要,你只是用一堆请求来打它。
在任何情况下,您都可以尝试在 node.js 中实现的loadtest。
对选定的 HTTP 或 WebSockets URL 运行负载测试。API 允许在您自己的测试中轻松集成。
编辑:
这个答案提供了更多选择:
试试火炮。以下是它的功能,其描述取自文档:
- 多种协议:负载测试 HTTP、WebSocket、Socket.io、Kinesis、HLS 等。
- 场景:支持复杂场景以测试您的 API 或 Web 应用程序中的多步交互(非常适合电子商务、事务 API、游戏服务器等)。
- 负载测试和功能测试:重用相同的场景定义在您的 API 或后端运行性能测试或功能测试。
- 性能指标:获取详细的性能指标(延迟、每秒请求数、并发性、吞吐量)。
- Scriptable:在 JS 中编写自定义逻辑,使用数千个有用的 npm 模块中的任何一个。
- 集成:开箱即用的 statsd 支持实时报告(与 Datadog、Librato、InfluxDB 等集成)。
- 可扩展:编写自定义报告器、自定义插件、自定义协议引擎等。
- 和更多!HTML 报告、漂亮的 CLI、CSV 文件的参数化。