代码改变世界

zookeeper 性能问题分析

  方斌  阅读(4258)  评论(0编辑  收藏  举报
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 保持不变

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示