我已经在node.js完成了我的第一个小项目,现在是时候使用apache基准测试进行性能测试了(1000个并发50个请求)。一切似乎都没问题,每秒处理数百个请求,超快,没有失败请求,只是完美。不幸的是,有一个真正有线的问题......一个进程的内存使用量不断增加,所以假设在apache基准测试完成他的工作之前内存使用量是10%,并且在该工作完成之后它仍然保持在同一级别 - 比减少到一些低水平10%(这是我希望垃圾收集器应该工作的方式)。这是正常的节点行为还是我在我的应用程序中造成了一些内存泄漏(我甚至用无逻辑 API端点测试它但它仍然会发生)?提前感谢任何提示。我甚至可以与对此问题感兴趣的人分享我的整个应用程序代码库。
答案 0 :(得分:1)
我建议在发出请求之前和使用this module之后制作快照。之后只创建了check个额外的对象,以及它们是否属于您自己。不要忘记在开发工具中使用比较模式。
答案 1 :(得分:1)
这是一个博客,可以帮助您使用chrome dev工具和heapdump模块来识别它。
http://strongloop.com/strongblog/node-js-performance-tip-of-the-week-memory-leak-diagnosis/