一般是在256g的服务器集群中设置的是tidb_mem_quota_query为10g,供参考。
OOM应该是单个节点重启,不是整个数据库。
通常是单个tidb server 进程重启,也有部分情况是tidb server 的某个线程重启。还没见过集群全部节点oom 的
使用tidb还用这么高的配置?
1 个赞
越高的配置越能提现TiDB的优越性
tidb_mem_quota_query
这点我觉得特别不好,那一个sql会导致严重的问题
而且我觉得应该是自己连接抛出一个错误更合适
大部分情况下还好。
但是有些大AP场景,如在多表join的场景,尤其涉及大量数据分析的时候,真的很可能一条大SQL搞挂一个tidb-server。
所以对于容易导致OOM的大查询,需要管理员很精细地去考虑设计索引、访问方式、表结构(分区或非分区)、是否引入tiflash列存等因素。不过这个问题在哪个数据库都是需要慎重对待,不仅仅是 TiDB。
嗯,但是大sql搞挂实例那就有点不应该了,我觉得应该抛出错误比较好
我是写脚本控制,这样还可在kill之前把sql给记录下来
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。