zookeeper 性能問題分析

zookeeper 性能問題分析
一、服務啓動時,zookeeper 信息

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

zookeeper-02-establish-connection-sessiontime

這裏的sessionTimeout 是客戶端鏈接zookeeper 服務端的時候,客戶端設置 timeout 爲 60000apache

默認是30000session

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 = 40000socket

這個數出處是 /opt/zookeeper/conf/zoo.cfg 中的 maxSessionTimeout = 40000性能

zookeeper 默認 ticketTime 是3000,若是沒有設置session最大最小時間的話,默認 session最大超時時間爲 tickTime 的20倍測試

zookeeper-negotiated timeout 60000

icm的zookeeper 容器中設置了心跳時間和session的最大最小值spa

則 negotiated timeout = 40000rest

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 clientserver

ruok 這個命令是 測試服務是否處於正確狀態。若是確實如此,那麼服務返回 imok ,不然不作任何響應。

zookeeper-01-ruok

斷開鏈接是由於沒有客戶端鏈接這個端口,檢測不到sessonId,就會關閉

zookeeper-03-Closed socket connection for client

*正常的客戶端鏈接服務端的時候,會自動註冊sessionId

zookeeper-06-sessionId

四、驗證 server端強制關閉,再次啓動的狀況

client狀況以下,自動重連

zookeeper-07-server-restart-client-info

服務端狀況

zookeeper-08-server-stop-start-info

服務端中的 sessionId 保持不變

相關文章
相關標籤/搜索