无界队列导致内存耗尽问题一例

来源:互联网 发布:vscode下载插件 编辑:程序博客网 时间:2024/06/07 02:06
某个边缘的功能,需要将某些数据存入数据库,由于功能边缘且数据较少,存入频率为5秒保存一次,一次保存10条;保存的数据用Vector保存,往集合里放,正常情况下量极少也没出问题。
然后在某一天,突然发现服务容灾状态了,根据经验,不是数据库挂了就是后端某应用挂了,查看日志,发现是这个数据量过多,结果数据入库又这么慢,于是内存就爆的了


怎么解决?
1.队列别光加入,超过10000时放弃,以免影响主业务

2.增加入库速度,一次处理1000条


其实http://blog.csdn.net/coder_xia/article/details/77183615 的本质也是因为没配置队列大小,无界队列过慢导致,虽然没有撑爆内存,虽然这个连接里的是线程池队列,本文的是普通容器(逻辑上是队列,但是容器不是)所以说,队列,还是有界的好

阅读全文
0 0
原创粉丝点击