阿西河

所有教程

公众号
🌙
阿西河前端的公众号

我的收藏

    最近访问  (文章)

      教程列表

      抓包专区
      测试专区

      Node.js node UV_THREADPOOL_SIZE=size

      Node.js node UV_THREADPOOL_SIZE=size

      将libuv的线程池中使用的线程数设置为size线程

      Node.js尽可能使用异步系统API,但如果它们不存在,libuv的线程池用于基于同步系统API创建异步节点API。使用线程池的Node.js API是

      • all fs APIs, other than the file watcher APIs and those that are explicitly synchronous
      • crypto.pbkdf2()
      • crypto.randomBytes(), unless it is used without a callback
      • crypto.randomFill()
      • dns.lookup()
      • all zlib APIs, other than those that are explicitly synchronous

      因为libuv的线程池具有固定的大小,这意味着如果由于某种原因任何这些API需要很长时间,那么在libuv的线程池中运行的其他(看似无关的)API将会降低性能。为了缓解这个问题,一个可能的解决方案是通过将’UV_THREADPOOL_SIZE’环境变量设置为大于4的值(其当前默认值)来增加libuv的线程池的大小。有关更多信息,请参阅libuv threadpool文档。


      更多选项请参考:Node.js 命令行选项,或者通过 点击对应菜单 进行查看;


      目录
      本文目录
      目录