zookeeper压力测试:性能对比(3个节点,5个节点,7个节点 创建节点、删除节点、设置节点数据、读取节点数据性能及并发性能)

测试结果如下:

五次测试三节点结果:

创建100W节点用时:15.0秒。  66'666/s

删除100W节点用时:13.8秒。  72'500/s

设置100W节点用时:90.0秒。  11'111/s

读取100W节点用时:50.5秒。  20'000/s

五次测试五节点结果:

创建100W节点用时:15.5秒。

删除100W节点用时:14.4秒。

设置100W节点用时:93.4秒。

读取100W节点用时:50.6秒。

五次测试七节点结果:

创建100W节点用时:15.3秒。

删除100W节点用时:14.0秒。

设置100W节点用时:95.4秒。

读取100W节点用时:50.5秒。

测试性能对比结果

ZooKeeper 在此次测试中, 3节点、5节点、7节点并没有特别大的差异。 显示了 ZooKeeper 的稳定性。非常适用于做大数据协调服务。

 
 

Watcher 压力测试:高并发下,watcher的数据是否丢失

测试结果如下:(红色监听其实为 Client 的创建删除的 watch 通知速度。这么慢是因为 1等待client 关闭,2 产生watch 3 watch通知)

五次测试三节点结果:

删除1000节点watch用时:5.6 秒,全部成功到达。

设置1000节点用时:5.6 秒,全部成功到达。

创建1000节点用时:5.6 秒,全部成功到达。

 

五次测试五节点结果:

删除1000节点watch用时:5.5 秒,全部成功到达。

设置1000节点用时:5.8 秒,全部成功到达。

创建1000节点用时:5.8 秒,全部成功到达。

 

五次测试七节点结果:

删除1000节点watch用时:5.4 秒,全部成功到达。

设置1000节点用时:5.5 秒,全部成功到达。

创建1000节点用时:5.9 秒,全部成功到达。

Watcher 分布式监听锁:高并发下,watcher 锁的效率

测试结果如下 10W级别

抢占锁:  23毫秒左右一个
链式监听 :  13 毫秒一个(过快的请求将会导致失败锁,失败锁将重新排队。 如果请求再快。如(13毫秒以下时  越小锁失败越高 且大量浪费资源。)
 

测试性能对比结果

Watcher测试中 3节点、5节点、7节点并没有特别大的差异。这都得益于 Watcher 通知的轻量特性。

 
 

zookeeper 性能测试的更多相关文章

  1. zookeeper节点数与watch的性能测试

    zookeeper中节点数量理论上仅受限于内存,但一个节点下的子节点数量受限于request/response 1M数据 (size of data / number of znodes) zooke ...

  2. 基于dubbo框架下的RPC通讯协议性能测试

    一.前言 Dubbo RPC服务框架支持丰富的传输协议.序列化方式等通讯相关的配置和扩展.dubbo执行一次RPC请求的过程大致如下:消费者(Consumer)向注册中心(Registry)执行RPC ...

  3. 通过dubbo暴露接口调用方法,及基于zookeeper的dubbo涉及配置文件

    现在很流行的Dubbo很多朋友都听说过吧,最近我也在看这方面的东西,分享先我的心得笔记. 先说说我们团队要做的项目框架,很简单重在实现基于zookeeper的dubbo注册. 框架:springmvc ...

  4. zookeeper运维 --【】转】

     from:http://blog.csdn.net/hengyunabc/article/details/19006911  zookeeper运维 尽管zookeeper在编程上有很多的阱陷,AP ...

  5. ZooKeeper入门

    ZooKeeper简介 ZooKeeper是一个构建在Paxos算法上的高可用的分布式数据管理与系统协调框架,提供了一系列原语集,更上层的应用可以用它来实现同步,配置管理,名称服务,Master选举, ...

  6. Kafka性能测试实例

    1.概述 在分布式实时数据流场景下,随着数据量的增长,对Kafka集群的性能和稳定性的要求也很高.本篇博客将从生产者和消费者两方面来做性能测试,针对具体的业务和数据量,来调优Kafka集群. 2.内容 ...

  7. 性能测试Jmeter压测ZooKeeper-自定义java请求

     要想通过自定义java请求来压测ZooKeeper,那么我们就需要做两件事情,第一我们需要知道java如何操作ZooKeeper,第二就是怎么能将我们写的jar包让jmeter识别,首先我们先来干第 ...

  8. ZooKeeper: 简介, 配置及运维指南

    1. 概览 ZooKeeper是一个供其它分布式应用程序使用的软件, 它为其它分布式应用程序提供所谓的协调服务. 所谓的协调服务, 是指ZooKeeper的如下能力 naming 命名 configu ...

  9. 基于zookeeper的高可用Hadoop HA集群安装

    (1)hadoop2.7.1源码编译 http://aperise.iteye.com/blog/2246856 (2)hadoop2.7.1安装准备 http://aperise.iteye.com ...

随机推荐

  1. LastIndexOf干什么用的

    LastIndexOf的作用是对字符串进行从后往前的检索,找到第一个匹配的位置.比如对字符串“abcdbcd”执行lastindexof("bc")操作,得到的结果是4:4是从前往 ...

  2. jquery获取焦点和失去焦点

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  3. STM8S103之GPIO

    如何快速了解GPIO,查看Reference manual中GPIO章节,初步了解到GPIO GPIO输入分为:Floating Input和Input with pull-up GPIO输出分为:O ...

  4. vmware workstation中的NAT配置

    宿主机:win10: IP:192.168.1.101 GW:192.168.1.1 以太网2(VMNET8) IP:192.168.100.1 GW:nonevmware中的虚拟网络设置(NAT): ...

  5. SpringCloud学习笔记(13)----Spring Cloud Netflix之Hystrix断路器的隔离策略

    说明 : 1.Hystrix通过舱壁模式来隔离限制依赖的并发量和阻塞扩散 2. Hystrix提供了两种隔离策略:线程池(THREAD)和信号量隔离SEMAPHORE). 1. 线程池隔离(默认策略模 ...

  6. 浅谈 MySQL的外键的作用

    MySQL中外键的介绍: MySQL外键必须使用存储引擎为  innDB  其中MySAM 和MEMORYH这两种引擎不支持 由数据库自身保证数据一致性,完整性,更可靠,因为程序很难100%保证数据的 ...

  7. Springboot+swagger2的接口文档开发

    一.创建一个SpringBoot项目 1. 2. 3. 4. 把web里的web选中,SQL里选择自己需要的,点击next 二.创建各项所需的controller,configure等 1. 项目布局 ...

  8. Mysql学习总结(29)——MySQL中CHAR和VARCHAR

    MySQL数据库的字符(串)类不要以为字符类型就是CHAR,CHAR和VARCHAR的区别在于CHAR是固定长度,只要你定义一个字段是CHAR(10),那么不论你存储的数据是否达到了10个字节,它都要 ...

  9. android仿最新版本号微信相冊--附源代码

    更改排版为 markdown: http://blog.csdn.net/self_study/article/details/69397859

  10. Datazen图表创建和公布

     Datazen是被微软收购的移动端全平台的数据展现解决方式.此篇主要介绍怎样创建和公布图表. 如前面介绍,Datazen图表的创建和公布是通过Publisher的应用,它是Windows 8应用 ...