两步优化:
定位问题:该接口使用多次sql查询,并采用了async,另外在数据的处理中使用了map,forEach嵌套。
方案:
1/使用了bluebird来异步并发请求,替代原来的async请求。
2/数据处理确实无法减少嵌套,我采用了for循环来替代map,forEach,虽然降低了代码的可读性,但是这里因为数据量比较大,两层循环的原因,确实能有效节约时间。

优化前:
性能优化nodejs从2.8m到30s
优化后:
性能优化nodejs从2.8m到30s

相关文章: