tidb自带压测工具压测报错

【 TiDB 使用环境】
系统:MacOS 11.4(M1芯片)
内存:16G
TIDB: v5.2.2

【概述】场景+问题概述
在用官方文档中的 “使用 TiUP 运行 TPC-H 测试”(https://docs.pingcap.com/zh/tidb/v4.0/tiup-bench#使用-tiup-bench-组件压测-tidb
进行测试,当我执行命令:
tiup bench tpch --sf=1 --check=true run
的时候,就报OOM,是我的电脑内存太小了?

测试的话,可以针对这个 tidb server 节点调整下可用内存参数,比如:

set tidb_mem_quota_query=8073741824;

mem-quota-query 参数说明:https://docs.pingcap.com/zh/tidb/stable/tidb-configuration-file#mem-quota-query

如何修改配置:https://docs.pingcap.com/zh/tidb/stable/dynamic-config#在线修改-tidb-配置

设置之后还是报错,我想这个表不会这么大吧


是因为我重新启动了一个终端去测试的问题吗?
我是重新建立了一个终端,然后在tiup的bin下执行压测命令的。

先确认下电脑剩余可用内存?打开活动监视器看看?

这是一个已知的问题,tidb 统计信息的加载是异步的,第一次执行时可能因为 histogram 信息还没 ready 导致执行计划不优化,这是 issue https://github.com/pingcap/tidb/issues/28272

image

Q5第二次就 ok 了,你可以加上–ignore-error 参数忽略第一次执行错误
tiup bench tpch --sf=1 --check=true run --ignore-error

2 个赞

tidb_mem_quota_query 参数是 session 级的,另起一个终端是不生效的。可以通过 tiup 去修改集群配置,然后 reload tidb server 是其永久生效。

楼上老哥讲到的应该是问题产生的根本原因,可以先看一下。

加上之后可以继续运行了,但是一直运行,没有终止。不知道怎么回事。

k8s 集群如何持久化修改 mem_quota_query 呢?

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。