서비스에 적절한 IOPS 수치 계산 하기 – 디스크 성능 측정하기
이 글을 통해 IOPS 의 개념에 대해 알아보고, 나에게 필요한 IOPS 값을 추정해 보도록 하겠습니다.
글 고치는중
파일 복사에 대해 생각해보기
A 위치에서 B 위치로 파일을 복사할 경우, 그 복사의 결과는 다음과 같습니다.
파일을 10746개(92.46 GB)를 복사했습니다. 124초 걸림. (745 MB/s)
길게 쓰려고 했는데 짧은 내용만 적어봅니다.
sysbench --test=fileio --file-total-size=12G prepare
sysbench fileio --file-total-size=12G --file-test-mode=rndrw --time=100 --max-requests=0 run
TEST CASE 1 : t3a.medium(2Core 4GB RAM), NVMe SSD, 100 IOPS
기록속도가 129MB/s 로 나왔다. 너무 높음.
4697 IOPS / s. 이고 약 15MB/s 처리를 한다.
예상치보다 너무 높아서 doc 를 살펴봄.
https://aws.amazon.com/ko/blogs/aws/new-ssd-backed-elastic-block-storage/
https://aws.amazon.com/ko/blogs/aws/new-burst-balance-metric-for-ec2s-general-purpose-ssd-gp2-volumes/
여러가지 테스트해봤는데 일반적으로 다음의 비례식이 성립되더라.
100 = 129.26 MiB/sec
1000 IOPS = 8 MBPS
일반적으로 쓸만한 SSD(EVO 850)가 480MBPS 정도 되니까, 60000 IOPS 라고 생각하면 된다.
M2.EVO 970 은 3200MBPS 정도 되니까 400,000 IOPS 라고 생각하면 된다.
일반적으로는 쓸일이 없는데, 자신의 웹소프트웨어 퍼포먼스 설계할 때에나, AWS EC2 EBS 성능 추정할 때 알아두면 좋다.
또는 과부하가 있는 클라우드를 제어할 때 쓰면 좋다.