피드로 돌아가기
StarRocks 운영기: Resource Group으로 멀티테넌트 워크로드 격리하기
토스 기술블로그토스 기술블로그
Database

StarRocks 운영기: Resource Group으로 멀티테넌트 워크로드 격리하기

Resource Group 기반 CPU 격리로 서비스 SLA 및 워크로드 보호 체계 구축

2026년 4월 23일25advanced

Context

실시간 OLAP 엔진 StarRocks 도입 후 서비스 조회와 대규모 배치 쿼리가 단일 클러스터에 혼재된 환경 구성. 워크로드 간 리소스 경합으로 인한 서비스 쿼리 응답 시간 지연 및 SLA 준수 불능 문제 발생.

Technical Solution

  • 워크로드 중요도에 따른 4단계 분류(서비스 > 서버 배치 > 적재/백필 > 모니터링) 체계 수립
  • cpu_weight 설정을 통한 Linux CFS 기반 상대적 CPU 할당량 제어로 일반적인 리소스 경합 완화
  • 엄격한 SLA가 필요한 서비스 쿼리를 위해 exclusive_cpu_cores 기반 물리 코어 예약 및 하드 격리 적용
  • pthread_setaffinity_np를 통한 스레드 바인딩 및 Driver/Scan/ConnectorScan 전용 ThreadPool 분리 생성
  • AuditLoader 기반 pendingTimeMs 모니터링 및 Kafka 외부 적재를 통한 격리 동작 검증 체계 구축

- 기본적으로 cpu_weight를 적용하여 유휴 리소스 활용도를 높이고 경합 시 우선순위를 제어할 것 - Weight 조정만으로 SLA 만족이 불가능한 경우에 한해 exclusive_cpu_cores 도입을 검토할 것 - pendingTimeMs 지표를 통해 큐 대기 발생 여부를 상시 모니터링하여 격리 정책의 실효성을 검증할 것 - 이종 스펙 노드 추가 시 Resource Group 설정이 깨질 가능성을 고려하여 인프라 구성을 일치시킬 것

원문 읽기