Ubuntu下Zookeeper性能调优技巧
小樊
46
2025-08-07 19:14:01
硬件与操作系统优化
- 使用SSD硬盘:提升磁盘I/O性能,减少延迟。
- 分配足够CPU和内存:避免资源争用,建议内存≥4GB,CPU多核。
- 关闭交换分区:通过
vm.swappiness=0
减少内存与磁盘交换。
Zookeeper配置优化
- 调整核心参数:
tickTime
:心跳间隔,默认2000ms,可按需调整。
initLimit
/syncLimit
:初始化和同步超时时间,根据网络延迟调整。
maxClientCnxns
:限制客户端连接数,防止单点资源耗尽。
- 启用自动清理:
autopurge.snapRetainCount
(保留快照数)和autopurge.purgeInterval
(清理间隔)。
- 分离数据存储:将
dataDir
(快照)和dataLogDir
(事务日志)存于不同磁盘,减少写入竞争。
JVM参数优化
- 设置堆内存:
-Xms
和-Xmx
设为相同值(如4GB),避免动态扩展开销。
- 选择垃圾回收器:推荐G1GC(
-XX:+UseG1GC
),并设置最大GC暂停时间(如-XX:MaxGCPauseMillis=200
)。
集群与网络优化
- 增加节点数量:提升容错性和负载能力,建议奇数节点(如3/5节点)。
- 确保网络畅通:使用高速网络,减少节点间延迟,开放Zookeeper端口(2181、2888、3888)。
监控与维护
- 工具监控:使用Prometheus+Grafana监控QPS、延迟、CPU/内存使用率等指标。
- 定期清理日志:删除过期快照和事务日志,释放磁盘空间。