首页

硬件配置指南

查看有关InfluxDB OSS(开源)和InfluxDB Enterprise的配置和硬件指南:

免责声明: 您的数字可能与推荐的指南不同。指导方提供了为您的企业实施性能最佳的系统的估计基准

single-node-or-cluster

如果你的influxdb性能需要满足以下任何条件,则单个节点(influxdb OSS)可能无法满足日常需求

建议使用influxdb Enterprise,支持跨多个服务器核心的多个数据节点(一个集群),Influxdb Enterprise在整个集群中分布数据的多个副本,从而提供高可用性和冗余性,因此不可用的节点不会对集群产生重大影响 如果希望Influxdb的单节点实例是完全开源的,比上面列出的需要更少写入量,查询和唯一序列,并且不需要冗余,建议使用Influxdb 0SS

注意: 如果没有群集的冗余,当服务器不可用时,写入和查询会立即失败

query-guidelines

查询复杂度在系统影响上差异很大,对单个节点和集群的建议均基于中等查询负数

对于简单或复杂的查询,建议根据需要测试和调整建议的要求,查询复杂度由以下条件定义

查询复杂度 标准
简单 功能很少或者没有,也没有正则表达式
时间限制为几分钟,几小时或最多24小时
通常在几毫秒到几十秒毫秒内执行
中等 具有多种功能和一两个正则表达式
可能还会有GROUP BY条款或者示例多个星期的时间范围
通常在几百或几千毫秒内执行
复杂 具有多个聚合或者转换功能过着多个正则表达式
可能会采样很大的几个月或者几年的时间范围
通常需要几秒中才能执行

influxdb oss guidelines

在本地连接的固态驱动器(SSD)上运行influxdb,其他存储配置具有较低的性能,并且可能无法从正常处理中的小中断中恢复

估计的准则包括每秒写入,每秒查询和唯一series,CPU,RAM和IOPS (每秒输入/输出操作).

vCPU or CPU RAM IOPS Writes per second Queries* per second Unique series
2-4 cores 2-4 GB 500 < 5,000 < 5 < 100,000
4-6 cores 8-32 GB 500-1000 < 250,000 < 25 < 1,000,000
8+ cores 32+ GB 1000+ > 250,000 > 25 > 1,000,000
  • 每秒查询一次的中等查询. 查询对系统的影响差异很大. 对于简单或复杂的查询, 我们建议根据需要测试和调整建议的要求,有关详细信息,请参考 查询准则 .

InfluxDB Enterprise cluster guidelines

Meta nodes

设置具有奇数个元节点的集群-偶数个节点可能会在某些配置中引用问题

集群必须至少具有三个独立的Meta nodes,以实现数据冗余和可用性,具有2n+1元节点的集群可以允许meta node节点丢失N

meta nodes不需要太多的计算能力,无论集群负载如何,都建议针对meta nodes节点使用以下准则

  • vCPU or CPU: 1-2 cores
  • RAM: 512 MB - 1 GB
  • IOPS: 50

Web node

Influxdb Enterprise web服务器主要是具有类似于负载要求的http服务器,对于大多数应用程序,服务器不需要非常强大,一个集群只能与一个web服务器一起工作,但是为了实现冗余,建议将多个web服务器连接到单个后端Postgress数据库

Note: 生产集群不应使用SQLite数据库(缺少对冗余web服务器的支持和处理高负载的能力)

  • vCPU or CPU: 2-4 cores
  • RAM: 2-4 GB
  • IOPS: 100

Data nodes

具有一个数据节点的集群有效,但没有数据冗余,冗余由数据写入的保留策略上的复制因子设置,N复制因素在哪里,集群可能会丢失N-1数据节点并返回完整的查询结果

Note: 为了在集群内实现最佳的数据分支,请使用偶数个数据节点

准则因每个节点每秒的写入次数,每个节点每秒的中等查询次数以及每个节点的唯一series而异

每个节点的准则

