背景:
目前公司有非常多用户在使用Starrocks进行查询,但是用户水平参差不齐,经常写出资源消耗很高的语句
因此希望开启大查询限制来控制用户使用
问题:
很多BI工具会把数据导出到自己集市,开启了大查询限制,这些BI都会失效报错。不开启就会有各种高消耗查询把资源耗尽。
建议:
考虑导出数据是单位时间消耗资源少,总消耗高,大查询限制能否限制单位时间消耗呢,比如限制每5s一个窗口,窗口时间内使用资源超过多少量则认为是大查询
在以上资源限制的基础上,您可以通过以下大查询限制进一步对资源组进行如下的配置:
-
big_query_cpu_second_limit:大查询任务可以使用 CPU 的时间上限,其中的并行任务将累加 CPU 使用时间。单位为秒。只有大于 0 时才生效,默认值为 0。 -
big_query_scan_rows_limit:大查询任务可以扫描的行数上限。只有大于 0 时才生效,默认值为 0。 -
big_query_mem_limit:大查询任务可以使用的内存上限。单位为 Byte。只有大于 0 时才生效,默认值为 0。
资源隔离是否满足您的需求。
big_query_cpu_second_limit 主要就是限制这个,避免大查询cpu耗尽,但是往外抽数的作业,本身查询简单对cpu消耗不高,但抽的数多时间长,就会超过big_query_cpu_second_limit限制被误杀
抽数和查询账号分开就好了
分开了,但是是一个资源组,因为这个领域的资源控制都要是在一个资源组
大查询限制只能加在资源组上吧
而且BI工具,很多都后台自动往集市抽数,用的都是看报表的账号,这种都没法分
这种账号不能分离 搞不了
嗯,所以问问能不能用单位时间内资源用量来控制,实际使用BI工具都会有这个问题
后面可以考虑做一下
收到,感谢回复,这个确实是用的多了之后的一个痛点,现在就是想开限制又开不起来
这个可以在github先建一个issue
好的,我去操作一下