【 TiDB 使用环境】生产环境
【 TiDB 版本】 6.1.0
【复现路径】 报表导出,tidb_server发生 OOM
除了调整SQL,还有没有其他办法能防止OOM发生啊
加点虚拟内存会不会有效果,又害怕机器卡死连不上
限制tidb_server总的内存大小没效果
看下日志里面expensive 语句有没有可优化的
是不是内存太小了
32C96G,三台TIDB_SERVER
32C64G ,三台TIKV
1.优化sql 分批导出。
2. 配置tidb_mem-quota-query 和tidb_mem-quota-concurrency 限制单个查询和并发操作的内存使用
3.滚动重启tidbsever
在tidb没有OOM的情况下,程序连接报 reset ,与 TIDB有关吗
大sql 只能拆分
[2024/04/04 03:48:07.837 +08:00] [Error] [terror.go:307] [“encountered error”] [error=“write tcp 10.251.82.17:4000->10.255.11.4:4674: write: connection reset by peer”] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/build-
这个reset 会是什么原因啊
内存太小了,加到10G以上
优化sql了,或者扩内存
升级版本,对 OOM 的治理有较好的体验,起码升到 6.1.7…
有机会最好升到 6.5.x
6.1.0好像对oom确实处理一般,建议可以升级到6.1.7,如果暂时不能升级,
就设置tidb_mem_quota_query参数,搭配 tidb_mem_oom_action
使用
或者将报表对应的大表增加tiflash副本,尽量让报表类的需求走到tiflash上, 防止tidb内存占用过多
write: connection reset by peer
这个不应该是网络问题么?
10.251.82.17:4000->10.255.11.4:4674
这两个地址之间能通不?