Vue 3 企业级项目实战课
杨文坚
前阿里前端 Leader,前腾讯 IMWeb 团队高级前端工程师
6908 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
实战篇 (19讲)
Vue 3 企业级项目实战课
15
15
1.0x
00:00/00:00
登录|注册

35|多进程部署:如何最大限度利用服务器资源运行Node.js服务?

你好,我是杨文坚。
上节课,我们基于服务端的纵向和横向切面,把 Node.js 服务化整为零,分解成了服务的各个最小颗粒度模块;然后根据这些模块逻辑,设计出两种方向切面的扩展规范;最后根据扩展规范设计和服务端结构分析,我们详细展示了服务端“技术底座”,分析了如何根据技术框架优势,更优雅地扩展功能。
到现在,我们已经实现了搭建功能,也做好功能扩展工作,那服务端开发方面的工作,是否能告一段落呢?
答案是否定的。还记得吗,之前我们在阶段性完成前端页面的开发工作后,还用一节课的时间,学习了如何优化搭建平台的前端性能。服务端的开发工作也是一样的,除了完成功能,还需要做服务端的性能优化。
在前端页面性能优化中,我提到两种优化思路,“前置优化”和“后置优化”。无论选择哪种优化思路,都要考虑常见的性能问题场景,也不能“过度设计”造成开发资源浪费。所以,服务端性能优化的工作,我们也要尽量“好钢用在刀刃上”,优先考虑大概率的性能场景问题,做好优化准备。
那服务端大概率的性能问题是什么?如何优化解决呢?我们开始今天的学习。

为什么 Node.js 会发生阻塞

服务端的性能问题,说到底其实就是机器资源的使用问题,主要是 CPU 和内存的利用问题。通常有两种极端情况,机器资源不够用、机器资源利用不充分,我们统称为机器资源使用不合理。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了Node.js服务的多进程部署方法,重点解决了CPU密集计算和阻塞问题。作者首先解释了单线程执行程序在CPU密集计算时可能导致阻塞的原因,并通过实际案例展示了阻塞效果。为了解决这一问题,作者提出了利用多进程或多线程的方法,以充分利用服务器资源,避免单个进程的阻塞影响其他请求的处理,从而提高Node.js服务的性能和并发处理能力。文章还介绍了进程和线程的概念,以及如何在Node.js服务中使用多进程或多线程。最后,文章通过对比多线程和多进程的优劣,选择了多进程的方式来提高CPU等机器资源的利用率,提升性能。总之,本文为需要优化Node.js服务性能的开发人员提供了有益的参考,尤其是针对CPU密集计算和阻塞问题的解决方案。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《Vue 3 企业级项目实战课》
新⼈⾸单¥59
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部