当前位置: 首页 > 知识库问答 >
问题:

SpringBoot和Vert的推荐容器/吊舱CPU大小。OpenShift上的X应用程序

师建德
2023-03-14

我们使用OpenShift 3.6作为我们的Cloud PaaS,我正在测试Spring Boot和Vert。连接到Couchbase集群的X应用程序。可用的默认POD大小为250milicore X 1 GB、400milicore X 1.5 GB和1core X 3 GB。

当我尝试部署应用程序(Spring Boot/Vert.X)时,我观察到

如果我增加超时时间,应用程序会启动,但在执行任何事务时都会很慢。我可以使用1 X 3吊舱,但这会增加成本。然而,我似乎对使用的内存没有任何问题。

Q1)启动期间JVM的CPU依赖性是什么(旋转新线程、在内存中处理、类加载等)。

问题2)我知道JVM在启动过程中是资源密集型的,但对于应用程序在其上正常运行的堆栈,是否有建议的最小POD大小。

问题3)如果更高的POD大小是Java应用程序/JVM的默认要求,那么它是否违背了能够将其用作轻量级微服务的概念。

我已经调整了JVM参数、Xmx、Xms和不同的GC组合,如G1GC、ParallelGc等(看看它是否会以不同的方式运行),但一直经历相同的引导时间。似乎唯一有影响的是CPU大小。

Spring boot v2.1 OpenShift v3.6 Couchbase v5.1 Java v1.8.161 CB SDK 2.5.7

附件是我的本地机器(i5-4核心)上应用程序的VisualVM快照,这似乎在应用程序生命周期的初始阶段占用了大约30%的CPU容量。

共有1个答案

益和雅
2023-03-14

您好,在Openshift上,您可以设置请求和限制值。对于我的Spring boot应用程序,我已经设置了允许的最大on限制值,因为对于Spring boot JVM,CPU越多,启动越快。然后,我将请求设置为足以满足我的应用程序标称流量。我在这篇文章中一步一步地写下了我的应用程序的大小。这应该能回答你的问题。

 类似资料:
  • 在遵循adm策略后,mongo吊舱成功启动并运行, 现在我正试图部署一个连接到mongodb的springboot应用程序,但是由于以下错误,pod重新启动了多次, 当通过openshift部署时,springboot应用程序pod可以连接到mongodb pod,所以我使用k8s创建了一个虚拟pod,并尝试连接mongodb pod, 我怀疑这个问题可能是因为OpenShift阻止springb

  • 我在俄亥俄州的一个AWS地区安装了OpenShift3.9。我把詹金斯装在里面了。我有一个管道代码,它将从GitHub中获取Java代码,并将其与jboss绑定,并将其部署在同一个集群中的项目测试中。它工作得很好,我能够访问应用程序,因为pod正在创建,应用程序也与JBoss绑定。现在我想跨不同的集群部署这个应用程序,可以在同一区域内部署,也可以跨不同的区域部署。有没有办法做到这一点?

  • 但是在随机设置上面注释后的真实行为像:pod1、pod1、pod2、pod2、pod3、pod1、pod2、pod2....这是不正确的。 我们是否需要配置任何openshift配置,使其完善的RoundRoubin?

  • 我想看看kubernetes吊舱使用了多少内存和CPU。我为此运行了以下命令: 我收到以下错误: > 如果我们进入pod并运行linux命令,我们会得到相同的输出吗?

  • 但不知何故,豆荚卡在“容器创建”的状态,当我运行docker图像时,我看不到nginx图像被拉出。通常nginx图像没有那么大,所以现在必须已经拉了(15分钟)。kubectl description pods给出了pod沙箱创建失败的错误,kubernetes将重新创建它。 我搜索了关于这个问题的所有内容,并尝试了stackoverflow上的解决方案(重新启动以重新启动集群,搜索描述豆荚,新的

  • 以前我的MySQL pod停留在终止状态,然后我尝试使用如下命令强制删除 后来我再次尝试helm升级,我的吊舱被卡在containercreating状态,这个事件来自吊舱 任何人请帮助我解决这个问题,非常感谢。