当前位置: 首页 > news >正文

【性能优化】低配starRocks常驻内存优化

背景说明

由于服务器的实际资源小于starRocks官方的配置,导致starRocks在无任务的情况下,常驻内存偏高,可用于查询的资源变小。

在这里插入图片描述
官方文档

实际部署的集群一般是4C8G和8C16G,be的配置不达标

为了解决单次查询内存不足的问题,提升系统稳定性。放弃starRocks默认开启的通过内存换时间的优化逻辑,降低内存使用。

注意事项

部分参数无法在conf文件中配置,需要执行SQL语句,进行set操作。

参数调整

query_mem_limit

感觉是starRocks的BUG,默认是不配置的,就是不限制。但一段时间后会触发BUG,变成2G的效果,只能手动配置来解决。

Limit:2147483648,刚好是2GB。

ERROR 1064 (HY000) at line 1: Memory of Query4c93de21-7bb9-11ef-a38d-00163e3ad810 exceed limit. Pipeline Backend: 172.16.204.181, fragment: 4c93de21-7bb9-11ef-a38d-00163e3ad811 Used: 2150710904, Limit: 2147483648. Mem usage has exceed the limit of single query, You can change the limit by set session variable query_mem_limit.

SET GLOBAL query_mem_limit = 13743895347; 
--具体数值需要根据实际资源确认,大约是服务器的80%

enable_persistent_index

这个参数用于控制是否持久化主键索引。在主键表中,StarRocks可以使用磁盘和内存同时存储主键索引,以减少主键索引占用的内存空间。如果设置为true,则主键索引会被持久化到磁盘上,这样可以在使用大量数据的情况下节省内存。默认情况下,这个参数可能设置为false,意味着主键索引只在内存中维护,这可能会导致内存使用量较大。常驻内存使用问题之一,内存不足或导入操作多的表,可以考虑关闭。

disable_storage_page_cache

是否开启 PageCache。开启 PageCache 后,StarRocks 会缓存最近扫描过的数据,对于查询重复性高的场景,会大幅提升查询效率。true 表示不开启。该配置项与 storage_page_cache_limit 配合使用,在内存资源充足和有大数据量 Scan 的场景中启用能够加速查询性能。storage_page_cache_limit,默认20%,修改为0% 。BE 存储层 page 缓存可以使用的内存上限。

管理内存 | StarRocks

chunk_reserved_bytes_limit

其参数修改在【metadata常驻优化】中 chunk_reserved_bytes_limit=100000000

用于加速小块内存分配的 Cache,默认上限为 2GB。您可以在内存资源充足的情况下打开。

修改为0,不启用

管理内存 | StarRocks

metadata常驻优化

降低到常驻进程中metadata的占比

在be.conf中加上 
disable_column_pool=true
chunk_reserved_bytes_limit=100000000
data_page_size=524288

中间表落盘

中间结果落盘 | StarRocks

【默认】Data Cache

speedo系统默认是false,未开启

如需永久禁用 Data Cache,需要将以下配置添加到 CN 配置文件 cn.conf 中,并重新启动 CN 节点:

starlet_use_star_cache = false

Data Cache | StarRocks

【默认】Query Cache

speedo系统默认是false,未开启

Query Cache 特性,可以帮助您极大地提升聚合查询的性能。开启 Query Cache 后,每次处理聚合查询时,StarRocks 都会将本地聚合的中间结果缓存于内存中。这样,后续收到相同或类似的聚合查询时,StarRocks 就能够直接从 Query Cache 获取匹配的聚合结果,而无需从磁盘读取数据并进行计算,大大节省查询的时间和资源成本,并提升查询的可扩展性。在大量用户同时对复杂的大数据集执行相同或类似查询的高并发场景下,Query Cache 的优势尤为明显。

Query Cache | StarRocks

内存分析方法

管理内存 | StarRocks

http://www.lryc.cn/news/448929.html

相关文章:

  • 科研绘图系列:R语言树结构聚类热图(cluster heatmap)
  • 微信小程序操作蓝牙
  • Python爱心射线(完整代码)
  • 努比亚 Z17 NX563J Root 教程三方REC刷写工具教程
  • python 02 List
  • 【秋招笔试】09.28科大讯飞秋招(已改编)-研发岗
  • [SAP ABAP] 锁对象
  • Docker快速部署RabbitMq教程
  • 解决银河麒麟V10中/data目录执行权限问题
  • 画两个数的平方和的曲线
  • 问:进程/线程上下文切换场景及相关概念?
  • 神经网络(一):神经网络入门
  • 卸载apt-get 安装的PostgreSQL版本
  • 低代码用户中心:构建高效便捷的用户管理平台
  • 3款免费的GPT类工具
  • Mixture-of-Experts (MoE): 条件计算的诞生与崛起【上篇】
  • 【算法】分治:归并排序之LCR 170.交易逆序对的总数(hard)
  • 2024.9.28 作业+思维导图
  • 树莓派外挂Camera(基操)(TODO)
  • 讯飞星火编排创建智能体学习(二)决策节点
  • YOLOv5改进:Unified-loU,用于高品质目标检测的统一loU ,2024年8月最新IoU
  • 力扣 简单 112.路径总和
  • OpenMV与STM32通信全面指南
  • Python库matplotlib之二
  • DAY17||654.最大二叉树 |617.合并二叉树 |700.二叉搜索树中的搜索 |
  • 读构建可扩展分布式系统:方法与实践16读后总结与感想兼导读
  • Anaconda 安装
  • 优雅使用 MapStruct 进行类复制
  • 第19周JavaWeb编程实战-MyBatis实现OA系统 1-OA系统
  • 仿黑神话悟空跑动-脚下波纹特效(键盘wasd控制走动)