【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.5.1
【遇到的问题:问题现象及影响】
tiflash已单独机器部署,但还是经常会因为某个sql或者大量sql并发执行,导致tiflash使用内存飙升,被机器直接oom。
尝试降低max_memory_usage_for_all_queries 的值,并不能解决该问题。请问有没有办法限制tiflash实例使用内存的上限。
【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面
【附件:截图/日志/监控】
PD 和 TiKV 最好分开~
你把 TiDB 和 PD 放一起,tikv 单拆出来。
可以用resource_control试试效果。
https://docs.pingcap.com/zh/tidb/v6.5/tiup-cluster-topology-reference#tiflash_servers
这个相当是用systemd 自带的功能限制内存上限,但貌似到达上限后 还是会被oom
max_memory_usage_for_all_queries 参数试过了 没效
阿飞老师说的应该是 max_memory_usage这个吧,单个查询过程中节点对中间数据的内存使用。
在7.4以后版本当中倒是有个系统变量: tiflash_mem_quota_query_per_node
https://docs.pingcap.com/zh/tidb/v8.4/system-variables#tiflash_mem_quota_query_per_node-从-v740-版本开始引入
max_memory_usage试过 没啥效果。tiflash_mem_quota_query_per_node 这个在7.5验证过 有用。但并不能解决 多并发的问题。