列族系列 · 第 07 篇——调优实战:内存、压缩与监控

发布时间:2026/9/29 9:41:12
列族系列 · 第 07 篇——调优实战:内存、压缩与监控 把列族集群的性能与稳定性调到最佳目 录一、导读二、JVM 与内存调优2.1 Cassandra 堆内存2.2 HBase RegionServer 内存划分2.3 原则三、写入与压缩调优3.1 批量写入3.2 压缩Compaction3.3 合理利用 TTL四、压测与监控体系4.1 压测cassandra-stress4.2 nodetool 巡检4.3 全链路监控五、系统层调优六、本篇小结一、导读前几讲解决了「能跑、能高可用、能避坑」本讲聚焦「跑得快、看得清、扛得住」从 JVM 与内存、写入与压缩、监控体系到系统层调优把调优方法论落到可执行的命令与指标上。二、JVM 与内存调优2.1 Cassandra 堆内存Cassandra 性能高度依赖 JVM 配置堆内存默认按 min(1/2 内存, 上限) 计算生产建议显式设置并配合 G1 GCG1 不需要单独设新生代# conf/cassandra-env.shMAX_HEAP_SIZE16GHEAP_NEWSIZE4G # 用 CMS 时设置G1 无需设置# JVM 关键参数-XX:AlwaysPreTouch-XX:HeapDumpOnOutOfMemoryError-XX:UseTLAB2.2 HBase RegionServer 内存划分HBase 把 RegionServer 堆内内存划分为写缓存MemStore与读缓存BlockCache分配不合理会互相挤占# hbase-site.xmlMemStore 与 BlockCache 各占约 40%hbase.regionserver.global.memstore.size0.4hbase.regionserver.blockcache.size0.42.3 原则内存过小触发频繁 GC过大堆增加 Full GC 停顿。按读写比例调整 MemStore 与 BlockCache写多调大 MemStore读多调大 BlockCache。三、写入与压缩调优3.1 批量写入用批量写Batch或并发写入提升吞吐配合合理的一致性级别ONE / QUORUM / ALL在可用性与一致性间取舍// CQL 批量写入BEGIN BATCHINSERT INTO logs (ts, level, msg) VALUES (..., info, a);INSERT INTO logs (ts, level, msg) VALUES (..., warn, b);APPLY BATCH;3.2 压缩Compaction压缩合并 SSTable、清理墓碑与重复数据、回收磁盘是保持读性能的关键。运行节点数据多 / 墓碑多时及时触发或规划压缩bin/nodetool compact keyspace table # 触发指定表压缩bin/nodetool flush # 把内存表刷到 SSTable3.3 合理利用 TTL对有时效的数据日志、时序设 TTL让数据到期自动清理避免无限增长占用磁盘与墓碑堆积。四、压测与监控体系4.1 压测cassandra-stressCassandra 自带 cassandra-stress 压力测试工具可模拟指定模型的读写压测cassandra-stress write n1000000 -rate threads50# 在独立客户端运行观察吞吐与延迟4.2 nodetool 巡检命令作用nodetool status节点状态UN / DNnodetool info内存、负载、分区数nodetool tpstats线程池与队列看堆积nodetool repair反熵修复副本nodetool cleanup清理不再属于本节点的数据4.3 全链路监控生产推荐 Prometheus GrafanaCassandra 通过 JMX AgentDatastax MCAC默认抓取端口 9103暴露指标Prometheus 抓取、Grafana 绘制大盘并告警HBase 可用 Ambari / Grafana 大盘与 hbase shell 查看 Region 分布与负载。节点状态node up / down、复制延迟。负载读 / 写吞吐、线程池队列、GC 停顿。存储数据量、磁盘占用、压缩进度。五、系统层调优方向手段说明内存vm.swappiness0避免频繁换页影响性能句柄ulimit -n 65535防止文件句柄不足存储SSD 合理 IO 调度器SSD 用 noop机械盘用 deadline网络调大 TCP 缓冲提升节点间复制吞吐写入批量 / 并发写减少往返提升吞吐RegionHBase 预分区 合理 max.filesize避免单 Region 过大六、本篇小结调优是一套「先量化 → 再优化 → 后验证」的方法论JVM 与内存看堆配置与缓存划分写入靠批量与压缩监控靠 nodetool / cassandra-stress / Prometheus 组合。调优目标是让列族集群稳定、可控、可观测。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询