暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

万里数据库GreatADM平台资源使用描述和硬件资源消耗评估

原创 Dbb 2024-07-05
172

ADM平台资源使用描述和硬件资源消耗评估

因为 ADM 管理服务在运行过程中会有大量的计算和存储开销,所以需要根据待管理的对象规模进行资源规划。本节主要介绍单节点部署场景下 ADM 管理服务节点机器的配置要求。

1 CPU 和内存消耗

下表计算了若干典型的内存用量(假设所有受管节点均运行3个DB实例):

节点数目

物理内存

内存驻留时长

采集频率

采集活跃指标

排队样本量

内存用量

10

6G

6h

1s

1.789G

2.237G

4.026G

100

6G

6h

10s

3.58G

0.447G

4.027G

10

14G

24h

1s

7.156G

2.237G

9.393G

100

22G

24h

10s

14.32G

0.447G

14.75G

ADM-Server 机器的 CPU 和内存资源配置参考如下表所示。以下配置是以每台主机中包含 3 个数据库实例为标准,进行计算得出的数据,请您根据实际情况进行计算,选择合适的 CPU 和内存。

管理的机器数量(台)

CPU(核)

内存(GB)

≤ 20

8

16

≤ 50

16

32

≤ 200

32

64

≤ 400

64

128

注意:

  • ADM-Server 机器要求的最低配置为 8 核 16 GB 以及 500 GB 可用磁盘空间,当管理的机器数量 ≤ 20 时,仍建议 CPU 和内存保持为 8 核 16 GB。
  • 支持 400 台及以上的主机管理,未在真实环境验证,如果需要管理更多的主机,请与 GreatDB 的服务人员联系。

2 ADM数据量预估

ADM-Server 在运行过程中会写入文件到磁盘,这些数据会占用磁盘空间,我们推荐 ADM-Server 至少需要预留 500 GB 的空间,以免因磁盘写满导致功能受影响。

ADM-Server 在运行过程中的磁盘使用情况如下表所示。

类别

存储路径

容量要求

ADM 运行日志

/data/adm/logs

ADM 系统参数配置了 log 文件大小和保留的文件数量。ADM共8个服务日志, 默认配置为单个文件 100 MB,最多保留 3-5 个文件, 建议预留 10 GB 空间。

ADM运行临时文件

/data/adm/data/tmp

未设置容量限制,ADM 会定时清理任务日志,清理任务按照磁盘剩余空间大于 20 % 的目标清理日志文件。清理时,首先清理更新时间更早的日志文件,需预留 100 GB 空间。

数据库安装包目录

/data/adm/data/download

未设置容量限制,ADM 文件主要是 ADM 管理对象相关的安装包,且主要是 数据库 安装包,安装包大小平均在 500 MB 左右,按照 100 个安装包预估,需预留 100 GB 空间。

ADM 监控数据目录

/data/adm/data/monitor

未设置容量限制,ADM 在运行过程中,会采集管理目标的各种性能数据,主要是受管数据库、主机的监控指标数据,这些数据都会存储到 Monitor服务的时序库中。 空间请参考监控数据磁盘容量预估

ADM 日志数据加载

/data/adm/data/loki

未设置容量限制,ADM 在运行过程中,会收集并聚合管理目标的各种日志数据,主要是受管数据库、操作系统的运行日志,这些数据都会存储到ADM节点的磁盘中。 空间请参考监控数据磁盘容量预估

注意:

ADM-Server 的数据目录可在安装时通过ADM_BASE_DIR配置调整.

3 监控数据预估

下表计算了若干典型的硬盘用量(假设所有受管节点均运行3个DB实例),注意,该表未包含存储 checkpoint 所需要的硬盘空间:

节点个数

数据保留时长

频率

磁盘空间使用

10

7d

1s

182G

10

7d

10s

36G

100

7d

1s

1820G

100

7d

10s

360G

  • 估算说明:监控数据主要分为监控指标数据(数据库、服务器), 日志数据(操作系统日志、数据库实例)两部分。
  • 指标数据,存储消耗大约为每 Server 每天增量 500MB~2000MB
  • 日志数据,存储消耗与业务用量有关,经验值是数据规模大约为 指标数据的 10 倍~50 倍。
  • 按照经验值估算,平均每 Server 一天的监控数据增量为 0.5G~2GB,按照 2G 预估。ADM 使用时序库保存监控数据,监控数据的保留周期如下:
  • 指标数据:秒级保留 8 天,10秒级保留 31 天。
  • 日志数据:最大保留500G, 最长保留 15 天。

刨除日志数据的500G空间, 额外估算指标数据需要占用的磁盘资源。

  • 资源估算公式:待管理的所有数据库机器数量。下述以为 server_count为例:
  • ADM 监控服务每天的数据增量预估为 server_count * 2G。
  • 监控服务存储需求为每天的数据增量 * 31 天。
  • 估算样例:待管理的所有数据库机器数量。下述以 20 为例:
  • ADM Monitor时序库每天的数据增量预估为 20*2G = 40GB。
  • Monitor 存储容量预估为 40 GB/天*31天=1240GB,约 1.3 TB。

4 ADM测试收集样本数据参考

  • 测试版本: ADM 5.1.9-beta3 单节点部署
  • 测试环境: 4C 8G 50G, Centos x86 虚拟机, 机器未复用
  • 监控数据库: 空载的金融三节点数据库(3个dbscale、3个zk、3个database)
  • 抓取间隔: 5s抓取1次
  • 指标数量: 1650个

搭建ADM测试环境,并采取每小时收集目录"ADM_BASE_DIR"下的ADM平台目录数据增量:

数据库数量

数据节点数量

服务器数量

运行时间

磁盘空间用量

文件个数

1

9

3

1小时

33MB

11

1天

0.8G

265

5天

4G

1386

2

18

6

1小时

51MB

25

1天

1.24G

616

5天

6.2G

3082

数据对内存和硬盘的使用情况由众多因素共同影响,例如,数据本身的性质,内存性能,硬盘性能,垃圾回收机制,内存碎片等。对存储用量作出准确的预估是困难的。 以上给出的资源消耗只是一个粗略的预估, 给出的公式在评估数据量级时有参考意义,对于实际的调优工作,还需要对线上环境进行深入而详尽的观察和测量之后方可完成。

5 被管理节点资源使用

  • 被管理节点会安装代理,代理包括3个程序,分别是dbinit(执行adm下放的命令等),promtail(采集日志功能),node_exporter (采集监控数据)
  • 3个程序内存使用一般不会超过60M
  • 3个程序不会收集数据,仅仅是暴露功能,占用空间仅仅是程序本身产生的日志,所以不会太大,一般一天不超过20M,当然也可以定期清理日志
  • cpu使用情况:用linux top命令观察,通常3个程序整体占用是一个cpu的3%,一般不会超过6%
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论