Nodejs性能优化

我对性能优化并不陌生,虽然我认识到nodejs可能不是最适合初学者的友好开始,但它是目前的任务。

观察:简单的JSON API请求在没有负载的登台服务器上和在数据库中的用户数小于10个的情况下需要几百毫秒。 特别是对/ api / get_user的调用需要〜300ms

执行此代码:

exports.get_user = function(req, res) { return res.json(req.user) } 

(注意:我们将会话存储在Redis中)

堆栈:

  • 的NodeJS
  • performance
  • Redis的
  • 蒙戈

我从哪说起呢?

虽然这可能是一个小小的场景矫枉过正,你可能要考虑分析。 我发现nodetime.com服务非常有用。

传递–-nouse_idle_notification标志将告诉V8忽略来自Node的空闲通知调用,这是对V8的请求,要求它立即运行GC,因为Node进程当前是空闲的。 由于节点对这些调用是积极的(效率滋生干净的slates),过量的GC可能会减慢应用程序的运行速度。 请注意,使用此标志不会禁用GC; GC运行频率较低。 在正确的情况下,这种技术可以提高性能。