NodeJS提升性能

五迷三道 提交于 2020-01-18 23:50:25

NodeJS提升性能


如需转载请标明出处:http://blog.csdn.net/itas109
QQ技术交流群:129518033

相关问题:


1.单机

1.1尽量使用异步

同步操作会阻塞主线程,降低性能

1.2 缓存

将一些不经常变化的数据缓存(内存或redis)起来,可以改善性能

1.3 gzip压缩

压缩可以使数据更快的到达前端

1.4 减少使用JSON序列化与反序列化

尽可能直接使用Object,不要转换成string

1.5 适当使用多线程或多进程

Node 12.12.0以上版本workthread已经为稳定版本

1.6 日志优化

生产版本可以关掉不必要的日志打印

1.7 使用模板引擎

如使用ejs模板渲染成html页面后返回给浏览器,并可以开启缓存

1.8 资源文件压缩

例如图片可以进行压缩

2.其他

2.1 负载均衡

  • Nginx
  • HAProxy

2.2 水平扩展

2.2.1 本机集群模式

本地 Node.js 集群是在一个机器上扩展 Node 应用程序的基本方法(http://nodejs.cn/api/cluster.html)。您的进程的一个实例(称为 “master”)是负责生成其他子进程(称为 “worker”)的实例,每个进程对应一个运行应用程序的进程。 传入请求按照所有 worker 循环策略进行分发,并且在同一端口上访问。
这种方法的主要缺点是必须在代码内管理主进程和工作进程之间的差异,通常使用经典的 if-else 块,而无法轻松修改进程中的进程数。

2.2.2 PM2进程管理


License

License under CC BY-NC-ND 4.0: 署名-非商业使用-禁止演绎


Reference:
1.苏宁的Node.js实践

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!