首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >运行在Kubernetes上的Nginx/Openresty的worker_processes值

问运行在Kubernetes上的Nginx/Openresty的worker_processes值
EN

Server Fault用户
提问于 2021-05-07 14:05:13
回答 1查看 960关注 0票数 2

基于这里的文档,https://nginx.org/en/docs/ngx_核心_module.html#worker_进程

worker_processes被定义为辅助进程的数量。

最优值取决于许多因素,包括(但不限于) CPU核的数量、存储数据的硬盘驱动器的数量以及加载模式。如果有疑问,将其设置为可用CPU核的数量将是一个好的开始(值“auto”将尝试自动检测它)。

大多数指南建议将此值设置为服务器上的核数,或设置为auto,自动将其设置为机器上的核数。

我在kubernetes上运行OpenResty,所以当我从openresty中检查CPU内核的数量时,它会返回物理机器(节点)的核数。但是,有了k8s上的CPU请求和限制,所有的8个核心都不能用于吊舱。

那么,在kubernetes情况下,worker_processes对于共享CPU的值应该是多少?

谢谢!

EN

回答 1

Server Fault用户

发布于 2021-12-12 14:47:26

很好的问题,我还在找答案。然而,目前我的想法是,Nginx + Kubernetes ( Nginx不是入口控制器)应该有工作进程= 1。为什么?每个工作流程都是容器中的一个新流程,一般的指导原则是,应该只有一个流程。因此,如果使用“auto”,Nginx将在单个容器中包含n+1进程,其中n是核心数。即使设置辅助进程=1,也是容器中的两个总进程。

假设Nginx非常擅长于维护其额外的过程,那么您可能可以使用“auto”,并在单个荚中利用Nginx。或者,您可以使用worker processes = 1,然后对外部的吊舱进行缩放以达到类似的规模。

最终,需要对不同场景进行一些性能测试,以确定其如何适用于应用程序。

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

https://serverfault.com/questions/1062891

复制
相关文章

相似问题

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