etcd性能测试

【ETCD】【实操篇(十九)】ETCD基准测试实战 设定明确的性能目标。使用基准测试工具进行性能测试。监控集群的实时性能数据。测试不同负载和场景下的性能。评估硬件和网络环境的影响。根据测试结果进行调整和优化。通过这些步骤,你可以确保 etcd 集群在实际生产环境中能够满足高可用、高吞吐量和低延迟的需求。 阅读详情

etcd性能测试

本文参考官方文档完成etcd性能测试,提供etcd官方推荐的性能测试方案。

1. 理解性能:延迟与吞吐量

etcd 提供稳定、持续的高性能。有两个因素决定性能:延迟和吞吐量。延迟是完成一项操作所花费的时间。吞吐量是在某个时间段内完成的操作总数。通常情况下,当 etcd 接受并发的客户端请求时,随着整体吞吐量的增加,平均延迟也会上升。

etcd 使用 Raft 共识算法在成员之间复制请求并达成一致。共识性能,尤其是提交延迟,受到两个物理限制因素的制约:网络输入输出(IO)延迟和磁盘输入输出(IO)延迟。完成一个 etcd 请求的最短时间是成员之间的网络往返时间(RTT),再加上 fdatasync 将数据提交到永久存储所需的时间。数据中心内的往返时间可能长达几百微秒。在美国境内典型的往返时间约为 50 毫秒,而在各大洲之间可能慢至 400 毫秒。对于传统机械硬盘,典型的 fdatasync 延迟约为 10 毫秒。对于固态硬盘(SSD),延迟通常低于 1 毫秒。为了提高吞吐量,etcd 将多个请求成批处理,然后提交给 Raft 算法。这种批处理策略使得 etcd 即使在重负载情况下也能实现高吞吐量。

2. 基准测试

对 etcd 性能进行基准测试可以使用 etcd 自带的基准测试命令行工具来完成。
为了获取一些基准性能数据,我们考虑搭建一个由三个成员组成的 etcd 集群,其硬件配置如下:

  • Kubernetes v1.28.2,使用kubeadm部署;
  • 3 台机器,每台配置为 4 个虚拟 CPU + 8GB 内存 + 50GB 固态硬盘(虚拟,SCSI);机器使用VMware Workstation虚拟机。
  • 1 台(客户端)机器,配置为 4个虚拟 CPU + 16GB 内存 + 50GB 固态硬盘(虚拟,SCSI);
  • 操作系统为 Ubuntu 20.04;
  • etcd 版本为 3.5.9,Go 语言版本为 1.22.2;

说明

benchmark是etcd项目自带的压测工具,项目源码:https://github.com/etcd-io/etcd/tree/master/tools/benchmark

2.1 测试环境准备

benchmark安装

工具包括在etcd源码中,克隆仓库进行安装。这里将benchmark安装到测试的客户端机器中:

git clone https://github.com/etcd-io/etcd.git
cd etcd

# 安装
$ go install -v ./tools/benchmark

安装会将可执行文件放在 $GOPATH/bin 中。如果未设置GOPATH环境变量,则该工具将安装到 $HOME/go/bin 中。

etcd环境准备

这里使用k8s的etcd集群环境作为测试对象,etcd使用kubeadm自动部署。也可以自行部署etcd环境:

# etcd集群环境信息如下,此时leader节点为https://192.168.0.52:2379
root@master1:~# etcdctl endpoint status member list --cluster -w table
+---------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|         ENDPOINT          |        ID        | VERSION | DB SIZE | IS LEADER | IS LEARNER | RAFT TERM | RAFT INDEX | RAFT APPLIED INDEX | ERRORS |
+---------------------------+------------------+---------+---------+-----------+------------+-----------+------------+--------------------+--------+
|<
etcd 集群备份/恢复/性能测试 备份/恢复数据 备份数据 etcdctl snapshot save snapshot.db --cacert="/etc/ssl/etcd/ssl/ca.pem" --cert="/etc/ssl/etcd/ssl/admin-kube-master-172-16-100-226.pem" --key="/etc/ssl/etcd/ssl/admin-kube-master-172-16-100-226-key.pem" 恢复数据(新建集群) etcdctl snapshot resto.. 阅读详情

相关推荐

etcd 3.x 部署与性能测试

