如何在Node.js应用程序上执行loadtest

时间:2015-10-26 13:08:54

标签: javascript node.js performance mongodb load-testing

请,我需要有关如何有效测试已完成的Node.js应用程序的专家建议。 我想做的是

1。我想运行测试以刺激例如100个用户都将数据插入 mongoDB

2。 100位用户从数据库中恢复记录

3。 100个用户可能正在从数据库中删除,我想检查系统在这种情况下的执行情况。 我在npm中读到了关于loadtest的信息,在我看来它是一个很好的候选者,但我不知道我是否可以使用它将数据(post / get)请求传递到数据库实际上,看看系统将如何响应100个用户的情况都将实际数据发布到数据库中。 我想,loadtest有助于检查例如20秒的响应时间,可能有40个并发请求,这是我模块的基本功能,我不知道它是否具有其他功能,就像我期望的那样。 任何有关此事的建议或线索都将受到赞赏,因为我希望尽可能避免重新设计轮子 谢谢

3 个答案:

答案 0 :(得分:4)

您可以使用 loadtest 模块。 但首先你应该为crud进程定义路由并调用

var map = new L.Map(
  'map', 
  {
    center: new L.LatLng(51.51, -0.11), 
    zoom: 9
  }
);

var googleLayer = new L.Google('ROADMAP');

map.addLayer(googleLayer);

- rps表示每秒请求数

您可以从https://github.com/alexfernandez/loadtest

获取

答案 1 :(得分:2)

您可以使用Apache JMeter对以下内容进行负载测试:

答案 2 :(得分:1)

您绝对不需要使用node.js实用程序对node.js应用程序进行负载测试。事实上,我建议你使用支持多线程的语言。对于节点,我担心阻塞事件循环,等待I / O并获得不准确的结果。

我最近尝试vegeta并对此感到非常满意。您可以按原样使用它,而无需编写任何Golang代码(尽管它是开源的,您可以随意修改它)。它支持带头的URL和带有效负载的POST。它是用Golang编写的,它支持多线程,甚至报告它的延迟。您可以直接使用html,json和纯文本获取报告

最后,蔬菜鳞片很好。您似乎想发布POST,GET和DELETE。您可以启动实例来执行GET加载,另一个用于POST,一个用于DELETES。或者您可以POST一堆数据,然后在同一个VM上删除数据。当所有VM完成运行测试后,您可以单独查看结果或聚合它们。