dan*_*man 9 node.js kubernetes
我们在 Pod 中运行单个 NodeJS 实例,请求 1 个 CPU,并且没有限制。经过负载测试,我们观察到以下情况:
NAME CPU(cores) MEMORY(bytes)
backend-deployment-5d6d4c978-5qvsh 3346m 103Mi
backend-deployment-5d6d4c978-94d2z 3206m 99Mi
Run Code Online (Sandbox Code Playgroud)
如果NodeJS只运行一个线程,它怎么会消耗超过1000m的CPU,当直接在Node上运行时它只使用一个核心?kubernetes 是否以某种方式让它跨核心借用时间?
尽管 Node.js 在单线程中运行主应用程序代码,但 Node.js 运行时是多线程的。Node.js 有一个内部工作池,用于运行后台任务,包括 I/O 和某些 CPU 密集型处理(如加密函数)。此外,如果您使用worker_threads工具(不要与工作池混淆),那么您将直接访问Node.js 中的其他线程。
| 归档时间: |
|
| 查看次数: |
2754 次 |
| 最近记录: |