influxDB硬件配置指南
原地址:https://docs.influxdata.com/influxdb/v1.6/guides/hardware_sizing/
警告!此页面记录了不再积极开发的InfluxDB的早期版本。InfluxDB v1.7是InfluxDB的最新稳定版本。
本指南为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硬件配置指南的更多相关文章
- P6 EPPM 安装与配置指南 16 R1 2016.4
关于安装和 配置P6 EPPM 本指南告诉你如何自动 安装和配置您的应用程序. 在您开始之前,阅读 先决条件 P6 EPPM配置 (7页). 安装P6 EPPM 您将使用 安装程序 (窗口) . ...
- SQL Server 2012 AlwaysOn集群配置指南
1. AlwaysOn介绍 AlwaysOn是SQL Server 2012提供的全新综合.灵活.高效经济的高可用性和灾难恢复解决方案.它整合了镜像和群集的功能,基于OS 故障转移群集(Windows ...
- JBoss7配置指南
JBoss7配置指南 1. jboss各主要版本特性... 3 1.1. jboss4特性... 3 1.2. jboss5特性... 5 1.3. jboss6特性 ...
- 高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南
原文:http://my.oschina.net/wstone/blog/365010#OSC_h3_13 (WJW)高可用,完全分布式Hadoop集群HDFS和MapReduce安装配置指南 [X] ...
- Visual Studio Code 配置指南
Visual Studio Code (简称 VS Code)是由微软研发的一款免费.开源的跨平台文本(代码)编辑器.在我看来它是「一款完美的编辑器」. 本文是有关 VS Code 的特性介绍与配置指 ...
- 人机大战之AlphaGo的硬件配置和算法研究
AlphaGo的硬件配置 最近AlphaGo与李世石的比赛如火如荼,关于第四盘李世石神之一手不在我们的讨论范围之内.我们重点讨论下AlphaGo的硬件配置: AlphaGo有多个版本,其中最强的是分布 ...
- [转载]SharePoint 2013测试环境安装配置指南
软件版本 Windows Server 2012 标准版 SQL Server 2012 标准版 SharePoint Server 2013 企业版 Office Web Apps 2013 备注: ...
- P6 EPPM 16.1 安装和配置指南 1
安装和配置指南下一topiccontents这些指南解释如何安装和配置数据库服务器,和P6 EPPM,模块:他们还提供在P6 EPPM能够解决所有模块的概述.标准指南帮助您配置和部署应用程序向导P6 ...
- P6 EPPM R16.1安装与配置指南(三)
P6 EPPM R16.1安装与配置指南(三) 解压:V137390-01.zip 修改 D:\P6_R161\p6suite\database\dbsetup.bat 的行 SET JAR_FI ...
随机推荐
- Python学习笔记第八周
目录: 一.基础概念 1.动态导入模块 2.断言机制 3.SocketServer 二.作业 FTP服务器 三.单独注明 1.类中装饰器 2.进度条 一.基础概念 1.动态导入模块 有时在编程过程中, ...
- Linux大文件分割splite
/********************************************************************** * Linux大文件分割splite * 说明: * 编 ...
- Gym .101933 Nordic Collegiate Programming Contest (NCPC 2018) (寒假gym自训第四场)
(本套题算是比较温和吧,就是罚时有点高. B .Baby Bites 题意:给出一个婴儿给出的数组,有一些数字听不清楚,让你还原,问它是否是一个从1开始的一次增加的数组. 思路:从左往右依次固定,看是 ...
- P2157 [SDOI2009]学校食堂 (dp+状态压缩)
题目链接:传送门 题目: 题目描述 小F 的学校在城市的一个偏僻角落,所有学生都只好在学校吃饭.学校有一个食堂,虽然简陋,但食堂大厨总能做出让同学们满意的菜肴.当然,不同的人口味也不一定相同,但每个人 ...
- Blender 简单齿轮驱动
直入主题. 1. 用户设置里,勾选扩展网格(Add Mesh: Extra Objects):这样可以直接新增简单齿轮了,免得自己再造轮子. 2. 新增2个齿轮,12赤为主动轮,驱动24赤的被动轮: ...
- python筛选特定文件的信息按照格式输出到txt
最近搞数据库,为了把图片文件的信息导入数据库表中,我开始研究python列出图片文件,其中发现因为IE临时文件里有非常多的不需要的图片,就需要筛选掉一些文件. 最终用python输出了所有需要的图片文 ...
- oracle查询A表中主键都被哪些表引用了?
select r.TABLE_NAME from USER_CONSTRAINTS p, USER_CONSTRAINTS r where p.TABLE_NAME = 'IAM_AUDIT_FIND ...
- ionic中ng-options与默认选中第一项的问题
1. select中动态添加数据时发现一个选项为空,在选中了其他选项时,在点击时发现第一个空选项消失了,所有我们需要设置一个默认的选项: 2. 开始的时候我用的方法: <select class ...
- SPOJ NSUBSTR Substrings
题意 dt { font-weight: bold; margin-top: 20px; padding-left: 35px; } dd { box-shadow: 3px 3px 6px #888 ...
- SpringCloud学习
1.SpringCloud的参考博客1 首先主要遇到的问题就是1.写好项目然后放到tomcat或者其他的容器中,然后稍微一点修改就要整个项目重新发布,非常麻烦,这就是微服务出现的契机了 基础知识 PS ...