首页
学习
活动
专区
圈层
工具
发布

#node.js

能在服务器端运行 JavaScript 的开放源代码、跨平台 JavaScript 运行环境

Node.js 中处理 CPU 密集型任务:setImmediate 分片与 Worker 线程的取舍

用户11716263

线上服务里有个接口需要把用户上传的 CSV 转成 JSON 并做一轮字段校验,文件不大时一切正常,但遇到几万行的文件,整个 Node 进程会卡住一两秒,健康检查...

700

Node.js 中正确使用 worker_threads 处理 CPU 密集型任务

用户12771345

线上服务有个接口偶尔会卡住整个进程,日志里看不出异常,监控显示 CPU 单核跑满。排查后发现是某个请求触发了一段图片哈希计算,纯 JavaScript 实现,几...

1700

Node.js 中优雅处理异步任务超时:AbortController 与 Promise.race 的取舍

用户12771345

在 Node.js 服务端开发中,调用外部 HTTP 接口、查询数据库或执行耗时计算时,如果依赖方响应缓慢,很容易拖垮整个请求链路。很多项目最初只是简单设置一个...

2400

Node.js 中使用 worker_threads 处理 CPU 密集型任务时,为什么你的进程还是卡住了?

用户11716263

线上一个用 Node.js 写的图片处理服务,最近加了一个生成缩略图的功能,用的是 sharp 库。本地跑得好好的,部署到一台 2 核的容器上之后,调用缩略图接...

2200

Node.js 中 fs.readFile 和 fs.createReadStream 到底该用哪个?

用户1839651

写 Node.js 服务时经常要读文件,很多人习惯性用 fs.readFile,因为 API 简单,拿到就是完整的 Buffer 或字符串。但上线后遇到大文件或...

900

Node.js 中处理文件上传时 req.on('data') 的坑:为什么你的大文件上传会导致内存暴涨

用户1839651

在 Node.js 服务中直接监听 req.on('data') 来收集上传文件内容,是很多人在处理 multipart/form-data 或原始二进制流时最...

700

Node.js 中 stream.pipeline 的优雅错误处理与资源清理

用户1839651

在 Node.js 里处理文件上传、日志转发或者数据转换时,经常会把多个流串起来用,比如读文件、gzip 压缩、再写到另一个文件。很多人习惯用 pipe() 把...

1900

Node.js 中 fs.createReadStream 与内存暴涨:一次 CSV 解析服务的文件句柄排查

用户1839651

线上一个用 Node.js 写的报表导入服务最近频繁被 OOM 杀掉,它的职责很简单:接收上传的 CSV 文件,按行解析后批量写进数据库。文件本身不大,通常十几...

1600

Node.js 中 process.nextTick 与 setImmediate 的执行顺序陷阱

用户12771345

在 Node.js 里写异步代码时,process.nextTick 和 setImmediate 经常被混用,很多人觉得它们都是“下一轮事件循环再执行”,随便...

2100

Node.js 中 stream 管道背压处理不当导致内存暴涨的排查与修复

用户12771345

在处理大文件上传、日志转发或数据库导出这类场景时,Node.js 的 stream 管道经常被用来避免一次性把数据读进内存。但很多人只记得 pipeline()...

1300

Node.js 中用 Worker Threads 处理 CPU 密集任务时,为什么你的进程还是卡住了?

用户12771345

线上有个图片处理服务,用户上传图片后服务端要做压缩、裁剪、加水印,接口响应时间一直在 800ms 到 2s 之间抖动。起初怀疑是磁盘 IO 或者第三方存储慢,加...

1700

Node.js 中遇到 ECONNRESET 与 socket hang up 时怎么定位是服务端还是客户端的问题

用户11716263

线上服务偶发 502,Nginx 错误日志里出现 upstream prematurely closed connection while reading re...

1800

Node.js 中 setTimeout 与 I/O 回调的执行顺序:一次日志乱序的排查记录

用户11716263

线上一个日志采集脚本偶尔出现时间戳倒挂:同一个请求里,数据库查询结果打印在“开始查询”之前。这段代码用 async/await 写得规规矩矩,本地压测却无法复现...

1100

Node.js 中 stream.pipeline 与 async/await 混用导致的内存泄漏排查

用户11716263

最近在维护一个文件处理服务时遇到一个诡异的内存增长问题:服务运行几天后 RSS 稳定上涨,最终触发 OOM 重启。代码里用的是 Node.js 的 stream...

200

Node.js 中 process.nextTick 与 setImmediate 的执行顺序到底怎么判断

超哥前端记录

在 Node.js 里写异步代码时,经常有人被 process.nextTick 和 setImmediate 的执行顺序绕晕。尤其是两者都写在同一个同步代码块...

1000

Node.js 中 stream.pipeline 在错误处理上的一个隐蔽陷阱

超哥前端记录

在 Node.js 里用流处理大文件或网络数据时,很多人会用 stream.pipeline 来串联多个流,因为它能自动处理背压和销毁。但实际开发中我发现一个容...

1700

Node.js 中 stream 背压处理不当导致的内存泄漏排查与修复

用户1839651

线上一个日志转发服务在运行一周后内存持续上涨,最终触发 OOM 重启。用 heap snapshot 对比发现大量 Buffer 实例堆积在可读流的内部队列中,...

4610

Node.js 中 stream 背压处理不当导致的内存暴涨与修复

用户11716263

在 Node.js 里处理大文件、日志转发或数据库导出时,很多人会直接用 fs.createReadStream 接上 fs.createWriteStream...

5610

Node.js 中处理 CPU 密集型任务:从 Event Loop 阻塞到 Worker Threads 实战

用户1839651

在 Node.js 服务中跑图片压缩、加解密或者大 JSON 解析时,经常遇到接口突然整体变慢、健康检查超时、WebSocket 心跳断掉,但 CPU 占用看起...

2910

Node.js 中处理大文件上传的流式方案与临时文件清理

用户12771345

在后台管理系统里做文件上传,最容易翻车的就是大文件场景。用户传一个几百兆的视频或者几个 G 的数据库备份,如果还走 multipart/form-data 再在...

2210
领券