zookeeper 性能问题分析

zookeeper 性能问题分析
1、服务启动时,zookeeper 信息

Initiating client connection, connectString=zk-svc:2181 sessionTimeout=60000 watcher=org.apache.curator.ConnectionState@508f2f3b

zookeeper-02-establish-connection-sessiontime

这里的sessionTimeout 是客户端连接zookeeper 服务端的时候,客户端设置 timeout 为 60000

默认是30000

zookeeper-05-client-timeout

2 建立连接后的协商超时时间 negotiated timeout = 40000

2019-07-26 10:13:58,976 INFO (ClientCnxn.java:1299)- Session establishment complete on server zk-2.zk-svc.incloud.svc.cluster.local/10.233.88.154:2181, sessionid = 0x36c1354aabf0345, negotiated timeout = 40000

这个数出处是 /opt/zookeeper/conf/zoo.cfg 中的 maxSessionTimeout = 40000

zookeeper 默认 ticketTime 是3000,如果没有设置session最大最小时间的话,默认 session最大超时时间为 tickTime 的20倍

zookeeper-negotiated timeout 60000

icm的zookeeper 容器中设置了心跳时间和session的最大最小值

则 negotiated timeout = 40000

zookeeper-negotiated timeout 40000

3 zookeeper 日志中大量的ruok

2019-07-25 09:29:11,837 [myid:1] - INFO [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@883] - Processing ruok command from /127.0.0.1:40006

2019-07-25 09:29:11,837 [myid:1] - INFO [Thread-70950:NIOServerCnxn@1044] - Closed socket connection for client

ruok 这个命令是 测试服务是否处于正确状态。如果确实如此,那么服务返回 imok ,否则不做任何响应。

zookeeper-01-ruok

断开连接是因为没有客户端连接这个端口,检测不到sessonId,就会关闭

zookeeper-03-Closed socket connection for client

*正常的客户端连接服务端的时候,会自动注册sessionId

zookeeper-06-sessionId

4、验证 server端强制关闭,再次启动的情况

client情况如下,自动重连

zookeeper-07-server-restart-client-info

服务端情况

zookeeper-08-server-stop-start-info

服务端中的 sessionId 保持不变

原文地址:https://www.cnblogs.com/fb010001/p/11302936.html