Node.js 具有Docker compose和CPU核心的Docker容器,最佳实践(每个核心上的性能)

Node.js 具有Docker compose和CPU核心的Docker容器,最佳实践(每个核心上的性能),node.js,docker,docker-compose,cpu-usage,Node.js,Docker,Docker Compose,Cpu Usage,我有一个docker compose.yml文件,大约从15个docker容器开始。他们中的大多数人(大约10人)大部分时间都不活跃。我的意思是,它们都是在docker中启动的,但不需要太多资源,因为它们执行的是短cron任务。(容器中的几乎所有服务都使用node.js运行) 所有这些都在VPS上运行,VPS有8个虚拟内核和…X RAM。我没有限制docker的资源,所以我猜它使用了所有可用的CPU内核和RAM内存(根据sudohtop命令) 我的问题是关于内核和线程的 Docker如何在容器

我有一个
docker compose.yml
文件,大约从15个docker容器开始。他们中的大多数人(大约10人)大部分时间都不活跃。我的意思是,它们都是在docker中启动的,但不需要太多资源,因为它们执行的是短cron任务。(容器中的几乎所有服务都使用node.js运行)

所有这些都在VPS上运行,VPS有8个虚拟内核和…X RAM。我没有限制docker的资源,所以我猜它使用了所有可用的CPU内核和RAM内存(根据
sudohtop
命令)

我的问题是关于内核和线程的

  • Docker如何在容器之间拆分CPU核心?每个在线容器是否至少需要一个可用的虚拟核心
例如,如果我有15个docker容器,其中包含15个服务,同时处于活动状态,那么我是否需要一台具有15个核心的机器?如果我有更少的可用核心,并且所有的服务都同时运行,又会怎样呢

  • VPS上的虚拟核心和VDS(专用服务器)上的CPU核心有什么区别?在这种情况下,使用具有如此多核心的专用服务器(如虚拟服务器(VDS上的8个核心>VPS上的8个核心)是否会提高性能
另外,如果我正确理解我的情况,如果我想进一步扩展我的应用程序,我将需要使用K8s,并从不同的VPS机器组成一个集群。这是真的吗?如果你愿意的话,我将非常感谢你对我问题的任何建议


容器没有为其分配或保留特定的CPU核心;这种情况与直接在主机上运行15个进程而不涉及Docker的情况相同。