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 保持不變


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM