硬件配置指南
此页面记录了 InfluxDB OSS 的早期版本。InfluxDB OSS v2 是最新的稳定版本。请参阅 InfluxDB v2 文档。
查看InfluxDB OSS(开源)和InfluxDB Enterprise的配置和硬件指南:
免责声明: 您的数字可能与推荐的指导方针有所不同。指导方针为实施最具性能的系统提供了估算基准。
单节点还是集群?
如果您想要一个单节点的 InfluxDB 实例,完全开源,需要的写入、查询和独特系列少于上述列出的数量,并且不需要冗余,我们推荐 InfluxDB OSS。
注意: 在没有集群冗余的情况下,当服务器不可用时,写入和查询会立即失败。
如果您的InfluxDB性能要求以下任何一项,单节点(InfluxDB OSS)可能无法满足您的需求:
- 每秒超过750,000个字段写入
- 每秒超过100个中等查询 (查看查询指南)
- 超过 10,000,000 series cardinality
我们推荐 InfluxDB Enterprise,它支持跨多个服务器核心的多个数据节点(一个集群)。 InfluxDB Enterprise 在集群中分配数据的多个副本,提供高可用性和冗余,因此一个不可用的节点不会对集群产生显著影响。
有关 InfluxDB Enterprise 尺寸要求的更多信息,请参见 InfluxDB Enterprise 硬件尺寸指南。
查询指南
查询复杂性在系统影响上差异很大。建议基于中等查询负载。
对于简单或复杂查询,我们建议根据需要测试和调整建议的要求。查询复杂性由以下标准定义:
| 查询复杂性 | 标准 |
|---|---|
| 简单 | 几乎没有功能或没有正则表达式 |
| 时间限制在几分钟、几小时或最多24小时内 | |
| 通常在几毫秒到几十毫秒内执行 | |
| 中等 | 有多个函数和一到两个正则表达式 |
还可以具有 GROUP BY 子句或对多个星期的时间范围进行取样 | |
| 通常在几百毫秒或几千毫秒内执行 | |
| 复杂 | 具有多个聚合或转换函数或多个正则表达式 |
| 可能会抽样非常长的时间范围,涵盖几个月或几年 | |
| 通常需要几秒钟才能执行 |
InfluxDB OSS 指南
在本地附加的固态硬盘(SSDs)上运行InfluxDB。其他存储配置性能较低,可能无法从正常处理中的小中断中恢复。
估计的指导方针包括每秒写入量、每秒查询量、唯一系列的数量、CPU、RAM和每秒输入/输出操作次数(IOPS)。
| 虚拟CPU或CPU | 内存 | 每秒输入/输出操作数(IOPS) | 每秒写入次数 | 每秒查询次数* | 唯一系列 |
|---|---|---|---|---|---|
| 2-4 核心 | 2-4 GB | 500 | < 5,000 | < 5 | < 100,000 |
| 4-6 核心 | 8-32 GB | 500-1000 | < 250,000 | < 25 | < 1,000,000 |
| 8+ 核心 | 32+ GB | 1000+ | > 250,000 | > 25 | > 1,000,000 |
- 适度查询的每秒查询数。 查询对系统的影响差异很大。对于简单或复杂的查询,我们建议根据需要测试和调整建议的要求。详细信息请参见查询指南。
存储:类型、数量和配置
存储容量和IOPS
考虑您需要的存储类型和数量。InfluxDB 旨在运行在固态驱动器 (SSDs) 和内存优化的云实例上,例如,AWS EC2 R5 或 R4 实例。InfluxDB 并未在硬盘驱动器 (HDDs) 上进行测试。为了获得最佳效果,InfluxDB 服务器必须在存储上具有至少 1000 IOPS,以确保恢复和可用性。我们建议在停机后,至少有 2000 IOPS 以快速恢复集群数据节点。
请查看您的云服务提供商文档以获取关于存储卷的IOPS细节。
字节与压缩
数据库名称、measurements、tag keys、field keys和tag values仅存储一次,并且始终为字符串。Field values和timestamps为每个点存储。
非字符串值大约需要三个字节。字符串值需要可变空间,取决于字符串压缩。
分离 wal 和 data 目录
在生产环境中运行InfluxDB时,将wal目录和data目录存储在不同的存储设备上。这种优化显著减少了在高写入负载下的磁盘争用——如果写入负载变化很大,这是一个重要的考虑。如果写入负载变化不超过15%,则这种优化可能不是必要的。