ECS实例使用c6 12核 24G RAM,双Worker节点,除了Kubernetes系统Controllers都部署在第一个节点外,其他都部署在第二个节点:包括cert-manager, ingress-nginx,mssql,还有web应用(asp core)。 在家用电脑(win10, i7 12核)上使用Docker+local k8s测试,web应用的商业逻辑会使用到多执行序计算,每秒约计算100笔,工作管理员CPU使用率在90%~100%(结束运算后,CPU使用率在10%左右),使用HWMonitor确认12核(有开启超线程)皆有使用到。 部署到阿里云kubernetes托管版之后(使用同样的部署文件用kubectl及helm部署),不论如何设置cpu limit, cpu request,web应用每秒计算量只能达到50笔,且通过后台监测及kubectl top pod 查看资源消耗,web应用所属pod的cpu皆只能跑到2000m左右,但是若我把cpu request, limit设置为"1"时,web应用的cpu使用会降到1000m(当然计算量也随之下降),但是只要将cpu request, limit设置为2以上,cpu使用永远在2000m附近浮动,请问有大神能帮我解释解释吗?感激不尽!!!
cpu limit是设置一个pod使用CPU的上限,request是至少需要多少资源的意思;在生产环境建议limit和request显式的写出并相等,这个涉计到kubernetes中服务质量的问题。https://kubernetes.io/zh/docs/tasks/administer-cluster/manage-resources/memory-default-namespace/
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。