Ale*_*lex 2 cpu node.js server
如果我使用异步函数或带有回调的函数,如本机 fs 模块、http 等,它们是否会默认在所有 cpu 内核上运行?
或者整个事情只会使用1个核心?
node.js 中的一些异步操作(例如fs模块中的文件 I/O )将通过 libuv 中的线程池使用 node.js 进程中的额外线程。这将取决于您的线程池的大小和操作的类型以及您的主机操作系统将占用多少额外的 CPU。在通过同一磁盘的文件 I/O 上使用多个 CPU 不一定有助于整体吞吐量,因为无论如何读/写通常会受到磁盘上读/写磁头位置的瓶颈。
一些异步操作,如网络(如http模块)本质上是非阻塞和异步的,不会与线程进行网络连接,也不会触发对额外 CPU 的任何有意义的使用。
所有这些都不会在多个线程中运行您自己的 Javascript,因为 Javascript 本身都在一个线程中执行。
要完全使用多个 CPU,您可以:
| 归档时间: |
|
| 查看次数: |
465 次 |
| 最近记录: |