wait/io/table/sql/handler
란 무엇일까?
데이터베이스에 I/O(Input/Output) 집중 작업이 있거나 스토리지가 트래픽 수요를 따라가지 못할 때 증가하는 지표다.
어떻게 해결할까?
기본적으로 애플리케이션에 문제가 있다고 보는 관점이다.
즉, 불필요한 쿼리를 개선하여 I/O 부하를 해소한다.
메모리 크기의 70 ~ 80%를 버퍼 사이즈로 지정하는게 권장된다.
기본값은 3/4 즉 75%로 설정 돼 있다.
유형 | 코어개수 | vCPU | CPU크레딧/hour | 메모리(GiB) | 네트워크 성능(Gbps) | 시간당 요금 |
---|---|---|---|---|---|---|
db.t2.xlarge | 4 | 4 | 54 | 16 | 중간 | 0.418 USD |
db.t3.xlarge | 4 | 4 | 96 | 16 | 최대 5 | 0.416 USD |
db.m5.xlarge | 4 | 4 | - | 16 | 최대 10 | 0.472 USD |
gp2 스토리지를 사용하고 있다면, gp3 스토리지로 교체해야 한다.
독립적인 IOPS : 스토리지 크기와 상관없이 워크로드 부하에 따라 IOPS가 증가한다. gp2에서 IOPS는 스토리지 크기와 강하게 결합되어 있는 구조로 IOPS를 상한치 이상으로 증가시키려면 스토리지 크기 또한 수정해야 한다.
또한, IOPS 디폴트 값이 증가한다.(gp2: 100, gp3: 3000)
*Input/Output operation Per Second
네트워크 Throughput 증가 : gp2는 100MB/s throughput 반해, gp3는 126MB/s thoughput 제공
비용 감소 : 놀랍게도 gp3가 더 저렴하다