我对我的申请做了性能测试。测试时cpu使用率为30%。-测试服务器有4个核心。因此,我认为一个核心有30/4的使用率= 7.5%。
我想在k8s中设置一个容器,将CPU的使用率控制在30%以下,所以我决定cpu的限制是250米+50米(额外的核心)。
我想知道这条路对不对?否则,是否有最好的其他方式来决定cpu的限制?
发布于 2021-04-07 07:06:49
回答你的问题,I am wondering if this way is right?,是的,这是正确的方法。您还可以使用一个名为金凤花的工具,这是一个kubernetes控制器,它收集关于运行豆荚的数据,并提供关于如何设置资源请求和限制的建议。它可以帮助您确定资源请求和限制的起点。
我不确定您的计算是否正确,因为CPU资源是以千禧年定义的。如果您的容器需要两个完整的内核来运行,则将值“2000 m”。如果你的容器只需要1/4的核心,你就会给出一个“250米”的值。
所以,如果你想要30%的你的核心,那么300m是正确的数量。但是如果你想要你的4个核心的30%,那么我会说1200m是正确的数量。
关于这一点,库伯奈特斯·文档 ( kubernetes 文档)是这样的。
您还可以考虑使用立式Pod自动分频器。
垂直Pod自动分频器(VPA) 使用户从设置最新资源限制的必要性中解脱出来,并请求对其吊舱中的容器进行。配置后,将根据的使用情况自动设置请求,从而允许对节点进行适当的调度,以便为每个吊舱提供适当的资源。它还将保持在初始容器配置中指定的限制和请求之间的比率。
我还建议阅读以下关于限制和要求的教程:
https://stackoverflow.com/questions/66947648
复制相似问题