12.7 스토리지와 Cluster 튜닝
스토리지와 Cluster 튜닝은 워크로드 측정, 장애 복구 목표, 노드별 자원 사용량을 근거로 진행합니다. 고정 하드웨어 사양이나 임의의 설정 속성 값을 모든 환경에 적용하지 않습니다.
스토리지와 체크포인트
다음 항목을 같은 시각 범위에서 비교합니다.
- 입력 rows/s와 서버 처리 응답 지연
- 쿼리 응답 시간과 읽기량
- 장치별 IOPS, 처리량, 대기열, 지연 시간
- 체크포인트 시작·종료와 소요 시간
- 메모리·swap 변화
- 장애 후 허용 가능한 복구 시간
iostat -x 1 5
df -h체크포인트 간격과 I/O 관련 설정 속성은 현재값을 설정 레퍼런스에서 확인합니다. 한 번에 하나만 변경하고, 재시작 필요 여부와 롤백 값을 기록합니다.
경로와 용량
- 데이터, 백업, 내보내기 경로의 소유권과 여유 공간을 확인합니다.
- 같은 물리 장치에 경로를 나눴다는 이유만으로 I/O가 분산된다고 가정하지 않습니다.
- 운영 중 데이터 파일을 수동 이동하지 않습니다.
- 보존 정책과 백업 공간 증가를 함께 계산합니다.
- 파일 시스템·마운트 옵션 변경은 지원 범위와 복구 절차를 검증합니다.
오래된 데이터는 내부 파티션 테이블 이름을 직접 찾아 삭제하지 않습니다. 테이블 타입별
DELETE ... BEFORE, 보존 정책, 백업 정책 등 공개 SQL과 운영 기능을 사용합니다.
Cluster 측정
클라이언트, Broker, Warehouse, Coordinator의 지표를 분리해 봅니다.
| 구간 | 확인 |
|---|---|
| 클라이언트 → Broker | 연결, 왕복 통신, 배치 크기 |
| Broker | 세션, 라우팅, CPU·네트워크 |
| Warehouse | 노드별 입력·쿼리·디스크 편차 |
| 노드 간 통신 | 대역폭, 패킷 손실, 지연 시간 |
| Coordinator | 노드 상태와 disk-full 정책 |
특정 노드에 부하가 몰리면 tag·키 분포, 라우팅, warehouse 그룹, 노드별 스토리지와
네트워크를 함께 확인합니다. TAG_PARTITION_COUNT를 cluster 노드 분산 제어값으로
사용하지 않습니다.
설정 변경 원칙
- 이름, 허용 범위, 기본값은 설치된 버전의 설정 레퍼런스에서 확인합니다.
- 임의의 추천 숫자보다 현재 기준값과 목표를 기록합니다.
- 버퍼를 키울 때 처리량뿐 아니라 메모리와 상위 지연 시간을 측정합니다.
- 복제 관련 값을 바꾸기 전에 정상·장애 복구 시간을 모두 비교합니다.
- disk-full 상·하한에는 hysteresis를 두고 실제 증설·정리 절차와 연결합니다.
- 에디션별 미지원 기능은 지원 범위에서 확인합니다.
변경 체크리스트
- 노드와 구간별 병목 근거가 있는가
- 설정 현재값과 출처를 기록했는가
- 검증 환경에서 정상·장애 시나리오를 측정했는가
- 노드별 배포 순서와 재시작 필요 여부를 확인했는가
- 결과가 나쁘면 되돌릴 값과 절차가 있는가
- 변경 후 백업·복구 검증까지 수행했는가
최근 업데이트