ZooKeeper的一个性能测试

2023-11-12

2011-07-15 18:07:00

3台ZooKeeper服务器。8核64位jdk1.6;log和snapshot放在不同磁盘

场景一

同一个目录下,先createEPHEMERALnode,再delete;create和delete各计一次更新。没有订阅。
一个进程开多个连接,每个连接绑定一个线程,在多个path下做上述操作;不同的连接操作的path不同

测试结果数据汇总如下:

dataSize(字节) totalReq recentTPS avgTPS recentRspTim   avgRspTim failTotal
  4096   2037   1585      
  1024   7677   280      
  255   14723   82      
  说明 总请求数 实时TPS   实时响应时间(ms)      

场景二

一个进程开多个连接,每连接一个线程,每个连接在多个path下做下述操作;不同的连接操作的path不同
每个path有3个订阅者连接,一个修改者连接。先全部订阅好。然后每个修改者在自己的每个path下创建一个EPHEMERALnode,不删除;创建前记录时间,订阅者收到event后记录时间(eventStat);重新get到数据后再记录时间(dataStat)。共1000个pub连接,3000个sub连接,20W条数据。

结果汇总:getAfterNotify=false(只收事件,受到通知后不去读取数据);五台4核client机器
  dataSize(字节) totalReq recentTPS avgTPS recentRspTim avgRspTim failTotal
  4096   8000+   520左右    
  2048   1W+   270左右    
  1024   1W+   256左右    
  255   1W+   256左右    
  说明 总请求数 实时TPS   实时响应时间(ms)    

收到通知后再去读取数据,五台4核client机器

  dataSize(字节) totalReq recentTPS avgTPS recentRspTim avgRspTim failTotal
eventStat 4096   8000+   1000左右    
eventStat 4096   3200   2200-2600    
dataStat 4096   3200   4000-4300    
eventStat 1024   9500   400-900    
dataStat 1024   9500   700-1100    
eventStat 256   8500   200-1000    
dataStat 256   8500   300-1400    
  说明 总请求数 实时TPS   实时响应时间(ms)    

收到通知后再去读取数据,1台8核client机器

  dataSize(字节) totalReq recentTPS avgTPS recentRspTim avgRspTim failTotal
eventStat 4096   5771   9604    
eventStat 4096   5558   10633    
dataStat 4096   5558   10743    
eventStat 1024   6000   9400    
dataStat 1024   6000   10000    
eventStat 256   6374   10050    
dataStat 256   6374   10138    
  说明 总请求数 实时TPS   实时响应时间(ms)    

场景三

一个进程开多个连接,每连接一个线程,每个连接在多个path下做下述操作;不同的连接操作的path不同
每个path有一个修改者连接,没有订阅者。每个修改者在自己的每个path下设置数据。

结果汇总:getAfterNotify=false(只收事件,受到通知后不去读取数据);五台4核client机器
dataSize(字节) totalReq recentTPS avgTPS recentRspTim   avgRspTim failTotal
  4096   2037   1585      
  1024   7677   280      
  255   14723   82      
  说明 总请求数 实时TPS   实时响应时间(ms)      

总结
由于一致性协议带来的额外网络交互,消息开销,以及本地log的IO开销,再加上ZK本身每1000条批量处理1次的优化策略,写入的平均响应时间总会在50-60ms之上。但是整体的TPS还是可观的。单个写入数据的体积越大,响应时间越长,TPS越低,这也是普遍规律了。压测过程中log文件对磁盘的消耗很大。实际运行中应该使用自动脚本定时删除历史log和snapshot文件。

 

©著作权归作者所有:来自51CTO博客作者阿里中间件的原创作品,如需转载,请注明出处,否则将追究法律责任

