핵심 요약
타다의 HBase 설정 최적화 사례로 OLTP/OLAP 운영에서 성능과 안정성을 개선한 경험을 공유합니다.
주요 경험
- Regionserver 핸들러 수를 10→100으로 늘려 약 2배의 Throughput 향상
- hfile.block.cache.size 0.2, memstore.upperLimit 0.3으로 히트율과 메모리 사용의 균형 조정
- tcpnodelay를 true로 설정해 Get/Put 지연을 현저히 감소
- HBASE_HEAPSIZE 60GB 및 CMS GC로 STW GC를 최소화
- Major Compaction을 오프피크에 수동 실행 및 hregion.max.filesize를 10GB로 확장
- memstore.block.multiplier 8로 구성
- dfs.datanode.balance.bandwidthPerSec를 10MB/s로 증설 및 namenode.heartbeat.recheck-interval을 15000ms로 조정
- Read short-circuit 활성화 및 Bloom filter 비활성화
얻은 인사이트
- STW GC를 줄이면 전반적 응답성이 크게 향상되는 것을 확인
- 대용량 힙에서 적절한 캐시 vs memstore 비율이 읽기 성능에 결정적
- Read short-circuit 및 TCP 최적화가 지연 감소에 크게 기여