ZooKeeper测试
程序员文章站
2022-06-26 19:09:48
...
测试环境
测试版本
- java version "1.7.0_10" 64位
- zookeeper 3.4.5 xmx2G
zookeeper Server 3台
192.168.100.53 服务端口2181
192.168.100.54 服务端口2181
192.168.100.55 服务端口2181
64G内存,12核
功能测试
事件消费者
192.168.100.53
192.168.100.54
192.168.100.55
操作:监听到注册节点的事件做相应的操作。
事件生产者
192.168.100.53
操作:增加节点、删除节点、修改节点数据
测试Case:
- 通过zkServer.sh status命令查看zookeeper角色,停掉leader,zookeeper是可以正常工作,并且重新选举出一个leader。
- 通过zkServer.sh status命令查看zookeeper角色,停掉follower,zookeeper是可以正常工作。
- 停掉任意两台zookeeper Server,zookeeper不能正常工作。
- 最后一台监控zookeeper Server运行状态。zkServer.sh status
- 集群B长时间做增加节点、修改节点数据、删除节点操作,集群A能正常监听到B集群事件。
- 开始: 2013-04-03 20:00:00 结束: 2013-04-07 10:00:00 每次事件间隔:100ms 总事件次数:2932992
- 集群A中任意一台重新启动,重新注册到zookeeper集群,并能获取到,集群B最新节点信息。
性能测试
测试一
3个进程,一个进程开1个连接,50个线程,节点没有订阅
一个进程在一个zk节点下,先create EPHEMERAL node,再delete,create和delete各计一次更新。
DataSize(字节) | totalReq(万次) | totalTime(秒) | SuccReq(万次) | FailReq(万次) | avgSuccTPS(次/秒) | avgFailTPS(次/秒) |
255 | 600 | 1380 | 600 | 0 | 4346 | 0 |
510 | 600 | 1509 | 600 | 0 | 3976 | 0 |
1020 | 600 | 1536 | 600 | 0 | 3906 | 0 |
测试二
一个zk node下3个sub连接,1个pub
一个进程操作33个zk node,执行创建一个EPHEMERAL node,不删除
一共开启3个进程
DataSize(字节) | totalReq(万次) | totalTime(秒) | SuccReq(万次) | FailReq(万次) | avgSuccTPS(次/秒) | avgFailTPS(次/秒) |
255 | 19.8 | 83 | 19.8 | 0 | 2385 | 0 |
510 | 19.8 | 83 | 19.8 | 0 | 2385 | 0 |
1020 | 19.8 | 86 | 19.8 | 0 | 2302 | 0 |