欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

记录一次因导出导致的生产事故

程序员文章站 2022-07-13 13:16:19
...
收到报警邮件,生产环境order服务挂了,顿时炸锅了呀,先把服务重启了,然后排查问题。
类似这种问题比较麻烦,需要收集生产环境的日志,来分析。经过1个小时左右,找到问题所在,是因为导出的功能导致内存溢出。一个导出为什么会内存溢出呢?本地调试,导出30w+的数据,越来越慢,最后内存溢出。导出的逻辑是分页将数据存在List,最后写入excel。看了下5000条数据的占用内存大概在10M左右,我的天。这下到解决问题的时候了,怎么搞呢....,脑顿大开。都分页查了,为何不每次把查出来的结果集直接写到excel呢?可以试一试,果然,问题解决了,开心开心,在此,给同学们提个醒,遇到导出大量数据的时候一定要注意性能问题。