etcd官方推荐的硬件配置
推荐的硬件配置
etcd通常在开发或测试的时候用很少的资源就可以了,比如说使用普通的笔记本或者是廉价的云主机就可以,但是在生产环境上,还是需要按推荐的硬件配置进行部署,虽然这不是必须的,但是这样做可以增加集群的健壮性。一如既往,在上生产环境之前,需要先进行负载模拟测试。
CPUs
很少有etcd部署需要大量的CPU资源。典型的etcd部署节点,需要2-4个CPU就可以顺利运行。负载很高的etcd集群,比如上千客户端或者每秒超过上万请求,倾向于CPU绑定,可以直接从内存获取请求。即便这样重的负载,通常需要8-16个CPU就可以了。
内存
etcd占用的内存相对比较小,但是etcd性能仍然取决于是否拥有足够的内存。一个etcd服务器会积极的缓存key-value数据和大部分的跟踪watcher。通常8GB内存就够了,对于负载高的集群,比如有上千watcher和超过百万的keys,相应的就需要16GB-64GB内存。
磁盘
高速磁盘是保证etcd部署性能和稳定性的关键因素。
慢磁盘会增加etcd的请求延时,潜在影响集群的稳定性。因为etcd一致性协议依赖于元数据写入持久化日志,并且要求集群大多数成员将请求写入磁盘。此外,etcd还会到磁盘上增量检查集群的状态,从而可以截断日志。如果这些写操作花费太长的时间,心跳就可能会超时,触发选举操作,从而破坏集群的稳定性。
etcd对磁盘写入延时非常敏感。通常稳定达到50 IOPS(比如:一个7200转的磁盘)是必须的,对于负载很高的集群,推荐能稳定达到500 IOPS(比如:一个典型的本地SSD盘或者高性能的虚拟块设备盘)。注意,大多数云服务提供商发布的是瞬时并发IOPS,并不是稳定的IOPS,瞬时并发IOPS可能十倍于稳定连续的IOPS(说明:因为瞬时并发IOPS可能会写缓存,或者测试时无其他用户竞争磁盘资源,所以会很高,当测试时间很长后,就会测试出设备的真实IOPS能力,这个在国内云厂商基本没有这个问题)。测试稳定连续IOPS,我们建议使用磁盘基准测试工具,比如 diskbench 或者 fio。
etcd对磁盘带宽没什么要求,但是更大的磁盘带宽可以在失败节点加入集群时,更快的完成恢复操作。通常10MB/s带宽的磁盘15s可以恢复100MB的数据,对于大型集群,100MB/s或更高带宽的磁盘可以在15s内恢复1GB数据。
如果有可能,etcd后端存储就用SSD。一个SSD磁盘和机械盘相比,通常会提供更低的写入延时和更少的数据跳变(variance),因此可以提高etcd集群的稳定性和可靠性。如果使用机械盘,尽可能使用最快的(15000转)。使用RAID 0也是一种有效提高磁盘性能的方法,不管是机械盘还是SSD都可以。etcd集群至少有3个节点,磁盘使用RAID做镜像或者做奇偶校验都是不必要的,因为etcd自身的一致性复制已经保证了数据的高可用。
网络
多节点部署的etcd集群会受益于快速和可靠的网络。为了满足etcd集群的一致性和分区容忍,一个不可靠网络出现网络分区会导致部分节点无效。低延时可以保证etcd成员之间快速通信,高带宽可以减少etcd故障节点的恢复时间。1Gb网络就可以满足常见的etcd部署场景,对于大型etcd集群,使用10Gb网络可以减少平均故障恢复时间。
如果有可能,尽量将所有etcd成员节点部署在同一个数据中心,这样可以避免网络延时开销,降低发生网络分区的可能性。如果需要另外的数据中心级故障域,尽量选择和当前数据中心离得比较近的。也可以阅读性能调优文档,了解跨数据中心部署的更多信息。
示例硬件配置
这有一些在AWS和GCE环境上的硬件配置例子。如上所述,但是还是有必要再强调一下,无论如何,管理员在将etcd集群投入生产环境使用之前,都应该做一下模拟负载测试。
请注意:这些配置假设这些服务器只用来跑etcd服务。如果在这些服务器上还跑其他服务,可能会导致其他服务和etcd抢资源,存在资源竞争问题,导致etcd集群不稳定。
小型集群
一个小型集群服务少于100个客户端,访问请求小于每秒200,并且存储不超过100MB的数据。
示例应用负载:一个50节点的kubernetes集群
提供商 |
类型 |
vCPUs |
内存 (GB) |
最大并发IOPS |
磁盘带宽 (MB/s) |
AWS |
m4.large |
2 |
8 |
3600 |
56.25 |
GCE |
n1-standard-2 + 50GB PD SSD |
2 |
7.5 |
1500 |
25 |
中型集群
一个中型集群服务少于500个客户端,访问请求小于每秒1000,并且存储不超过500MB的数据。
示例应用负载:一个250节点的kubernetes集群
提供商 |
类型 |
vCPUs |
内存 (GB) |
最大并发IOPS |
磁盘带宽 (MB/s) |
AWS |
m4.xlarge |
4 |
16 |
6000 |
93.75 |
GCE |
n1-standard-4 + 150GB PD SSD |
4 |
15 |
4500 |
75 |
大型集群
一个大型集群服务少于1500个客户端,访问请求小于每秒10000,并且存储不超过1GB的数据。
示例应用负载:一个1000节点的kubernetes集群
提供商 |
类型 |
vCPUs |
内存 (GB) |
最大并发IOPS |
磁盘带宽 (MB/s) |
AWS |
m4.2xlarge |
8 |
32 |
8000 |
125 |
GCE |
n1-standard-8 + 250GB PD SSD |
8 |
30 |
7500 |
125 |
超大型集群
一个超大型集群服务超过1500个客户端,访问请求超过每秒10000,并且存储超过1GB的数据。
示例应用负载:一个3000节点的kubernetes集群
提供商 |
类型 |
vCPUs |
内存 (GB) |
最大并发IOPS |
磁盘带宽 (MB/s) |
AWS |
m4.4xlarge |
16 |
64 |
16,000 |
250 |
GCE |
n1-standard-16 + 500GB PD SSD |
16 |
60 |
15,000 |
250 |
官方原文链接:https://github.com/etcd-io/etcd/blob/master/Documentation/op-guide/hardware.md
转载于:https://blog.51cto.com/dangzhiqiang/2286890
etcd官方推荐的硬件配置相关推荐
- pfSense book之硬件配置指南
硬件 最低硬件要求 硬件选择 硬件配置 硬件优化和故障排除 pfSense软件发行版与FreeBSD支持的大多数硬件兼容. pfSense2.4和更高版本与64位(amd64,x86-64)体系硬件架 ...
- GAAS使用的硬件配置
摘自:https://github.com/generalized-intelligence/GAAS/tree/master/hardware List of Recommended Hardwar ...
- SketchUp等设计软件官方推荐电脑配置 |干货
作者:活力网小编 小编分享SketchUp等软件官网推荐配置,个人再根据预算进行相应的配置.于是,小编寻求基友帮忙,搜集了常用软件的官方推荐配置要求,现在贴出来供大家参考. 文章撰写于2018年11月 ...
- 基因测序、生物信息分析平台工作站硬件配置推荐2020
(一)了解生物信息学 生物信息学(Bioinformatics)利用应用数学.信息学.统计学和计算机科学的方法研究生物学的问题.生物信息学的研究材料和结果就是各种各样的生物学数据,其研究工具是计算机, ...
- 英伟达RTX 2080/2080Ti发布及UltraLAB采用最新turing图灵架构深度学习硬件配置推荐
英伟达在今晚的发布会上正式公布了全新的RTX 2070.RTX 2080以及RTX 2080Ti显卡,Turing GPU基于台积电12nm+工艺,完整的TU102核心(Quadro RTX 8000 ...
- 计算机硬件intel的商标,电脑硬件配置品牌详细介绍推荐
购买电脑硬件配置的时候,总是会犹豫,不知该买哪款比较好,下面是学习啦小编为大家介绍电脑硬件配置品牌,欢迎大家阅读. 电脑硬件配置品牌 CPU:AMD和Intel(英特尔),民用CPU品牌也就这2个,个 ...
- 结构、流体、热分析、多物理场耦合、电磁仿真硬件配置推荐2018
(一)有限元分析介绍 有限元分析(FEA)借助高性能计算机工具,用"数值近似"和"离散化"方法对真实物理系统(几何和载荷工况)进行模拟,如求解结构.热传导.电磁 ...
- Microsoft HPC Pack 2016部署Comsol Multiphysics多物理场耦合并行计算以及超大规模仿真计算集群硬件配置推荐
并行计算(Parallel Computing)是指同时使用多个计算资源解决计算问题.并行 计算的主要目的是快速解决大型复杂的计算问题,或者节约成本--使用多台"廉价" 计算机取代 ...
- vscode之python框架flask 断点调试的配置(官方推荐的配置,务必注意端口)
flask的配置务必注意端口,默认端口5000如果被占用,你访问的数据无法返回,请更换端口! 更多细节配置,看官方文档,最权威:Debugging configurations for Python ...
最新文章
- 推荐|一个地面机器人采集的大型数据集
- python中字符串格式化
- android去掉button默认的点击阴影
- 生活大爆炸第6季第12集
- 哲理故事与管理之道(3)-不要吝惜赞美
- 本文将向您展示如何在 Flutter 中编码/解码 JSON
- CodeForces - 236D Let‘s Play Osu!(概率dp)
- p6s与onvif_大华的录像机添加海康摄像头,使用了onvif协议,为啥也添加不进去?...
- Java集合面试题(总结最全面的面试题)
- 推荐5个4K视频下载网站 (百万优质资源)
- Python爬取全站妹子图片,差点硬盘走火了!
- DB2操作指南及命令大全
- MySQL8.0无法启动3534的解决方法
- 项目采购管理和干系人管理
- CleanMyMac最新2020注册机
- Visual Studio Code中设置HTML/HTML5模板
- 装修新房该不该换电线
- 盲盒源码开发附搭建教程
- create-react-dom脚手架中图片的路径问题
- mysql 详解YEAR() MONTH() DAYOFMONTH()日期函数
热门文章
- ShardingSphere(八) 分库分表的多种分片策略
- ShardingSphere(四) 垂直分库配置搭建,实现写入读取
- Git初始化本地已有项目并上传到远端仓库
- springboot + vue项目跨域请求解决方案
- 网页截图和svg模版动态生成图片Java实现
- Android Retrofit框架请求复杂json数据
- centos 7 mysql 导入_linux centos7.3导出、导入、Mariadb(MySQL)数据库命令
- rust中使用cargo expand查看被宏隐藏的代码
- 理解SQL Server中的权限体系(下)----安全对象和权限
- css sprites css精灵