2020년 10월 5일 월요일

Resource group에 대하여

MySQL 8.0 신기능인 Resource group에 대하여 알아보자.

Resource group이란
Mysql thread가 사용할 수 있는 서버 리소스에 제한을 걸 수 있는 기능이다
장기간 실행되는 트랜잭션, 다른 처리를 CPU의 코어에 할당해서 처리량을 안정시키는 의도로 이용한다.

Resource group생성
생성하기 위해서는 RESOURCE_GROUP_ADMIN권한이 필요하다.
배치 작업에서 사용할 그룹을 만들어보자

mysql> CREATE RESOURCE GROUP Batch
TYPE = USER
VCPU = 0
THREAD_PRIORITY = 10;

TYPE은 user, system user로 나눠이지고
VCPU는 CPU 코어의 스레드 번호
THREAD_PRIORITY는 처리 우선순위이다.
* THREAD_PRIORITY를 설정하기 위해서는 CPS_SYS_NICE capability설정이 필요하다.

$ sudo setcap cap_sys_nice+ep /sbin/mysqld
$ getcap /sbin/mysqld
/sbin/mysqld = cap_sys_nice+ep

Resource group할당
할당하기 위해서는 RESOURCE_GROUP_ADMIN 또는 RESOURCE_GROUP_USER권한이 필요하다.

# 현재 접속해있는 스레드에 리소스 그룹 적용
mysql> SET RESOURCE GROUP Batch;

# Thread id를 지정해서 적용
mysql> SET RESOURCE GROUP Batch for 93;

Batch리스소 그룹은 VCPU=0이기 때문에 0번 째 코어만 사용하는 걸 확인할 수 있다.

$ mpstat 1 -P ALL : 10:34:40 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle
10:34:41 all 41.33 0.00 11.22 0.00 0.00 3.06 0.51 0.00 0.00 43.88 10:34:41 0 76.77 0.00 18.18 0.00 0.00 4.04 1.01 0.00 0.00 0.00 10:34:41 1 4.17 0.00 5.21 0.00 0.00 1.04 0.00 0.00 0.00 89.58 10:34:41 CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 10:34:42 all 41.75 0.00 11.86 0.00 0.00 2.58 0.00 0.00 0.00 43.81 10:34:42 0 77.23 0.00 17.82 0.00 0.00 4.95 0.00 0.00 0.00 0.00 10:34:42 1 4.21 0.00 5.26 0.00 0.00 1.05 0.00 0.00 0.00 89.47

Resource group변경
변경한 내용은 리스소 그룹에 속해 있는 스레드에 즉시 반영된다.

# Batch리소스 그룹이 사용할 CPU코어를 1번 째로 변경
mysql> ALTER RESOURCE GROUP Batch VCPU = 1;

# 유저에게 할당되어 있는 리소스 그룹을 무효화 시키는 명령어
mysql> ALTER RESOURCE GROUP Batch DISABLE FORCE;
(Batch 리소스 그룹에 속해 있는 스레드는 Default 리소스 그룹으로 변경된다)

# 리소스 그룹을 유효화 시키는 명령어
mysql> ALTER RESOURCE GROUP Batch ENABLE;

Resource group삭제

# Batch 리소스 그룹을 사용 중인 스레드가 있으면 삭제 불가능
mysql> DROP RESOURCE GROUP Batch;
ERROR 3656 (HY000): Resource group Batch is busy.

# 위의 경우를 무시하고 강제로 삭제하는 방법 mysql> DROP RESOURCE GROUP Batch FORCE;

# Refer
https://dev.mysql.com/doc/refman/8.0/en/resource-groups.html

댓글 없음:

댓글 쓰기

결혼이민비자 신청방법(F-6-1 국민의 배우자)

 제가 일본인 여자친구와 결혼 후, 한국에 귀국하기 위해 신청한 결혼이민비자에 대하여 작성해보도록 하겠습니다. 필자는 일본에서 근무하고 있었으며, 한국에서의 소득은 없었습니다. 결혼이민비자를 신청한 날짜는 2021-04-21 이며, 사증이 발급된 날짜...