【问题标题】:How to determine resource limit for Openshift Pods required for my tomcat application?如何确定我的 tomcat 应用程序所需的 Openshift Pod 的资源限制?
【发布时间】:2019-07-02 22:21:03
【问题描述】:
我有一个在 Openshift 的 Tomcat 8 服务器中运行的 Web 应用程序(soap 服务)。有效负载大小相对较小,只有 5-10 个元素,流量也很小(每天 300 个调用,一次最多 5-10 个线程)。我对 Pod 资源限制有点困惑。如果我要为我的应用程序使用最少 1 个和最多 3 个 Pod,我该如何计算每个 Pod 的最小和最大 cpu 和内存限制?
【问题讨论】:
标签:
kubernetes
openshift
openshift-origin
capacity-planning
redhat-containers
【解决方案1】:
在没有performance test 的情况下配置准确的限制值很棘手。
因为我们不希望您的应用程序需要每个请求处理多少资源。一个好的经验法则是根据环境中最重的workload 限制资源。内存限制可以触发OOM-killer,因此您应该根据您的tomcatheap 和static 内存大小设置提供的值。
与CPU 相反,限制在达到限制值时不会杀死您的 pod,但会减慢进程速度。
我对每个限制值起点的建议如下。
-
Memory: Tomcat(Java) 内存大小 + 30% 缓冲区
-
CPU:我个人认为CPU limitation 没用最大化
过程性能和效率。即使提供了 CPU usage 并且 pod
可以立即使用完整的 cpu 资源来处理请求
可能在那个时候,限制设置可以干扰它。但如果
您应该平均分配资源使用以抑制一些
激进的资源消耗者,您可以考虑CPU limitation。
这个答案可能不是你想要的,但我希望它能帮助你考虑你的容量规划。