IoTDB 集群性能优化:内存配置详解

147c3fd6fcf0d393630a84bae684ba85.jpeg

合理配置 IoTDB 内存,有效提升集群效能!

IoTDB 是针对时间序列数据采集、存储与分析一体化的数据管理引擎。其性能和运行稳定性在很大程度上依赖于内存的合理配置。本文将详细介绍 IoTDB 内存配置的最佳实践,包括新的脚本参数和计算逻辑

01 内存配置的重要性

内存配置对于 IoTDB 集群的性能至关重要。合理的内存配置可以提高数据处理效率,减少延迟,同时避免内存溢出导致的服务中断,亦可以精准控制内存避免因内存使用过多导致 IoTDB 进程被系统 OOM Killer。

02 配置方式

方式一:省时省力简配

仅配置 MEMORY_SIZE 参数。MEMORY_SIZE 是 1.3.0 及之后版本中新增的内存控制参数,用于指定 IoTDB 可以使用的总内存大小(堆内+堆外)

  • 如未设置 MEMORY_SIZE,则脚本将根据系统内存自动计算,ConfigNode 占用内存为系统内存的 30%,DataNode 占用内存为系统内存的 50%。同时系统将根据 MEMORY_SIZE 大小,自动分配堆内和堆外内存,具体规则是:

    • MEMORY_SIZE < 4G:堆内 3/4,堆外 1/4

    • 4G ≤ MEMORY_SIZE < 16G:堆内 4/5,堆外 1/5

    • 16G ≤ MEMORY_SIZE < 128G:堆内 7/8,堆外 1/8

    • 128G ≤ MEMORY_SIZE:堆内 MEMORY_SIZE - 16G,堆外 16G

具体设置方式如下:

  • ConfigNode 内存设置 conf/confignode-env.sh(bat) 中的 MEMORY_SIZE,单位为 G 或 M

  • DataNode 内存设置 conf/datanode-env.sh(bat) 中的  MEMORY_SIZE,单位为 G 或 M

方式二:精细配置

分别配置堆内内存 ON_HEAP_MEMORY 与堆外内存 OFF_HEAP_MEMORY 参数。这两个参数是 1.3.0 及之后版本中的内存控制参数,是从历史版本 MAX_HEAP_SIZE、HEAP_NEWSIZE 以及 MAX_DIRECT_MEMORY_SIZE 三个参数优化而来。相比原有设置,理解成本更低,配置更加简便

如设置 ON_HEAP_MEMORY 与堆外内存 OFF_HEAP_MEMORY 参数,系统将根据用户设置来分配堆内外内存,其优先级高于系统根据 MEMORY_SIZE 自动分配的堆内外内存

具体设置方式如下:

  • ConfigNode:分别设置 conf/confignode-env.sh(bat) 中的堆内内存 ON_HEAP_MEMORY 与堆外内存 OFF_HEAP_MEMORY

  • DataNode:分别设置 conf/datanode-env.sh(bat) 中的堆内内存 ON_HEAP_MEMORY 与堆外内存 OFF_HEAP_MEMORY

03 总结

V1.3.0 及之后版本通过引入内存控制参数和自动计算逻辑,让 IoTDB 的内存配置变得更加灵活和智能。用户可以根据实际情况轻松调整内存配置,以优化 IoTDB 集群的性能。

关于系统资源规划(CPU、内存、磁盘等)设置的推荐值可以参考官方文档的资源规划:https://www.timecho.com/docs/zh/UserGuide/latest/Deployment-and-Maintenance/Database-Resources.html

规上企业应用实例

能源电力:中核武汉国网信通产业集团华润电力大唐先一上海电气国轩清安储能太极股份绍兴安瑞思

航天航空:中航机载共性北邮一号卫星

钢铁冶炼:宝武钢铁中冶赛迪

交通运输:中车四方长安汽车城建智控德国铁路

智慧工厂与物联:PCB 龙头企业博世力士乐德国宝马京东昆仑数据怡养科技

1390eba40f263a427b69a92232f8c830.gif

72ac36ee7d404d26642bc7972cdaf1f4.jpeg

fa48f81ae5f9246fe892e0c6805de4df.jpeg

01d063373d0faf2e678164df0d96bcbe.jpeg

391f6fe86d53031d3103eb4f8c29c33e.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Apache IoTDB

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值