AWS EBS 저장장치 버스트 잔고 관리 (gp2 vs gp3)
- RDS mysql 데이터 베이스나 EC2 웹서버 리눅스 속도가 갑자기 느려진 경우 대처 방법
- EBS Storage 읽기 쓰기 속도 저하 해결 방법
* Burst Balance (버스트 밸런스, 파열 잔고)
- 파열(버스트)까지 남은 잔고,
- 파열 상태 되면 거의 서비스 불능 상태가 됨
* 버스트 상태 대책
- 스왑파일이 생성돼 있으면 메모리를 증가
- 순수 입출력이 많으면 디스크 크기를 증가
- 1GB당 3 IOPS 증가
- 1TB이상이면 버스트 없음(제한 안걸림) - 하지만 가격이 월 14만원
//------------------------
범용 SSD 볼륨(gp2)
I/O 크레딧 및 버스트 성능
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-volume-types.html#EBSVolumeTypes_gp2
볼륨 크기(GiB) | 기준 성능(IOPS) | 지속적으로 3,000 IOPS(초) 구동 시 버스트 지속 시간 | IO 구동이 없을 시 빈 크레딧 밸런스를 채우는데 소요되는 시간(초) | 가격(원) (gp2, 월 0.114USD) |
1 | 100 | 1,802 | 54,000 | 138 |
20 | 100 | 2,758 | ||
100 | 300 | 2,000 | 18,000 | 13,792 |
200 | 600 | 27,584 | ||
250 | 750 | 2,400 | 7,200 | 34,480 |
334(최대 처리량에 대한 최소 크기) | 1,002 | 2,703 | 5,389 | 46,065 |
500 | 1,500 | 3,600 | 3,600 | 68,960 |
750 | 2,250 | 7,200 | 2,400 | 103,440 |
1,000 | 3,000 | 해당 사항 없음* | 해당 사항 없음* | 137,920 |
5,334(최대 IOPS에 대한 최소 크기) | 16,000 | 해당 사항 없음* | 해당 사항 없음* | 735,665 |
16,384(16TiB, 최대 볼륨 크기) | 16,000 | 해당 사항 없음* | 해당 사항 없음* | 2,259,681 |
//-----------------------------------------------------------------------------
* 용량별 IOPS 계산 방법
GiB당 3 IOPS 기준, 최소 100 IOPS, 3000 IOPS로 버스트 가능
- 10G = 100 IOPS
- 30G = 100 IOPS (최소)
- 50G = 150 IOPS
- 100G = 300 IOPS
- 200G = 600 IOPS
- 500G = 1,500 IOPS
- 1,000G = 3,000 IOPS
- 5,334G = 16,000 IOPS (최대)
//-------------------------------------
IOPS(Input/Output Operations Per Second) : 시간당 사용량
IOPS 에 따른 속도
볼륨당 최대 IOPS(16KiB I/O)
gp2 속도는 볼륨 크기에 따라 128MiB/s~250 MiB/s
gp3 에서 1,000MiB/s의 최대 처리량을 달성하려면 볼륨을 64,000 IOPS로 프로비저닝하고 Nitro System에 구축된 인스턴스에 연결해야 합니다
//-----------------------------------------------------------------------------
* 디스크 속도 실제 측정결과
20G = 170MB/s
- 참고 : 디스크 속도 측정 방법
$ lsblk -o NAME,PATH,MODEL,VENDOR,SIZE,FSUSED,FSUSE%,TYPE,MOUNTPOINT
$ sudo hdparm -Tt /dev/nvme0n1p1
//-----------------------------------------------------------------------------
// gp2 vs gp3 가격 비교
gp3가 더 저렴하고 빠름
RDS 에서는 gp3에서 속도 조절 설정을 하려면 용량을 400GB 이상으로 설정해야 한다.
//-------------------------------------
- EC2, EBS
IOPS : 3000 ~ 16000
속도(MB/s) : 125 ~ 1000
- RDS - gp3, 용량 400GB 이상시 설정 가능
IOPS : 12000 ~ 64000
- IOPS 대 GiB 비율은 0~500
속도(MB/s) : 500 ~ 4000
//-------------------------------------
RDS GP3 설정 제한
- 400GB 미만인 경우
IOPS, 속도 제한 : 3,000 IOPS, 125 MiBps
- 400GB 이상인 경우
IOPS, 속도 최소(설정 가능) : 12,000 IOPS, 500 MiBps
//-----------------------------------------------------------------------------
IOPS 와 속도 설정에 따른 용량별 가격 계산표
//
gp2 | gp3 | |||||||
(초당 입출력) | IOPS | 3000 | 3000 | 3000 | 4000 | 4000 | 5000 | 16000 |
(초당 속도) | 속도 (MB/S) |
125 | 125 | 200 | 200 | 300 | 200 | 1000 |
용량 | 10 | 1,596 | 1,599 | 6,429 | 14,409 | 20,849 | 22,389 | 161,689 |
20 | 3,192 | 2,876 | 7,706 | 15,686 | 22,126 | 23,666 | 162,966 | |
30 | 4,788 | 4,152 | 8,982 | 16,962 | 23,402 | 24,942 | 164,242 | |
40 | 6,384 | 5,429 | 10,259 | 18,239 | 24,679 | 26,219 | 165,519 | |
50 | 7,980 | 6,706 | 11,536 | 19,516 | 25,956 | 27,496 | 166,796 | |
60 | 9,576 | 7,983 | 12,813 | 20,793 | 27,233 | 28,773 | 168,073 | |
80 | 12,768 | 10,536 | 15,366 | 23,346 | 29,786 | 31,326 | 170,626 | |
100 | 15,960 | 13,090 | 17,920 | 25,900 | 32,340 | 33,880 | 173,180 | |
200 | 31,920 | 25,858 | 30,688 | 38,668 | 45,108 | 46,648 | 185,948 | |
300 | 47,880 | 38,626 | 43,456 | 51,436 | 57,876 | 59,416 | 198,716 | |
RDS 에서 gp3 최소 |
400 | 63,840 | 51,394 | 56,224 | 64,204 | 70,644 | 72,184 | 211,484 |
500 | 79,800 | 64,162 | 68,992 | 76,972 | 83,412 | 84,952 | 224,252 | |
600 | 95,760 | 76,930 | 81,760 | 89,740 | 96,180 | 97,720 | 237,020 | |
800 | 127,680 | 102,466 | 107,296 | 115,276 | 121,716 | 123,256 | 262,556 | |
1000 | 159,600 | 128,002 | 132,832 | 140,812 | 147,252 | 148,792 | 288,092 | |
2000 | 319,200 | 255,682 | 260,512 | 268,492 | 274,932 | 276,472 | 415,772 |
//
//
//-----------------------------------------------------------------------------
// 측정한 속도(MS/s)
gp2 | gp3 | ||||||||
용량(GB) | 50 | 50 | 50 | 50 | 50 | 50 | 400 | 50 | 400 |
IOPS | 3,000 | 3,000 | 3,000 | 4,000 | 4,000 | 12,000 | 12,000 | 16,000 | 16,000 |
속도 (MB/S) |
125 | 125 | 500 | 200 | 1,000 | 500 | 500 | 1,000 | 1,000 |
측정속도 | 63~100 (~170) |
166 | 360 | 266 | 374 | 334 | 331 | 380 | 331 |
331에서 더 측정속도가 증가하지 않는 이유가, t3 인스턴스 인걸로 추정됨
//
//-----------------------------------------------------------------------------
//---------------------------
// 참고
Amazon EBS 볼륨 유형
https://docs.aws.amazon.com/ko_kr/AWSEC2/latest/UserGuide/ebs-volume-types.html
Amazon EBS 볼륨 요금
https://aws.amazon.com/ko/ebs/pricing/
RDS 인스턴스, 스토리지 가격
https://aws.amazon.com/ko/rds/mysql/pricing/?pg=pr&loc=2
요금 계산기