Kubernetes 如何确定我的tomcat应用程序所需的Openshift吊舱的资源限制?

Kubernetes 如何确定我的tomcat应用程序所需的Openshift吊舱的资源限制?,kubernetes,openshift,openshift-origin,capacity-planning,redhat-containers,Kubernetes,Openshift,Openshift Origin,Capacity Planning,Redhat Containers,我在Openshift的Tomcat8服务器上运行了一个web应用程序(soap服务)。负载大小相对较小,有5-10个元素,流量也较小(每天300个呼叫,一次最多5-10个线程)。我对吊舱资源的限制有点困惑。如果我要为我的应用程序使用最小1个和最大3个pod,如何为每个pod设置最小和最大cpu以及内存限制?在不进行性能测试的情况下,配置准确的限制值是很困难的。 因为我们不希望您的应用程序需要每个请求处理多少资源。一个好的经验法则是根据您环境中最重的工作负载限制资源。内存限制可能会触发OOM k

我在Openshift的Tomcat8服务器上运行了一个web应用程序(soap服务)。负载大小相对较小,有5-10个元素,流量也较小(每天300个呼叫,一次最多5-10个线程)。我对吊舱资源的限制有点困惑。如果我要为我的应用程序使用最小1个和最大3个pod,如何为每个pod设置最小和最大cpu以及内存限制?

在不进行性能测试的情况下,配置准确的限制值是很困难的。 因为我们不希望您的应用程序需要每个请求处理多少资源。一个好的经验法则是根据您环境中最重的
工作负载
限制资源。内存限制可能会触发
OOM killer
,因此您应该根据
tomcat
静态
内存大小设置允许的值。 与
CPU
相反,如果达到限制值,限制不会杀死pod,但会降低进程速度

我对每个限制值的起点的建议如下

  • 内存
    Tomcat(Java)
    内存大小+30%缓冲区
  • CPU
    :我个人认为
    CPU限制
    对于最大化 过程性能和效率。即使提供了
    CPU使用率
    ,pod 可以使用全部cpu资源尽快处理请求 此时,限制设置可能会干扰它。但如果 您应该平均分配资源使用量,以抑制某些 积极的资源消耗者,你可以考虑<代码> CPU限制< /代码> .
这个答案可能不是你想要的,但我希望它能帮助你考虑你的能力规划。