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

时间:2012-08-31 18:58:05

标签: node.js load stress-testing

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

修改

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

请指教!!!

3 个答案:

答案 0 :(得分:15)

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

  

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

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

答案 1 :(得分:8)

为什么你不能用JMeter测试节点服务器?对于大多数负载测试而言,您的服务器所使用的语言并不重要,您只需使用大量请求进行操作即可。

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

  

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

编辑:

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

NodeJs stress testing tools/methods [closed]

答案 2 :(得分:1)

尝试artillery。以下是其功能,其描述来自文档:

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