beetle 定时任务 GC 频繁

主要是 macan 和 blazer 调用比较多,白天比较频繁
image.png

fullGC 时间点和堆内存详情
image.png

样本放大 (近三天)

image.png

image.png

image.png

image.png

从gc时间点和堆内存看出

时间点 fullGC 堆内存详情
1.21 11:00 1
1.21 17:00 1
1.22 14:00 1 8:00-> 14:00 逐渐增高 14:00->17:00 调用量到达顶峰
1.22 20:00 1

blazer 和 macan 白天的大量调用 导致了 fullgc 需要查看具体占用内存的方法

查看 rss 告警 pod
http://prometheus.f6yc.com/graph?g0.range_input=1w&g0.expr=sum%20by(pod%2C%20container)%20(container_memory_rss%7Bimage!%3D%22%22%2Cpod%3D%22beetle-prod-arms-deploy-bbd6cc9f6-z7ghf%22%7D)%20%2F%20sum%20by(pod%2C%20container)%20(container_spec_memory_limit_bytes%7Bimage!%3D%22%22%2Cnamespace%3D~%22prod%22%7D)%20*%20100%20&g0.tab=0%20(container_memory_rss%7Bimage!%3D%22%22%2Cpod%3D%22beetle-prod-arms-deploy-bbd6cc9f6-z7ghf%22%7D)%20%2F%20sum%20by(pod%2C%20container)%20(container_spec_memory_limit_bytes%7Bimage!%3D%22%22%2Cnamespace%3D~%22prod%22%7D)%20*%20100%20&g0.tab=0)

image.png

image.png

image.png
image.png
image.png
image.png

找两个节点观察一下
12点25分之后的日志 有大量计算下次服务日日志
8点20分之后的日志 有大量修改下次服务日日志
9点19分结束前还有服务提醒JOB 调用

从 jvm 内存来看, 9点job导致了老年代内存的大量增长,导致内存使用是一只偏高的

查询下次服务日 大量的 YongGC
image.png

导购适配查询接口, 也有多次的 YoungGC ,但是频次和调用次数均少于查询下次服务日查询接口
image.png

综合整体服务一直爬坡的上升趋势判断 应该是工单调用查询下次服务日接口导致的

查询下次服务日代码梳理

9点定时提醒任务代码梳理

remindRuleEngineerReadFacade.queryBaseRemindRulePageInfo

  1. 规则对象字段全量返回了,
  2. 并且查询的bo转换了 response 对象

y t
�carAnnualCheckRemindBillEngineerReadFacade.pagingCarAnnualCheckRemindBill

  1. 查询提醒单对象全量返回了,
  2. 并且查询的bo转换了 response对象
  3. 一页 1000 条

remindBillWriteService.batchUpdate 暂时不改动

5点提醒单同步业务表

  1. 每页查询 1000 条