spring-boot - 几次 (3-4) 次运行后 Kubernetes Pod CPU 节流
问题描述
我正在使用 spring-kafka 2.5 版的 Spring Boot 应用程序。我们的应用程序在 Docker 中容器化并部署在 Kubernetes 集群中。在我使用 EclipseLink 作为持久性服务和 Oracle 数据库的情况下,该消费者获取记录并执行数据库聚合。我正在向这个消费者主题发布批量 100k 消息。我们观察到的是最初几批应用程序的 CPU 使用率低于 500 毫秒内核。但经过几次运行后,CPU 会飙升至其极限 2000milli 核心,甚至会限制更多 2000milli 核心。运行之间没有进行任何更改,这将增加 CPU 使用率。我们想出的唯一解决方案是重新部署我们的应用程序以减少 CPU 使用率,然后它再次以相同的方式运行。
我们执行了 JVM 分析,在内存或垃圾收集中找不到任何问题。我的 CPU 请求是 1000milli 核心,CPU 限制设置为 2000milli 核心。
请帮助我在几次运行后找出这个奇怪的 CPU 限制问题的根本原因。
珍惜你的时间。请找到随附的 CPU 使用率仪表板屏幕截图,该屏幕截图显示一段时间后 CPU 使用率突然飙升。
解决方案
推荐阅读
- ios - 使用不同 UnitType 进行测量的最佳方法
- redis - Redis由于只读文件系统而无法打开RDB文件
- macos - 其他人如何打开使用 Flutter 桌面制作的构建应用程序?
- html - CSS样式表:一个按钮的样式
- git - Git 可以跟踪祖先分支以及它自己的分支吗?
- typescript - 从具有公共键和其中一个值的两个对象中键入
- sql - 从 ID 不匹配的另一个表中的列更新一个表中的列的值
- nginx - Nginx 可以解压 gzip 文件作为响应吗?
- sql - 用于计算跨公司字段的共享电子邮件地址的 SQL 查询
- python - 获取 Django 模型属性的完整和准确定义