vCPU or CPU RAM IOPS Writes per second Queries* per second Unique series
2 cores 4-8 GB 1000 < 5,000 < 5 < 100,000
4-6 cores 16-32 GB 1000+ < 100,000 < 25 < 1,000,000
8+ cores 32+ GB 1000+ > 100,000 > 25 > 1,000,000
  • 为了适度查询提供了指南,查询对系统的影响千差万别,对于简单活着复杂的查询,我们建议根据需要测试和调整建议的需求,有关详细信息,请参见 series cardinality

when do i need more ram

通常,更多的RAM可以帮助查询返回更快,RAM需求主要取决于series cardinality,基数越高,需要更多的RAM,无论使用哪种RAM,1000万以上的基数都可以导致OOM(内存不足)故障,通常通过重新设计架构来解决OOM问题

每个集群的准则

InfluxDB Enterprise 准则因每秒的写入和查询,series cardinality,复制因子和基础架构-AWS EC2 R4实例或等效实例而异:

  • R4.xlarge (4 cores)
  • R4.2xlarge (8 cores)
  • R4.4xlarge (16 cores)
  • R4.8xlarge (32 cores)

准则源于DevOps监视用例:维护一组计算机并监视服务器指标(例如CPU,内核,内存,磁盘空间,磁盘I/O,网络等等)

集群配置准则由以下组织:

  • 数据集中的系列基数10,000, 100,000, 1,000,000, or 10,000,000
  • 数据节点数
  • 服务器核心数

对于每个集群配置,可以找到以下准则

  • 仅每秒最大写入次数 (没有正在运行的仪表板查询)
  • 仅每秒最大查询数 (无数据写入)
  • 每秒最大同时查询和写入次数

查看集群配置表

  1. 选择下面的series cardinality选项卡,然后单击已展开复制因子
  2. 在"节点x核心"列中,找到配置中数据节点和服务器核心的数量,然后查看建议的最大指导原则

选择以下复制因子之一,已查看针对10000系列的建议集群配置:

Replication factor, 1

Replication factor, 2

Replication factor, 3

Replication factor, 4

Replication factor, 6

Replication factor, 8

选择以下复制因子之一,已查看建议的100000系列集群配置

Replication factor, 1

Replication factor, 2

Replication factor, 3

Replication factor, 4

Replication factor, 6

Replication factor, 8

选择以下复制因素之一,以查看针对1000000系列的推荐集群配置

Replication factor, 2

Replication factor, 3

Replication factor, 4

Replication factor, 6

Replication factor, 8

选择以下复制因子之一,已查看10000000系列的推荐集群配置:

Replication factor, 1

Replication factor, 2

Replication factor, 3

Replication factor, 4

Storage: type, amount, and configuration

存储卷和IOPS

考虑所需要的存储类型和数量,Influxdb设计为在固态驱动器(SSD)和内存优化的云实例上运行,Influxdb尚未在硬盘驱动器(HDD)上进行测试,不建议将HDD用于生产,为了获取最佳结果,influxdb服务器必须在存储上至少具有1000IOPS,以确保恢复和可用性,建议至少2000IOPS,以在停机后快速恢复集群数据节点

有关存储卷的IOPS详细信息,请参见您的云提供商文档

字节和压缩

Database 名称 , measurements, tag keys, field keys, 和 tag values仅存储一次,并且始终作为字符串存储,将为每个接地那存储Field valuestimestamps 胃每个Plints存储

非字符串值大约需要三个字节,字符串值需要可变的空间,该空间由字符串压缩确定

分开waldata目录

在生产环境中运行influxdb时,将wal目录和data目录存储在单独的存储设备上,此优化可显着减少繁重的写负载下的磁盘争用,这是写负载度高度可变时的重要考虑因素,如果写入负载的变化幅度不超过15%,则可能没有必须进行优化


InfluxDB OSS 2.0 release candidate

InfluxDB OSS v2.0.rc includes breaking changes that require a manual upgrade from all alpha and beta versions. For information, see:

Upgrade to InfluxDB OSS v2.0.rc