我是性能优化的新手,虽然我认识到Node.js可能不是最适合初学者的起点,但这是手头的任务。
观察结果:简单的JSON API请求在没有负载并且数据库中有<10个用户的staging服务器上花费数百毫秒的数量级。特别地,对/API/get_user的调用花费了~ 300 ms。
要执行此代码:
exports.get_user = function(req, res) {
return res.json(req.user)
}
(Note:我们将会话存储在Redis中)
堆栈:
- Node.js
- 快递
- 雷迪斯
- 蒙戈
我该从何说起呢?
2条答案
按热度按时间b09cbbtk1#
虽然对于这个小场景来说可能有点过分,但您可能希望考虑分析。我发现nodetime.com的服务非常有用。
2q5ifsrm2#
传递
–-nouse_idle_notification
标志将告诉V8忽略来自Node的空闲通知调用,这是对V8的请求,要求它立即运行GC,因为Node进程当前处于空闲状态。由于Node对这些调用非常积极(效率会产生干净的slate),因此过多的GC可能会降低应用程序的速度。注意,使用这个标志并不会禁用GC; GC只是运行频率较低。在适当的情况下,这种技术可以提高性能。