http://blog.51cto.com/aliapp/1327653

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ZooKeeper的一个性能测试 的相关文章

  • zookeeper介绍

    1 简介 Zookeeper 分布式服务框架是Apache Hadoop 的一个子项目 它主要是用来解决分布式应用中经常遇到的一些数据管理问题 如 统一命名服务 状态同步服务 集群管理 分布式应用配置项的管理等 Zookeeper 作为一个
  • 启动dubbo项目提示zk连接不上 Will not attempt to authenticate using SASL

    背景 本来自己本地能正常连接zk 启动项目 突然就不行了 这种莫名其妙的错误 令人头大 虽然找到了解决方法 但不知其原因 希望有大佬一起交流下 解决方案 查看zookeeper安装目录下的 conf zoo cfg文件 查看dataDir的
  • 【狂神说Java】SpringBoo

    作者简介 CSDN内容合伙人 信息安全专业在校大学生 系列专栏 添砖加瓦 狂神说JAVA系列笔记 新人博主 欢迎点赞收藏关注 会回访 个人格言 舞台再大 你不上台 永远是个观众 平台再好 你不参与 永远是局外人 能力再大 你不行动 只能看别
  • Linux学习笔记——ZooKeeper集群安装部署

    5 8 ZooKeeper集群安装部署 5 8 1 简介 Zookeeper是一个分布式的 开放源码的分布式应用程序协调服务 是Hadoop和HBase的重要组件 它是一个为分布式应用提供一致性服务的软件 提供的功能包括 配置维护 域名服务
  • zookeeper入门到精通03——zookeeper集群搭建

    zookeeper集群搭建 3 1 多虚拟机环境搭建 3 2 zookeeper集群搭建 3 1 多虚拟机环境搭建 我们需要搭建zookeeper集群 而由于zookeeper的的服务器数量需要设置为单数 前文介绍了原因 一个zookeep
  • Zookeeper缩容5缩3操作记录(二)

    测试目标 测试5台缩3台zk 先shutdown 一台5 再将1 2 3配置修改为1 2 3 逐一重启 是否会发生脑裂 测试过程 准备1 2 3 4 5 五台 3为leader 将5 shutdown 1 将1配置修改为1 2 3 重启 结
  • Windows系统下zookeeper启动报错JAVA_HOME is incorrectly set

    最近在Windows系统下 下载了zookeeper 3 5 2 alpha这个版本的zookeeper 把配置文件zoo example cfg重命名为zoo cfg后 直接双击zkServer cmd文件启动结果命令行窗口闪一下就消失了
  • 《从Paxos到ZooKeeper》读书笔记之第一章(二)

    从Paxos到ZooKeeper 读书笔记之第一章 二 1 2从ACID到CAP BASE 这一节由三小节 从大家数值的数据库事务的四个特性 引出来分布式事务的概念 通过对ACID模型的讨论 提出如何构建一个兼顾可用性和一致性的分布式系统方
  • netty 无阻塞队列 MpscArrayQueue,一个字就是快

    netty提供了高效的线程安全的队列 MpscArrayQueue 一个字快 至于快的原因可以去查看相关的文章 内存的伪共享先关的内容 import static java lang Thread sleep import io netty
  • Eureka与Zookeeper的区别

    著名的CAP 理论指出 一个分布式系统不可能同时满足 C 一致性 A 可用性 和 P 分区容错性 由于分区容错性在是分布式系统中必须要保证的 因此我们只能在 A 和 C 之间进行权衡 在此 Zookeeper 保证的是 CP 而 Eurek
  • zookeeper看这一篇就够了

    第一章 zookeeper简介 第1节 zookeeper的由来 1 2 3 4 1 zookeeper最早起源于雅虎研究院的一个研究小组 2 在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调 并且这个系统还有单点问题 3
  • ZooKeeper的一些总结

    文章目录 前言 一 Zookeeper是什么 二 Zookeeper用来做什么 三 Zookeeper的优势是什么 四 为什么用zookeeper 五 zookeeper解决了什么问题 总结 前言 Zookeeper作为一个分布式协调服务
  • kafka + zookeeper下载/安装/使用(超详细)

    kafka是需要zk来支持 所以先下载zk 1 下载安装zookeeper 下载地址 选择不带source的 下载下来解压2次 进入到 D zookeeper apache zookeeper 3 6 1 bin conf 目录下 把zoo
  • zookeeper学习草稿纸

    指令重排序 https baijiahao baidu com s id 1701616903992143186 wfr spider for pc JVM JDK JRE 静态方法为什么不能调用非静态成员 重载和重写的区别 可变参数 基本
  • Centos7下安装Zookeeper

    一 配置java环境 1 安装JDK yum install y java 1 8 0 openjdk 2 查看版本 root zookeeper java version openjdk version 1 8 0 362 OpenJDK
  • 01-ZooKeeper快速入门

    1 Zookeeper概念 Zookeeper是Apache Hadoop项目下的一个子项目 是一个树形目录服务 zookeeper翻译过来就是 动物园管理员 它是用来管理Hadoop 大象 Hive 蜜蜂 Pig 小猪 的管理员 简称ZK
  • Nacos、ZooKeeper和Dubbo的区别

    Nacos ZooKeeper和Dubbo是三个不同的分布式系统组件 它们之间有以下几点区别 功能定位 Nacos主要提供服务发现 配置管理和服务治理等功能 而ZooKeeper主要是分布式协调服务 提供了分布式锁 分布式队列等原语 Dub
  • 【Docker安装部署Kafka+Zookeeper详细教程】

    Docker安装部署Kafka Zookeeper Docker拉取镜像 Docker拉取zookeeper的镜像 docker pull zookeeper Docker拉取kafka的镜像 docker pull wurstmeiste
  • Zookeeper(三)—分布式锁实现

    一 独占锁原理 独占锁是利用zk同一目录下不能创建多个相同名称的节点这个特性 来实现分布式锁的功能 竞争锁的分布式系统 都在zk根目录下创建一个名为lock的节点 创建节点成功的系统 说明抢到了这把锁 没有创建成功的系统 说明这个节点已经被
  • SpringCloud使用Zookeeper作为服务注册发现中心

    本篇文章主要记录SpringCloud使用Zookeeper作为服务注册发现中心 通过服务提供者和消费者为例 来真正掌握zk注册中心 目录 一 搭建服务提供者 1 创建cloud provider payment8004项目 2 修改配置

