fio(Flexible I/O tester)는 블록 크기 · 큐 깊이 · 순차/랜덤 · 읽기/쓰기 비율을 바꿔 가며 스토리지 I/O 를 재는 도구다. Rook-Ceph 가 준 볼륨의 성능을 재려면 그 볼륨을 마운트한 Pod 안에서 fio 를 돌린다. 오브젝트 스토리지(RGW)는 블록 장치가 아니므로 fio 의 http ioengine 으로 S3 요청을 보내 잰다.
현행 fio 는 3.42 다[1].
dnf install fio · apt install fio)나 소스 빌드. http ioengine 은 libcurl · OpenSSL 을 붙여 빌드해야 들어간다--direct=1 도 함께)| 옵션 | 내용 |
|---|---|
--name |
작업 이름 |
--ioengine |
libaio(리눅스 비동기, 블록) · sync · http(S3 · WebDAV) |
--rw |
read · write · randread · randwrite · randrw |
--bs |
블록 크기. IOPS 는 4k, 대역폭은 1m 로 잰다 |
--size |
작업당 파일 크기 |
--numjobs |
병렬 작업 수 |
--iodepth |
큐 깊이. libaio 에서만 의미 있다 |
--direct=1 |
페이지 캐시 우회 |
--runtime · --time_based |
시간 기준으로 돌린다 |
--group_reporting |
여러 job 결과를 합쳐 보고 |
fio --name=randrw --filename=/data/fio.test --ioengine=libaio --direct=1 \
--rw=randrw --rwmixread=70 --bs=4k --size=4G --numjobs=4 --iodepth=32 \
--runtime=60 --time_based --group_reporting
결과에서 보는 값은 IOPS · BW(대역폭) · clat(완료 지연, 평균과 99th percentile) 이다.
http ioengine 을 넣어 빌드한 fio 로 RGW S3 엔드포인트를 잰 기록.최신 버전 fio-3.42 — 2026-09-20 확인. https://github.com/axboe/fio/tags · 옵션 설명 https://fio.readthedocs.io/en/latest/fio_doc.html ↩︎