目录

1.背景

2.环境

3.环境搭建

1)ZooKeeper的安装

2)zk_smoketest的安装

4.测试

5.参考文档


1.背景

近期对ZooKeeper做了一个简单的性能测试

2.环境

操作系统:CentOS7.8

Zookeeper:v3.6.3(docker镜像部署、集群)

3.环境搭建

1)ZooKeeper的安装

1.如果是单独部署,可以直接在官网下载适合的版本:http://archive.apache.org/dist/zookeeper/

安装的过程比较简单,这里不再多废话了。

2.采用容器化方式部署的话,需要拉去Docker镜像。这里是在k8s的基础上,采用statefulset方式进行集群方式部署的。具体步骤较为复杂,需要有一定容器技术基础,因为不是这里的重点,所以,也没有过多叙述。

2)zk_smoketest的安装

1.在使用zk-smoketest之前,需要先安装一些依赖包。https://github.com/phunt/zk-smoketest

1)官网的python-dev是Ubuntu中的lib,在CentOS中为python-devel

2)安装zkpython。https://pypi.org/project/zkpython/#files

2.解压zk-smoketest即可

4.测试

官网中采用Ubuntu的OS,因此使用的lib是lib.linux-i686-2.6。而在CentOS中的命令如下:

PYTHONPATH=lib.linux-x86_64-2.6 LD_LIBRARY_PATH=lib.linux-x86_64-2.6 ./zk-latencies.py --servers "host1:port,host2:port,host3:port" --znode_count=100 --znode_size=100 --synchronous --watch_multiple=10000
  • --servers:由于是集群环境,因此这里host分别为3个节点的IP地址,端口统一为ZooKeeper缺省端口2181
  • --znode_count:节点数量
  • --znode_size:节点大小。单位为bytes
  • --watch_multiple:watch数量

节点的数量、大小和watch的数量,对zookeeper的读写性能都会有一定的影响。

5.参考文档

## 安装

https://www.cnblogs.com/jimcsharp/p/8358271.html -- zk安装

https://hub.docker.com/_/zookeeper?tab=description -- zk的docker镜像及参数介绍

https://blog.csdn.net/weixin_33895604/article/details/92084843 -- zk和zk_smoketest安装步骤参考

http://www.linuxidc.com/Linux/2016-01/127429.htm -- zk_smoketest安装参考

https://github.com/kevinlynx/zk-benchmark -- zk_benchmark

### 原理

https://zookeeper.apache.org/doc/r3.5.7/zookeeperOver.html#zkPerfRW -- zk原理介绍(英文)

https://www.cnblogs.com/niejunlei/p/5980875.html -- zk原理介绍(中文)

https://www.iteye.com/blog/shift-alt-ctrl-1847320 -- Zookeeper-Watcher机制与异步调用原理

### 配置和常用命令

https://blog.csdn.net/qq_34412985/article/details/86750859 -- zk的配置zoo.conf中的部分参数说明

https://blog.csdn.net/zero__007/article/details/81090194 -- nc命令获取zookeeper信息

https://blog.csdn.net/u012516524/article/details/84287795 -- Zookeeper常用命令

https://blog.csdn.net/qq_25805331/article/details/117259845 -- zookeeper——监控命令详解

https://blog.csdn.net/qq_34412985/article/details/86750859 -- zookeeper配置文件详解及log日志文件

https://blog.csdn.net/sinat_33201781/article/details/81872917  -- zookeeper日志查看

### 测试

https://blog.csdn.net/kevinlynx/article/details/39455869 -- zookeeper节点数与watch的性能测试

https://cloud.tencent.com/developer/article/1516691 -- 关于zookeeper写入数据超过1M大小的踩坑记

https://blog.csdn.net/Flood_Dragon/article/details/37874631 -- 如何提高zookeeper每个结点所能存储的数据大小

https://www.cnblogs.com/liwutao/p/11907077.html -- zookeeper write ahead log 导致集群节点断连

https://blog.csdn.net/xjping0794/article/details/77784171 -- zookeeper频繁异常问题分析

https://www.cnblogs.com/leixiaobai/p/10245991.html -- 使用java开发zk测试代码,结合jmeter进行压力测试

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