随机推荐

  • 【计算机视觉

    文章目录 一 Mask R CNN 二 Hybrid Task Cascade 三 Cascade Mask R CNN 四 Contour Proposal Network 五 GCNet 六 PANet 七 K Net 八 Center
  • Ubuntu安装“启动引导器”的设备选哪一项,选默认还是选/boot分区?

    如果你要用Ubuntu的引导器代替Windows的引导器 就选 dev sda 如果你要保留Windows的引导器 就选 boot分区 但这样一来 装完Ubuntu重启后 只能启动Windows 还必须在Windows上面安装Easybcd
  • 多元函数的泰勒展开公式

    泰勒定理 泰勒展开是一个很有趣的方法 应该大部分人都看过下面这么一条定理 泰勒定理 若函数f x 在闭区间 a b 上存在直至n阶的连续导函数 在开区间 a b 内存在 n 1 阶导函数 则对任意给定的 x x0 a b x x 0 a
  • CentOS 7系统安装配置图解教程

    操作系统 CentOS 7 3 备注 CentOS 7 x系列只有64位系统 没有32位 生产服务器建议安装CentOS 7 x86 64 Minimal 1611 iso版本 一 安装CentOS 7 3 成功引导系统后 会出现下面的界面
  • Zookeeper安装(服务注册与发现)

    第一步 先准备安装包 这里我推荐在Apache官网下载 Zookeeper下载地址 https archive apache org dist zookeeper zookeeper 3 6 1 https archive apache o
  • c++以空格分开的输入数组_C++处理输入字符串并转为数组的操作

    最近在做题的时候在处理输入时遇到一个令人头疼的问题 今天解决了和大家分享一下 比如题目要求的输入为一行数 数与数之间用空格间隔开 数的个数未知 数也有正有负 11 2 65 7 那么如何把这个输入保存到数组a中 且数组a中的值为a 0 11
  • 4G DTU

    4G DTU是一种可以将RS232 485采集的数据通过3G 4G发送到云端服务器进行数据交互的传输设备 实现串口设备的无线长距离数据传输 进而实现远程数据通信管理 主要应用在远程数据采集和远程控制项目 卓岚的4G DTU分为2种类型 1
  • vue中tree-transfer树形穿梭框的使用

    首先安装插件 npm install el tree transfer save 或者 npm i el tree transfer S 安装 效果图 代码
  • vue点击导航菜单,展示选中样式,菜单路由存在嵌套路由时也可以判断为当前路由

    采用计算属性监听跳转页面后url拼接的路由路径来判断是否在当前页面 包括解决嵌套路由带来的判断干扰 效果图 定义路由 router js import Vue from vue import VueRouter from vue route
  • 睿智的智能优化算法2——遗传算法的python实现

    睿智的智能优化算法2 遗传算法的python实现 什么是遗传算法 求解过程 整体代码分解 1 编码解码部分 2 求取适应度部分 3 自然选择部分 4 组合交叉 5 基因突变 实现代码 GITHUB下载连接 睿智的智能优化算法小课堂再次开课啦
  • LSM6DS3,SO, SPI

    一 LSM6DS3是ST的一款6轴力学传感器 3轴加速度 3轴陀螺仪 特别注意 后缀不一样 功能有很大不一样 有的有OIS功能 有的没有 LSB的意思是最小有效位 为数字输出方式 一般我们可以用mdps LSB来表示灵敏度 8 75 mdp
  • iOS开发Google Protocol Buffer 的解析封装(二)

    为此我封装了一个Google Protocol Buffer的网络解析方法 由于项目时间比较急 我没有写出更好的封装方法 我会继续创作 希望大家的鼓励与支持 PBHttpMethod h 的文件 import
  • Junit mockito 测试Controller层方法有Pageable异常

    1 问题 在使用MockMVC Mockito模拟Service层返回的时候 当我们在Controller层中参数方法调用有Pageable对象的时候 我们会发现 我们没办法生成一个Pageable的对象 会报一个Pageable是一个接口
  • C语言中宏的预编译控制语句#ifndefine、#define和#endif(总结)

    例如 ifndefine 这是 if not defined 的简写 是宏定义的一种 它是可以根据是否已经定义了一个变量来进行分支选择 一般用于调试等等 实际上确切的说这应该是预处理功能中三种 宏定义 文件包含和条件编译 中的第三种 条件编
  • smartGit安装和过期解决

    一 下载安装包 去百度下载 二 安装英文 第三点是中文版本的 2 1 exe安装 解压smartgit win 18 1 5 zip 点击smartgit64 exe安装 2 2 配置 2 3 用户配置 core autocrlf fals
  • python极简循环输出+break和continue

    目录 一 python极简输出 二 break和continue 一 python极简输出 如上图所示 上面只有一个错误答案 我们用排除法知道 错误的是答案B 但这里面有个有趣的答案C 就是 print languages i years
  • 【华为OD机试】查字典 (C++ Python Java)2023 B卷

    时间限制 C C 1秒 其他语言 2秒 空间限制 C C 262144K 其他语言524288K 64bit IO Format lld 语言限定 C clang11 C clang 11 Pascal fpc 3 0 2 Java jav
  • 人眼定位算法简单概述

    这篇博客只是总结一下人眼定位的方法 首先人眼定位效果是得到人眼的坐标 即瞳孔的坐标 大体来说人眼定位的方法有两种 第一种是利用人眼的几何特征 灰度特征等通过算法来实现定位 第二种要通过机器学习 其实opencv自带了瞳孔分类器 但我应用起来
  • 基于 python的MES管理系统

    一 项目简介 基于 python的MES管理系统 二 实现功能 支持多端 pc端 移动端 小程序 app 支持各种协议 modbus mqtt 支持接入各种数据源 内置数据计算服务 支持数据清洗 支持数据可视化 支持空间数据 支持门店数据
  • ZooKeeper的一个性能测试

    2011 07 15 18 07 00 3台ZooKeeper服务器 8核64位jdk1 6 log和snapshot放在不同磁盘 场景一 同一个目录下 先createEPHEMERALnode 再delete create和delete各