目的 安装 etcd 3.x 集群 通过 python 写入 etcd key-value 通过 golang 对 etcd key-value 进行遍历 意图 用于 open falcon 改造 修改 open falcon transfer 程序 接收 falcon-agent agent.alived 后, 把对应 endpooine 写入 etcd 并命名为 key , timestamp 为 value 取代 open-falcon nodata service 压测计划 et

Terry Tsang 492

Benchmark etcd性能测试工具

Benchmark etcd性能测试工具

YOLOv8模型RKNN量化策略与RK3588部署实战解析

本文详细解析了YOLOv8模型在RK3588平台上的RKNN量化策略与部署实践。通过对比INT8和FP16量化方式的性能差异,结合实际测试数据,为开发者提供了从模型导出、转换到板端部署的完整解决方案,帮助实现高效的边缘AI应用部署。

oil88的博客 1076

Q&A | ZStack替代VMware实问实答

ZStack替代VMware实问实答

zstack_org的博客 1800

Grok-1.5+Ollama企业级本地化部署与合规实践指南

本文详细介绍了Grok-1.5+Ollama企业级本地化部署与合规实践指南,重点分析了本地化部署的成本优势和数据主权保障。通过RTX 4090显卡的硬件选型、Ubuntu 22.04系统优化及部署流程中的关键陷阱规避,为企业提供了高效、安全的AI模型部署方案。特别适合金融、医疗等敏感行业。

weixin_29094539的博客 180

CCS20实战入门:第一个工程搭建示例

通过实际操作演示如何在ccs20中创建并配置首个开发项目,涵盖环境设置与基础调试步骤,帮助新手快速上手ccs20集成开发环境,提升嵌入式开发效率。

weixin_31185473的博客 883

我的AI个人公司成立:基于Skills与Qwen大模型的智能问答平台实战开发+龙虾团队

微学AI推出数字员工矩阵,包含10个核心AI角色(总经理、秘书、工程师等),每个角色具备专属技能模块。系统采用FastAPI+Vue3技术栈,核心功能包括:基于SkillLoader的动态技能管理(支持脚本执行和文档加载)、WebSocket流式输出、多轮对话上下文管理。通过模块化架构实现AI自驱协作,可自主完成从需求分析到开发落地的全流程。项目亮点在于声明式技能配置和实时交互能力,打破传统办公壁垒,提升工作效率。

微学AI的博客 1623

基于 YOLOv26 的遥感图像目标检测系统:从原理到模型

本文介绍了基于YOLOv26的遥感图像目标检测系统。YOLOv26凭借端到端设计、轻量化架构和小目标优化能力,有效解决了遥感图像中多尺度目标、复杂背景、小目标检测等挑战。系统采用CSPDarknet骨干网络和FPN+PAN特征融合模块,通过MuSGD优化器和改进损失函数提升训练效果。文章详细阐述了数据预处理、模型训练流程和优化技巧,包括Tile推理和混合精度训练。系统支持多种部署方式,在CPU上推理速度提升43%,能实现高精度、实时性的遥感目标检测,适用于城市规划、农业监测等场景。

一键难忘的博客 565

无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程

当您遇到类似于"无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程"的错误消息时,请按照上述步骤来解决问题。当您尝试加载文件C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1时,可能会遇到类似于"无法加载文件:C:\Users\Lenovo\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本编程"的错误消息。请注意,更改执行策略可能会带来一些安全风险。

PixelInk的博客 1919

如何使用 Python 爬取 58 同城招聘信息

职位名称:招聘的岗位名称,如“前端开发”、“数据分析师”等。公司名称:招聘公司的名称。薪资待遇:职位的薪资范围,通常以“面议”、“10k-20k”这样的形式表示。工作地点:公司所在的城市及具体地址。公司福利:例如五险一金、带薪年假、绩效奖金等。发布时间:职位信息的发布时间。一个典型的招聘页面 URL 格式通常如下:在这个页面上,职位信息会分页展示,爬虫需要模拟翻页,获取多个页面的招聘信息。

2201_76125261的博客 1291

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

上一篇: milvus lite快速实践
下一篇: 使用tunasync部署企业内部开源软件镜像站-Centos Stream 9
KongTY312
博客等级 码龄12年 2143粉丝 189原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

KongTY312

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值