首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >nodejs中有多少工作线程?是否可以修改该数量以获得更好的性能?

nodejs中有多少工作线程?是否可以修改该数量以获得更好的性能?
EN

Stack Overflow用户
提问于 2013-06-22 22:30:31
回答 2查看 667关注 0票数 2

据我所知,nodejs不是单线程的。在后台,工作线程池正在循环执行epoll等无法完成的长io任务。但是后台有多少线程呢?我找不到任何文件来grep号码。

如果我想让nodejs和mysql数据库协同工作,应该有几个线程来执行长期的查询任务。如果nodejs只提供了几个线程,那么如果一些sql查询阻塞,这是非常危险的。因此,我应该非常小心mysql模型定义和sql查询性能,虽然这确实是一种专门的工作。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-02 17:27:12

我最近研究了node-mysql,并且node-mysql使用node的event完全是基于事件的,根本不用担心性能问题。

和node-postgres是一样的。

但是在后台有一个线程池。

我研究了libeio源代码,发现在旧版本的节点中有4个线程。

我研究了libuv源代码,发现在最近版本的节点中,这个数字是可以通过process.env.UV_THREADPOOL_SIZE=number_you_need配置的。

票数 1
EN

Stack Overflow用户

发布于 2013-06-22 23:02:14

你弄错了。node.js是单线程的。

大多数用于node.js的优秀MySQL驱动程序都是异步的,因此它们在等待查询完成时不会阻塞进程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17251834

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档