728x90
반응형
리소스 제어가 중요한 이유
MySQL 8.0에서는 리소스 그룹(Resource Group) 기능을 통해 쿼리 실행에 사용하는 CPU 자원을 제어할 수 있습니다. ALTER RESOURCE GROUP 문은 이 리소스 그룹을 동적으로 수정할 수 있는 핵심 명령어입니다. 특히 고성능 OLTP 시스템이나 멀티 테넌시 환경에서 유용하게 쓰입니다.
1. ALTER RESOURCE GROUP이란?
ALTER RESOURCE GROUP 문은 기존 리소스 그룹의 설정을 변경하는 명령어입니다. 일반적으로는 스레드 실행을 허용할 CPU(core) 리스트를 변경하거나 활성화 상태를 제어하는 데 사용됩니다.
기본 구문 예시:
ALTER RESOURCE GROUP rg_readonly VCPU 1,2,3;
이 명령은 rg_readonly 그룹에 속한 스레드가 CPU 1, 2, 3번만 사용할 수 있도록 제한합니다.
2. 주요 옵션 설명
- VCPU: 가상 CPU(Core) 번호를 지정합니다. 예: VCPU 0-3,5
- THREAD_PRIORITY: 스레드 우선순위를 설정합니다 (HIGH | MEDIUM | LOW). (MySQL 8.0.14 이상 지원)
- ENABLE | DISABLE: 그룹의 활성화 여부를 제어합니다.
ALTER RESOURCE GROUP rg_analytics ENABLE;
ALTER RESOURCE GROUP rg_background THREAD_PRIORITY LOW;
3. 제약사항과 권한
- RESOURCE_GROUP_ADMIN 권한이 있어야 ALTER RESOURCE GROUP을 사용할 수 있습니다.
- 리소스 그룹은 서버가 실행 중일 때도 수정이 가능하지만, 현재 사용 중인 스레드에는 즉시 반영되지 않을 수 있습니다.
- VCPU 번호는 OS가 MySQL에 제공하는 CPU 번호에 기반하므로, 정확한 매핑을 확인하려면 performance_schema.resource_groups 테이블을 참조하세요.
4. 실무 활용 시나리오
- 보고서 전용 그룹: CPU 4~7번에 제한된 rg_report 그룹을 만들어 비즈니스 인텔리전스 쿼리를 이곳에 배치.
- 배경 작업 그룹: rg_background를 만들어 낮은 우선순위로 스케줄된 작업 수행.
- 동적 조정: 트래픽 변화에 따라 특정 그룹의 CPU 범위를 실시간으로 변경해 성능 최적화.
결론 및 실무 팁
ALTER RESOURCE GROUP은 MySQL에서 리소스 제어를 동적으로 수행할 수 있는 강력한 기능입니다. 복잡한 워크로드 환경에서는 이 기능을 활용해 성능을 미세하게 조정할 수 있습니다.
실무 팁:
- VCPU 번호를 정확히 확인하려면 performance_schema를 활용하세요.
- 실시간 리소스 조정이 필요한 경우를 대비해 자동화 스크립트를 준비해두세요.
- 우선순위 설정(THREAD_PRIORITY)은 백그라운드 처리 최적화에 효과적입니다.
공식 문서 링크
728x90
반응형
'SQL > MYSQL' 카테고리의 다른 글
| [MySQL] ANALYZE TABLE 문 완벽 가이드: 통계 최적화의 핵심 (0) | 2025.06.16 |
|---|---|
| [MySQL] 개발자를 위한 SET RESOURCE GROUP 문 사용법 및 CPU 관리 방식 (0) | 2025.06.16 |
| [MySQL] DROP RESOURCE GROUP 문: 불필요한 리소스 그룹 안전하게 삭제하기 (0) | 2025.06.15 |
| [MySQL] CREATE RESOURCE GROUP 문 가이드: 리소스 최적화를 위한 시작점 (0) | 2025.06.15 |
| [MySQL] SET ROLE 문 완벽 이해: 동적 권한 제어의 핵심 기능 (0) | 2025.06.14 |
| [MySQL] SET PASSWORD 문 완벽 가이드: 안전한 비밀번호 관리를 위한 필수 지식 (3) | 2025.06.13 |
| [MySQL] SET DEFAULT ROLE 문 완전 정복: 사용자 권한 관리의 핵심 (0) | 2025.06.13 |
| [MySQL] REVOKE 사용 방법 및 예시 (0) | 2025.03.31 |