记 2022-03-03 线上系统响应缓慢 频繁FullGC问题

事件时间及地点

2022年03月03日 周四 北京 京东总部4号楼

事件现象描述

  • 线上系统 某一台机器 的许多接口 发生报警,提示响应时间较长,也就是系统响应慢;
  • 线上一共12台机器,并不是固定的一台服务器报警;
  • 每隔2个小时左右就会发生一次此现象;
  • 查看对应机器的线上监控,发现CPU很高,并且发生了频繁的FullGC;

问题排查过程

  • 用web页面操作服务器,发生问题的机器生成heap dump堆转储文件;
  • 将文件下载到本地以后用java的jdk下的bin目录中的jvisualvm打开堆转储文件;
  • 对文件进行分析,发现是生成Excel的时候,数据内容过多导致的此问题;
  • 有个功能是es记录接口调用失败记录,并将数据每天2次邮件发送Excel,由于近2天接口调用量从500万/日激增到5000万/日,这就导致接口失败数据量增加到1000万(这个接口数据查询不到的情况很多,业务层面问题),因此在生成Excel的时候,和Excel相关的中间对象过多,导致内存大量占用引起的问题。

问题解决方案

关于解决方案,仅仅是把功能停掉了,因为这种能没有人使用,不过如果真的是需要从技术层面解决这个问题的话,必须要在一个Excel中生成无限多的数据,那就只能尝试将Excel存到本地磁盘,而不是内存中,以文件追加的方式向Excel中写入内容,不过这只是我的一个想法,还并没有去了解如何实现;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值