728x90
K8S Storage 성능측정
1. kubestr도구를 사용하여 storage 성능 측정
- 노드그룹에 할당된 EBS 정보 확인
- gp3 / IOPS:3000
- kubestr 설치
# [운영서버 EC2] kubestr 툴 다운로드 - Link
wget https://github.com/kastenhq/kubestr/releases/download/v0.4.48/kubestr_0.4.48_Linux_amd64.tar.gz
tar xvfz kubestr_0.4.48_Linux_amd64.tar.gz && mv kubestr /usr/local/bin/ && chmod +x /usr/local/bin/kubestr
# 스토리지클래스 점검
kubestr -h
kubestr
# 모니터링
watch 'kubectl get pod -owide;echo;kubectl get pv,pvc'
## 아래 서버 각각 접속 후 iostat 명령 실행 해두기 : 입출력(I/O) 통계 확인
ssh ec2-user@$N1
ssh ec2-user@$N2
ssh ec2-user@$N3
-----------------
iostat -xmdz 1
--------------------------------------------------------------
# rrqm/s : 초당 드라이버 요청 대기열에 들어가 병합된 읽기 요청 횟수
# wrqm/s : 초당 드라이버 요청 대기열에 들어가 병합된 쓰기 요청 횟수
# r/s : 초당 디스크 장치에 요청한 읽기 요청 횟수
# w/s : 초당 디스크 장치에 요청한 쓰기 요청 횟수
# rMB/s : 초당 디스크 장치에서 읽은 메가바이트 수
# wMB/s : 초당 디스크 장치에 쓴 메가바이트 수
# await : 가장 중요한 지표, 평균 응답 시간. 드라이버 요청 대기열에서 기다린 시간과 장치의 I/O 응답시간을 모두 포함 (단위: ms)
- 랜덤 읽기 성능 테스트 수행 : 3분 정도 소요
- libaio 엔진과 다이렉트 I/O를 사용하여 고성능 스토리지의 랜덤 읽기 성능을 측정
- OS 캐시를 사용하지 않고 직접 디스크 I/O 수행 (direct 플래그)
cat << EOF > fio-read.fio
[global]
ioengine=libaio
direct=1
bs=4k
runtime=120
time_based=1
iodepth=16
numjobs=4
group_reporting
size=1g
rw=randread
[read]
EOF
kubestr fio -f fio-read.fio -s local-path --size 10G # size 미 지정시 기본 100G로 노드 Disk full 발생하니 유의
- 랜덤 읽기 성능 테스트 결과
- AWS Console에서 확인한 EBS IOPS성능과 동일하게 확인
- IOPS: 3000 / 처리량: 125
- AWS Console에서 확인한 EBS IOPS성능과 동일하게 확인
- 랜덤 쓰기 성능 테스트 수행 : 5분 정도 소요
- numjobs=16, iodepth=16 : 총 16×16 = 256개의 I/O 요청이 동시에 발생
cat << EOF > fio-write.fio
[global]
ioengine=libaio
numjobs=16
iodepth=16
direct=1
bs=4k
runtime=120
time_based=1
size=1g
group_reporting
rw=randrw
rwmixread=0
rwmixwrite=100
[write]
EOF
kubestr fio -f fio-write.fio -s local-path --size 20G
- 랜덤 쓰기 성능 테스트 결과
- AWS Console에서 확인한 EBS IOPS성능과 동일하게 확인
- IOPS: 3000 / 처리량: 125
- AWS Console에서 확인한 EBS IOPS성능과 동일하게 확인
728x90
'2025_AEWS Study' 카테고리의 다른 글
3주차 - EKS Storage & Managed Node Groups(4)(NodeGroup) (0) | 2025.02.23 |
---|---|
3주차 - EKS Storage & Managed Node Groups(3)(AWS EBS, EFS Controller) (0) | 2025.02.19 |
3주차 - EKS Storage & Managed Node Groups(1)(스토리지) (0) | 2025.02.19 |
2주차 - EKS Networking(6)(Topology Aware Routing) (0) | 2025.02.16 |
2주차 - EKS Networking(5)(Ingress & ExternalDNS) (0) | 2025.02.15 |