关于storage.block-cache.capacity参数的问题

不设置此参数,tikv内存占用约45%左右,但是把这个参数调小了之后,内存占用下来了,但是sql性能也并没有降低呀,请问此参数的意义和内部逻辑是什么,如果影响不大,是不是可以关掉或者限制成极小

https://docs.pingcap.com/zh/tidb/v4.0/dynamic-config#在线修改-tikv-配置
这个文档你可以先看一下~

我理解你的sql性能没有下降,可能是这个sql占用的资源本身就不多,可以测试一下一个大表查询大数据量时,这个参数对sql性能的影响。

我测试了,我表里有20亿数据,这个参数设置2G和16G时,查询count时,时间没有变化;查询其中一亿数据order by 排序,limit10000,时间也没有变化,是我哪里设置的不对吗

这是我的测试结果storage.block-cache.capacity :1Gb

mysql> analyze table sbtest10;

Query OK, 0 rows affected (18.52 sec)

storage.block-cache.capacity :2GB

mysql> analyze table sbtest10;

Query OK, 0 rows affected (9.20 sec)

storage.block-cache.capacity :4GB

mysql> analyze table sbtest10;

Query OK, 0 rows affected (8.80 sec)

mysql> select count(*) from sbtest10;

±---------+

| count(*) |

±---------+

| 10000000 |

±---------+

1 row in set (1.02 sec)

1 个赞

我在测试limit 50000数据甚至更大时,时间也是差不多,当sql需要扫描的数据块比较多时,这个参数值的设置对性能还是有影响的。

嗯嗯,这个参数其实大了会更好一些的

1 个赞

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