如何对node.js服务器进行负载测试?

She*_*har 19 load stress-testing node.js

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

编辑

我的应用程序将是信息提取类应用程序,客户端期望一个文档的提取不应超过10秒.目前我有相同的应用程序用C#编写,但它没有扩展到客户的期望.然后我遇到了这个美丽而快速的Node.js. 我认为Node.js可以帮到我很多.

请指教!!!

lak*_*tak 17

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

作为开发人员,您应该能够编写负载测试并获取信息性报告,而无需学习其他框架.您应该能够通过示例构建并有选择地使用适合您任务的工具部分.作为库意味着您可以使用尽可能多的节点负载,并且可以使用完整的编程语言创建负载测试.例如,如果您需要以给定的速率执行某些功能,只需使用'nodeload/loop'模块,然后自己编写其余的

刚刚发现这个软件包已经不再开发了,所以这里有一些活跃的分支:


ant*_*ore 8

为什么不能用JMeter测试节点服务器?对于大多数负载测试而言,无论您的服务器使用何种语言都是无关紧要的,您只需使用大量请求即可.

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

对选定的HTTP或WebSockets URL运行负载测试.API允许在您自己的测试中轻松集成.

编辑:

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

NodeJs压力测试工具/方法[关闭]


ns1*_*s16 5

尝试一下火炮。以下是它的功能,其描述摘自文档:

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