原地址:https://docs.influxdata.com/influxdb/v1.6/guides/hardware_sizing/

警告!此页面记录了不再积极开发的InfluxDB的早期版本。InfluxDB v1.7InfluxDB的最新稳定版本。

本指南为InfluxDB提供了一般硬件建议,并解决了有关硬件大小调整的一些常见问题。这些建议仅适用于时间结构合并树(TSM)存储引擎,这是InfluxDB 1.4唯一可用的存储引擎。使用未转换 b1或分bz1片运行旧版本InfluxDB的用户可能具有不同的性能特征。有关更多详细信息,请参阅InfluxDB 0.9大小调整指南

单节点还是群集?

InfluxDB单节点实例是完全开源的。InfluxDB集群需要我们的闭源商业产品。单节点实例不提供冗余。如果服务器不可用,则写入和查询将立即失败。群集提供高可用性和冗余。多个数据副本分布在多个服务器上,任何一个服务器的丢失都不会对集群产生重大影响。

如果您的性能要求属于中等低负载范围,那么您可能会使用InfluxDB的单个节点实例。如果您的性能要求中至少有一个属于可能不可行的类别,那么您可能需要使用群集在多个服务器之间分配负载。

单个节点的一般硬件准则

我们通过每秒写入的字段数,每秒的查询数以及唯一系列的数量来定义您将在InfluxDB上放置的负载。根据您的负载,我们提出一般的CPU,RAM和IOPS建议。

InfluxDB应该在本地连接的SSD上运行。任何其他存储配置都具有较低的性能特征,并且可能无法从正常处理中的小中断中恢复。

加载 每秒字段写入 每秒中等查询次数 独特系列
<5千 <5 <10万
中等 <25万 <25 <100万
> 25万 > 25 > 100万
可能不可行 > 75万 > 100 > 1000万

注意:查询对系统的影响差异很大。

简单查询:

  • 几乎没有函数也没有正则表达式
  • 是时间限制在几分钟,几小时或一天
  • 通常在几毫秒到几十毫秒内执行

中等查询:

  • 有多个函数和一个或两个正则表达式
  • 也可能有复杂的GROUP BY条款或抽样多个星期的时间范围
  • 通常在几百或几千毫秒内执行

复杂查询:

  • 具有多个聚合或转换函数或多个正则表达式
  • 可以抽样几个月或几年的非常大的时间范围
  • 通常需要多秒才能执行

低负荷建议

  • CPU:2-4核
  • RAM:2-4 GB
  • IOPS:500

适度的负载建议

  • CPU:4-6核
  • RAM:8-32 GB
  • IOPS:500-1000

高负荷建议

  • CPU:8+核心
  • RAM:32+ GB
  • IOPS:1000+

可能是不可行的负荷

这种规模的表现是一项重大挑战,可能无法实现。有关调整系统的帮助,请通过sales@influxdb.com与我们联系。

群集的一般硬件准则

元节点

群集必须至少有三个独立的元节点才能在丢失服务器后继续存在。具有2n + 1元节点的集群可以容忍元节点的丢失n。群集应该具有奇数个元节点。没有理由拥有偶数个元节点,并且它可能导致某些配置出现问题。

元节点不需要很大的计算能力。无论群集负载如何,我们建议以下元节点:

普遍推荐

  • CPU:1-2核心
  • RAM:512 MB - 1 GB
  • IOPS:50

数据节点

只有一个数据节点的集群有效,但没有数据冗余。冗余由写入数据的保留策略上的复制因子设置。群集可能会丢失n - 1数据节点并仍然返回完整的查询结果,其中n是复制因子。为了在群集内进行最佳数据分发,InfluxData建议使用偶数个数据节点。

群集数据节点的硬件建议与独立实例建议类似。数据节点应始终至少具有2个CPU内核,因为它们必须处理常规读写流量以及群集内读写流量。由于群集通信开销,群集中的数据节点处理的吞吐量低于同一硬件上的独立实例。

加载 每个节点每秒写入字段 每个节点每秒中等查询 每个节点的唯一系列
<5千 <5 <10万
中等 <10万 <25 <100万
> 10万 > 25 > 100万
可能不可行 > 50万 > 100 > 1000万

注意:查询对系统的影响差异很大。

简单查询:

  • 几乎没有函数也没有正则表达式
  • 是时间限制在几分钟,几小时或一天
  • 通常在几毫秒到几十毫秒内执行

中等查询:

  • 有多个函数和一个或两个正则表达式
  • 也可能有复杂的GROUP BY条款或抽样多个星期的时间范围
  • 通常在几百或几千毫秒内执行

复杂查询:

  • 具有多个聚合或转换函数或多个正则表达式
  • 可以抽样几个月或几年的非常大的时间范围
  • 通常需要多秒才能执行

低负荷建议

  • CPU:2个核心
  • RAM:2-4 GB
  • IOPS:1000

适度的负载建议

  • CPU:4-6
  • 内存:8-32GB
  • IOPS:1000+

高负荷建议

  • CPU:8+
  • RAM:32+ GB
  • IOPS:1000+

企业Web节点

Enterprise Web服务器主要是具有类似负载要求的HTTP服务器。对于大多数应用程序,它不需要非常强大。群集仅与一个Web服务器一起运行,但为了实现冗余,可以将多个Web服务器连接到单个后端Postgres数据库。

注意:生产集群不应使用SQLite数据库,因为它不允许冗余Web服务器,也不能像Postgres那样优雅地处理高负载。

