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%




