searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

etcd性能调优

2023-10-11 01:11:17
9
0

版本管理

etcd采用x.y.z标识版本,x是主版本,y是次版本,z是补丁版本。

etcd维护当前版本和先前版本的分支,例如v3.5是当前版本,同时维护v3.4,当v3.6发布时,v3.4就不再维护

etcd最新版本是:v3.5.7

ECX使用的版本:v3.3.15(官方不再维护),需要考虑升级到3.5

 

其他需要升级的问题:

  1. v3.4之前版本的客户端存在负载均衡bug,如果第一个节点出现异常,访问服务端时也可能出现异常

配置参数

配置方式和优先级:--config-file etcd.conf.yml > command line flags 和 environment variables

etcd 3.3配置参考:etcd v3.3 configuration

 

本次调整的配置项:

quota-backend-bytes: 8589934592(修改/etc/etcd/etcd.config.yml 增加quota-backend-bytes: 8589934592,重启etcd。注意:如果集群已经触发alarm:NOSPACE,修改配置不会生效,需要执行etcdctl alarm disarm)

资源预留

CPU:8核

内存:16GB

磁盘:建议SSD

  • 对顺序写时延敏感,建议顺序写IOPS > 500
  • 带宽,建议100MB/s,带宽越大,从故障恢复越快
  • 空间:
    • data-dir: /var/lib/etcd 100GB
    • wal-dir: /var/lib/etcd/wal 共用上述空间即可
    • 备份目录: /root/etcd_bak 每天备份保留7个副本 需要7倍于/var/lib/etcd/member 的空间,100GB足够

网络:建议10GbE带宽

QoS

磁盘:ionice命令设置etcd的优先级

# 设置etcd IO调度优先级为尽最大努力调度
ionice -c2 -n0 -p `pgrep etcd`
# 验证设置是否成功
ionice -p `pgrep etcd`

网络:tc命令设置更高优先级

tc qdisc add dev br211 root handle 1: prio bands 3
tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip sport 2380 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip dport 2380 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip sport 2379 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip dport 2379 0xffff flowid 1:1

 

0条评论
作者已关闭评论
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
安****顺
8文章数
0粉丝数
安****顺
8 文章 | 0 粉丝
原创

etcd性能调优

2023-10-11 01:11:17
9
0

版本管理

etcd采用x.y.z标识版本,x是主版本,y是次版本,z是补丁版本。

etcd维护当前版本和先前版本的分支,例如v3.5是当前版本,同时维护v3.4,当v3.6发布时,v3.4就不再维护

etcd最新版本是:v3.5.7

ECX使用的版本:v3.3.15(官方不再维护),需要考虑升级到3.5

 

其他需要升级的问题:

  1. v3.4之前版本的客户端存在负载均衡bug,如果第一个节点出现异常,访问服务端时也可能出现异常

配置参数

配置方式和优先级:--config-file etcd.conf.yml > command line flags 和 environment variables

etcd 3.3配置参考:etcd v3.3 configuration

 

本次调整的配置项:

quota-backend-bytes: 8589934592(修改/etc/etcd/etcd.config.yml 增加quota-backend-bytes: 8589934592,重启etcd。注意:如果集群已经触发alarm:NOSPACE,修改配置不会生效,需要执行etcdctl alarm disarm)

资源预留

CPU:8核

内存:16GB

磁盘:建议SSD

  • 对顺序写时延敏感,建议顺序写IOPS > 500
  • 带宽,建议100MB/s,带宽越大,从故障恢复越快
  • 空间:
    • data-dir: /var/lib/etcd 100GB
    • wal-dir: /var/lib/etcd/wal 共用上述空间即可
    • 备份目录: /root/etcd_bak 每天备份保留7个副本 需要7倍于/var/lib/etcd/member 的空间,100GB足够

网络:建议10GbE带宽

QoS

磁盘:ionice命令设置etcd的优先级

# 设置etcd IO调度优先级为尽最大努力调度
ionice -c2 -n0 -p `pgrep etcd`
# 验证设置是否成功
ionice -p `pgrep etcd`

网络:tc命令设置更高优先级

tc qdisc add dev br211 root handle 1: prio bands 3
tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip sport 2380 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 1 u32 match ip dport 2380 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip sport 2379 0xffff flowid 1:1
tc filter add dev br211 parent 1: protocol ip prio 2 u32 match ip dport 2379 0xffff flowid 1:1

 

文章来自个人专栏
智能边缘云弹性计算专栏
8 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
1
0