查询队列
本文档介绍如何在 StarRocks 中管理查询队列。
自 v2.5 版本起,StarRocks 支持查询队列功能。启用查询队列后,StarRocks 会在并发查询数量或资源使用率达到一定阈值时自动对查询进行排队,从而避免过载加剧。待执 行查询将在队列中等待直至有足够的计算资源时开始执行。自 v3.1.4 版本起,StarRocks 支持设置资源组粒度的查询队列功能。
您可以为 CPU 使用率、内存使用率和查询并发度设置阈值以触发查询队列。
Roadmap:
版本 | 全局查询队列 | 资源组粒度查询队列 | 并发数量集中管理 | 并发度动态调整 |
---|---|---|---|---|
v2.5 | ✅ | ❌ | ❌ | ❌ |
v3.1.4 | ✅ | ✅ | ✅ | ✅ |
启用查询队列
StarRocks 默认关闭查询队列。您可以通过设置相应的全局会话变量(Global session variable)来为 INSERT 导入、SELECT 查询和统计信息查询启用全局或资源组粒度的查询队列。
启用全局查询队列
设置以下全局会话变量来为导入任务、SELECT 查询或统计信息查询启用全局查询队列管理。
- 为导入任务启用查询队列:
SET GLOBAL enable_query_queue_load = true;
- 为 SELECT 查询启用查询队列:
SET GLOBAL enable_query_queue_select = true;
- 为统计信息查询启用查询队列:
SET GLOBAL enable_query_queue_statistic = true;