美文网首页
Java 后端服务发布参数配置最佳实践

Java 后端服务发布参数配置最佳实践

作者: RobertCrazying | 来源:发表于2021-08-16 14:00 被阅读0次

背景:

后端服务迁移后可能会遇到oom,服务重启等问题,都是参数设置不当造成的,这里提供一个较为通用的参数配置供参考

可能的最佳实践

下面我们来看一下 Kubernetes 下面部署 Java 应用的资源限制该如何设置?我们需要考虑哪些因素?:

  • requests != Xms 更准确的表述是:你的 requests 的值一定要设置的比 Xms 的值大,具体大多少这取决你的应用是否复杂,如果只是一个不复杂的应用,那么增加30%左右即可,但是如果他在 non-heap 外做了很多事情,那么你需要设置更大的值(这假设我们设置 Xms=Xmx )。
  • limits != Xmx 同样的这里不能简单的将 limits 设置为 Xmx 的值,你需要仔细确认这个值。你可以参考腾讯云提供的一个设置规则:
容器内存 Request >= 1.25 * JVM 最大堆内存 ;
容器内存 Limit >= 2 * JVM 最大堆内存;

  • 但我还是建议你做一些基准测试和压力测试,查看应用运行高峰时,内存的需求突发值是多少?如果你压测数据显示你设置的最大值明显过大,那么我们就适当降低该值以降低成本,他并不会导致 OOM 而引起 Pod 不断被驱逐的风险。

参考链接:https://www.cnblogs.com/xiaoqi/p/container-jvm.html

以下是效能平台上推荐的一组配置:

-XX:MaxRAMPercentage=50.0

CPU限额:500

CPU预留::300

内存限额:1024

内存预留:640

以上配置适配大部分应用,如果jvm堆大小需要自己修改,套用公式修改相应的限额和预留即可

image.png

相关文章

网友评论

      本文标题:Java 后端服务发布参数配置最佳实践

      本文链接:https://www.haomeiwen.com/subject/psvmbltx.html