普遍推荐

  • CPU:1-4核心
  • RAM:1-2 GB
  • IOPS:50

我什么时候需要更多内存?

通常,拥有更多RAM有助于查询返回更快。添加更多RAM没有已知的缺点。

影响RAM需求的主要组件是系列基数。即使有大量RAM,大约1000万或更高的系列基数也可能导致OOM失败。如果是这种情况,您通常可以通过重新设计架构来解决问题。

相对于系列基数的RAM需求的增加是指数的,其中指数在1到2之间:

我需要什么样的存储空间?

InfluxDB旨在运行在SSD上。InfluxData不测试硬盘驱动器或网络存储设备,我们不建议将它们用于生产。旋转磁盘驱动器的性能要低一个数量级,即使是中等负载,系统也可能会崩溃。为获得最佳结果,InfluxDB服务器必须在存储系统上至少具有1000 IOPS。

请注意,当群集从停机时间恢复时,群集数据节点的IOPS要求非常高。建议存储系统至少具有2000 IOPS以便快速恢复。低于1000 IOPS,群集可能无法从短暂停机中恢复。

我需要多少存储空间?

数据库名称,度量标记键字段键标记值仅存储一次,并始终作为字符串存储。只有字段值时间戳存储每点。

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

我应该如何配置我的硬件?

在生产环境中运行InfluxDB时,wal目录和data目录应位于不同的存储设备上。当系统处于大量写入负载时,此优化可显着减少磁盘争用。如果写入负载高度可变,这是一个重要的考虑因素。如果写入负载变化不超过15%,则可能不需要优化。

influxDB硬件配置指南的更多相关文章

  1. P6 EPPM 安装与配置指南 16 R1 2016.4

       关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...

  2. SQL Server 2012 AlwaysOn集群配置指南

    1. AlwaysOn介绍 AlwaysOn是SQL Server 2012提供的全新综合.灵活.高效经济的高可用性和灾难恢复解决方案.它整合了镜像和群集的功能,基于OS 故障转移群集(Windows ...

  3. JBoss7配置指南

    JBoss7配置指南   1.    jboss各主要版本特性... 3 1.1.     jboss4特性... 3 1.2.     jboss5特性... 5 1.3.     jboss6特性 ...

  4. 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南

    原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...

  5. Visual Studio Code 配置指南

    Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...

  6. 人机大战之AlphaGo的硬件配置和算法研究

    AlphaGo的硬件配置 最近AlphaGo与李世石的比赛如火如荼,关于第四盘李世石神之一手不在我们的讨论范围之内.我们重点讨论下AlphaGo的硬件配置: AlphaGo有多个版本,其中最强的是分布 ...

  7. [转载]SharePoint 2013测试环境安装配置指南

    软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...

  8. P6 EPPM 16.1 安装和配置指南 1

    安装和配置指南下一topiccontents这些指南解释如何安装和配置数据库服务器,和P6 EPPM,模块:他们还提供在P6 EPPM能够解决所有模块的概述.标准指南帮助您配置和部署应用程序向导P6 ...

  9. P6 EPPM R16.1安装与配置指南(三)

    P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat   的行 SET JAR_FI ...

随机推荐

  1. linux command1

    #列出指定用户(当前用户)的组信息 groups #将指定的用户添加(-a)到指定的组内(改组必须已经存在)或指定用户从指定的组中删除(-d) gpasswd –a/-d  username grou ...

  2. Android Native Hook技术(二)

    Hook技术应用 已经介绍了安卓 Native hook 原理,这里介绍 hook 技术的应用,及 Cyida Substrate 框架. 分析某APP,发现其POST请求数据经过加密,我们希望还原其 ...

  3. builder模式-积木系列

    代码高效的表达意图,是优秀代码的基本标准,所以在刚刚写代码的时候我们总是被教育方法的名字,变量字段的名字要尽可能表达出在程序中的含义. 在<重构和模式>中提到的creation,就是讲构造 ...

  4. ZOJ - 4082:Little Sub and his Geometry Problem (双指针)

    Little Sub loves math very much, and has just come up with an interesting problem when he is working ...

  5. event.currentTarget和event.target的区别

    currentTarget始终是监听事件者,而target是事件的真正发出者.

  6. 配置url防盗链、目录权限访问控制Directory、文件访问权限控制FilesMatch

    1.配置url防盗链: 编辑:/usr/local/apache2.4/conf/extra/httpd-vhosts 文件 写入: <Directory /var/www/222/>Se ...

  7. Git图形化界面客户端大汇总

    文,还在不断更新,网上搜到的同名文章都是未经同意就从这里复制过去的) 一.TortoiseGit - The coolest Interface to Git Version Control Tort ...

  8. (17)什么是jQuery(jq的流程和基本操作)

    jQuery就是对原生js二次封装的工具类(在jq叫构造函数) jQuery就是一堆方法的集合,jq对象就可以直接调用这些方法来完成指定的需求 使用jq的流程: 1.在HTML页面倒入jq.js文件 ...

  9. struts2参数转换器用法---2

    //第二种转换器写法public class PointConvert2 extends StrutsTypeConverter{ @Override public Object convertFro ...

  10. SpringCloud学习

    1.SpringCloud的参考博客1 首先主要遇到的问题就是1.写好项目然后放到tomcat或者其他的容器中,然后稍微一点修改就要整个项目重新发布,非常麻烦,这就是微服务出现的契机了 基础知识 PS ...