【详述】starrocks 2.5 使用insert导入队列来限制执行时间长,耗费资源多的insert select语句。
实际情况没有达到预期,cpu使用率飙飙升至90%。
【业务影响】cpu使用率飙升
【StarRocks版本】例如:2.5.14
【集群规模】例如:3fe(1 follower+2observer)+ 5be
详细:
1.开启insert select 导入队列,参数如下:
SET GLOBAL enable_query_queue_load = true;
– 单个 BE 节点中并发查询上限
SET GLOBAL query_queue_concurrency_limit = 1000;
– 单个 BE 节点中内存使用百分比上限
SET GLOBAL query_queue_mem_used_pct_limit = 0.5;
– query_queue_cpu_used_permille_limit
SET GLOBAL query_queue_cpu_used_permille_limit = 200;
– 配置查询队列
SET GLOBAL query_queue_max_queued_queries = 1024;
SET GLOBAL query_queue_pending_timeout_second = 300;
2.在5分钟的压测中,每隔5s执行一次调度,每次调度同时提交5个并发 insert select的sql,同时执行,持续5分钟。
cpu使用率从10%一下,飙升到90%。
查看监控, insert select语句进入到了导入队列,但是cpu使用率没有控制住。
3.监控
导入队列:
be cpu使用