MinIO Study 2주차 Performance & Warp
가시다님이 운영하시는 MinIO Study 2주차 내용을 정리한 게시글 입니다.
1. MinIO HardWare Check list
MinIO 공식문서에서 제공하는 Software Check list 뿐만 아니라, Hardware Check list도 존재합니다.
Check list의 내용은 다음 과 같습니다.
MinIO 사용 시 저장할 예상 데이터 용량(테비바이트 단위)
향후 최소 2년 동안의 예상 데이터 증가량
평균 객체 크기를 기준으로 한 객체 수
데이터의 평균 보존 기간(년 단위)
배포할 사이트 수
예상 버킷 수
그 중 Network Infrastructure를 가장 중요하게 강조하고 있습니다.
Storage는 보통 연결하면 최고의 성능을 발휘할 수 있지만, Network Layer에서 병목이 발생한다면 서버의 성능과 무관하게 성능 저하가 발생할 수 있기 떄문입니다.


Figure 1.1 k8s와 baremetal의 권고 사항
NVMe 플랫폼에서 발생하는 주요 병목 현상


Figure 1.2 주요 병목현상 설명
PCIe 3.9 기반의 플랫폼에서는 주로 네트워크 인터페이스나, NvME 인터페이스 드라이브 측면에서 균형이 덜 잡혀 있기 때문에 병목현상이 자주 나타날 수 있습니다.
Hardware 검사
apt install hwinfo -y
hwinfo --pci
# 20: PCI 102.0: 0100 SCSI storage controller
# [Created at pci.386]
# Unique ID: fQ_y.TEiDRLgJug5
# Parent ID: CvwD.MqwS1JUKjG8
# SysFS ID: /devices/pci0000:00/0000:00:05.0/0000:01:02.0
# SysFS BusID: 0000:01:02.0
# Hardware Class: storage
# Model: "Red Hat Virtio SCSI"
# Vendor: pci 0x1af4 "Red Hat, Inc."
# Device: pci 0x1004 "Virtio SCSI"
# SubVendor: pci 0x1af4 "Red Hat, Inc."
# SubDevice: pci 0x0008
# Driver: "virtio-pci"
# I/O Ports: 0xe040-0xe07f (rw)
# Memory Range: 0xfe801000-0xfe801fff (rw,non-prefetchable)
# Memory Range: 0xfd404000-0xfd407fff (ro,non-prefetchable)
# IRQ: 10 (35863 events)
# Module Alias: "pci:v00001AF4d00001004sv00001AF4sd00000008bc01sc00i00"
# Config Status: cfg=new, avail=yes, need=no, active=unknown
# Attached to: #23 (PCI bridge)
2. Warp
Warp는 MinIO에서 제공하는 대표젹인 S3 성능 측정 도구입니다.

Figure 2.1 Warp 설명
설치
wget https://github.com/minio/warp/releases/download/v1.3.0/warp_Linux_x86_64.tar.gz
tar zxvf warp_Linux_x86_64.tar.gz
chmod +x warp
mv warp /usr/local/bin
warp --version
warp 사용 시에는 mc를 사용할 때와 다르게 인증서가 적용되어있어야 사용 가능합니다.
kubectl get secret -n tenant1 tenant1-tls -o jsonpath='{.data.public\.crt}' | base64 -d > tenant1.crt
# 호출 가능한 도메인 정보 확인
kubectl get secret -n tenant1 tenant1-tls -o jsonpath='{.data.public\.crt}' | base64 -d | openssl x509 -noout -text
# X509v3 Subject Alternative Name:
# DNS:tenant1-pool-0-0.tenant1-hl.tenant1.svc.cluster.local, DNS:minio.tenant1.svc.cluster.local, DNS:minio.tenant1, DNS:minio.tenant1.svc, DNS:* ., DNS:*.tenant1.svc.cluster.local
cp tenant1.crt /usr/local/share/ca-certificates/tenant1.crt
update-ca-certificates
echo "127.0.0.1 minio.tenant1.svc" >> /etc/hosts
export WARP_ENDPOINT="minio.tenant1.svc:30002"
export WARP_ACCESS_KEY="minio"
export WARP_SECRET_KEY="minio123"
모니터링을 위해 4개의 터미널을 추가해서 측정해보도록 하겠습니다.
# 신규터미널 1 에서 수행
# r/s 초당 읽기 I/O 요청 수 (Read IOPS) 초당 몇 번의 읽기 요청이 발생했는지
# w/s 초당 쓰기 I/O 요청 수 (Write IOPS) 초당 쓰기 요청 건수
# f/s 초당 플러시 요청 수 fsync 같은 flush 호출 수
iostat sdb sdc sdd sde 1 -x -d
# 신규터미널 2에서 수행
htop
# 신규터미널 3에서 수행
# 모니터링 network -> 실행 후 General interface statistics 선택
apt install iptraf-ng -y
iptraf-ng
# 신규터미널 4에서 수행
# 부하 테스트
warp put --host $WARP_ENDPOINT \
--access-key $WARP_ACCESS_KEY \
--secret-key $WARP_SECRET_KEY \
--tls \
--obj.size 1MiB \
--duration 2m \
--concurrent 32 \
--bucket mybucket
# Reqs: 27742, Errs:0, Objs:27742, Bytes: 27.09GiB
# - PUT Average: 233 Obj/s, 233.4MiB/s; Current 189 Obj/s, 188.5MiB/s, 162.7 ms/req
# Report: PUT. Concurrency: 32. Ran: 1m57s
# * Average: 233.38 MiB/s, 233.38 obj/s
# * Reqs: Avg: 141.9ms, 50%: 139.0ms, 90%: 180.9ms, 99%: 232.9ms, Fastest: 27.1ms, Slowest: 787.8ms, StdDev: 31.6ms
# Throughput, split into 117 x 1s:
# * Fastest: 254.2MiB/s, 254.21 obj/s
# * 50% Median: 244.7MiB/s, 244.66 obj/s
# * Slowest: 145.4MiB/s, 145.45 obj/s



Figure 2.2 성능테스트 수행 결과 \
'DevOps > Study' 카테고리의 다른 글
| CI/CD Study 1주차 Image Build (0) | 2025.10.19 |
|---|---|
| MinIO Study 3주차 PBAC, LDAP (0) | 2025.09.27 |
| MinIO Study 2주차 DirectPV (0) | 2025.09.20 |
| MinIO Study 1주차 MinIO On k8s (0) | 2025.09.13 |
| MinIO Study 1주차 MinIO 소개 (0) | 2025.09.13 |