一、背景
OpenMLDB 线上计算的最大优势为可以低延迟(毫秒级)高效处理实时特征计算请求。其中,为了达到低延迟,OpenMLDB 默认使用了基于内存的存储引擎。但是,当业务增长时,对于内存资源消耗以及访问吞吐需求的压力也会上升。本篇文章主要介绍基于 内存存储引擎 的资源预估(磁盘引擎见最后的说明),可以帮你更好的预估、配置用于部署 OpenMLDB 的机器资源。
二、模型概览
2.1 参数说明
为了方便表述,我们先把所有使用到的参数符号以及含义汇总在以下表格。
表一:预估模型所使用的的符号和意义
2.2 概览
OpenMLDB 的资源瓶颈一般会是在内存消耗和吞吐能力上,因此本篇文章重点介绍这两个资源的预估,在最后对其他资源做一个简单介绍:
-
内存消耗:内存是一般情况下 OpenMLDB 的资源瓶颈。
-
吞吐能力:每台机器的吞吐能力有限(在内存不是资源瓶颈的前提下,一般 CPU 会是吞吐能力的瓶颈),如果业务增长需求更多的吞吐,则需要进行水平扩容,增加机器数量。
简单期间,在水平扩容下,我们假设所有机器的配置都是一样旳(如不一样原理类似)。因此,可以使用如下公式来估算针对某一场景