NodeJS提升性能

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实践

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

itas109

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值