aws 의 EC2 인스턴스에 연결하여 사용하는 EBS(disk) 의 경우 기존에 gp2 만 존재 했었다.
이번 reinvent 2020 에서 발표된 gp3가 기존 gp2가 어떤 부분이 다른지 확인을 해본다.
가격테이블(리전: Seoul/ap-northeast-2)
gp2 GB / month | gp3 GB / month | gp3 IOPS( 1 ) | gp3 Throughput( 1 MiB ) |
|
---|---|---|---|---|
가격 | US$ 0.114 | US$ 0.912 | US$ 0.0057 | US$ 0.0456 |
크기 | 1 ~ 16384 GB | 1 ~ 16384 GB | ||
IOPS | 100 ~ 16000 disk 크기에 따른 자동조정 | 3000 ~ 16000 기본값 3000 이상 옵션 과금 제한 DISK크기 1MB : 500 IOPS |
||
Throughput | 125 ~ 250 MiB disk 크기에 따른 자동조정 | 125 ~ 1000 MiB 기본값 125 이상 옵션 과금 제한 4 IOPS : Throughput 1 MiB |
gp2 에서는 IOPS 가 34GB ~ 5334GB 에서 디스크 자동 조정이 되었고, Throughput 의 경우 168 GB ~ 334 GB 에서 자동 조정이 되었다.
모든 경우값을 다 대입 할순 없겠지만 엑셀로 정리했을때 아래와 같다.
상위 표중 gp3 max speed 는 최대의 IOPS 및 Throughput 으로 하게 되며 디스크 크기에 따라아래와 같이 속도가 제한 되었다.
8GB = 4000 IOPS, Throughput 750 MiB
30GB = 15000 IOPS, , Throughput 1000 MiB(max)
기본적인 가격은 낮아졌기 때문에 gp2 보다는 gp3 를 선택해서 사용 하는게 이익이다.
다만 단순히 TYPE 만 변경 하게 될 경우 속도 상에서 기존 gp2에 비해 느릴 수 있겠다. 때문에 적절히 IOPS 와 Throughput 을 적용하는것이 좋겠다.
그래프로 그려봤을땐 아래와 같다.
좀더 현실적으로 많이 사용할 500GB 까지의 그래프는 아래와 같다.
gp2 에서 gp3 으로의 이행을 할 경우 성능 조정 없이 사용할 경우 사용료가 20% 절약이 된다.
gp2 -> gp3 로의 볼륨 수정은 서버가 running 상태에서도 변경이 가능하다. (다만 optimizing 시간이 좀 길게 느껴진다)
볼륨 타입 조정 할때 Linux 서버내에서의 성능 테스트를 진행하였다.
Linux 에서의 IO 테스트 방법 1
1 2 3 4 |
~]# dd if=/dev/zero of=test bs=16k count=10000 oflag=direct && rm -f test ~]# dd if=/dev/zero of=test bs=1M count=1024 oflag=direct && rm -f test |
Linux 에서의 IO 테스트 방법 2
1 2 |
~]# hdparm --direct -t -T /dev/nvme0n1p1 |
결과 (측정중…optimizing 이 오래 걸린다..)
dd ( 16k / 10000 times) | dd ( 1M / 1000 times ) | hdparm | ||
---|---|---|---|---|
12GB | gp2 100 IOPS 125MiB (추정) | 29.5 MB/s | 154 MB/s | cached: 191.81 MB/sec disk: 170.53 MB/sec |
gp3 | ||||
120GB | gp2 - 360 IOPS 125MiB (추정) | 28.8 MB/s | 153 MB/s | cached: 191.71 MB/sec disk: 170.58 MB/sec |
gp3 3000 IOPS 125 MiB | 8.1 MB/s | 149 MB/s | cached: 187.30 MB/sec disk: 166.47 MB/sec |
|
500GB | gp2 IOPS 1500 250MiB (추정) | 34.3 MB/s | 347 MB/s | cached: 375.03 MB/sec disk: 333.46 MB/sec |
gp3 | ||||
1024GB | gp2 IOPS 3072 250MiB (추정) | 30.9 MB/s | 345 MB/s | cached: 374.96 MB/sec disk: 333.50 MB/sec |
gp3 | ||||
2048GB | gp2 IOPS 6144 250MiB (추정) | 28.0 MB/s | 347 MB/s | cached: 375.04 MB/sec disk: 333.22 MB/sec |
gp3 |
테스트 예측으로는 같은 값이 나와야 한다.
gp2의 경우 버스트 잔고라는게 적재가 되고 적재된 버스트 잔고가 0이 될때 까지는 iops 가 3000 까지 쓸 수 있다. 이후에는 설정된 100 이라든가 300이라든가로 제한 된다.
하지만 예측과 다르게 테스트 결과 16k 생성 속도가 떨어졌다.
바로 변경한 사람이 벌써 꽤나 된것으로 보아 붐비는 것일 수도 있고 하니 몇일 뒤 마저 테스트 해봐야 겠다 @_@a