fio는 flexible I/O tester의 약자임
fio는 사용자가 지정한 특정 유형의 I/O 작업을 수행하는 여러개의 thread나 process를 생성함
fio는 여러 global parameter를 사용하고, 각 thread는 특별한 설정이 주어지지 않는다면 해당 global parameter를 상속받음
개별 스레드에 특정 설정을 적용하고 싶으면 해당 parameter를 override하면 됨
설치 방법:
sudo apt install fio
fio는 두 가지 방식으로 실행시킬 수 있음
fio를 실행하는 가장 기본적인 형태는 다음과 같음
fio [options] [jobfile] ...
jobfile은 여러개도 가능함
fio test1.fio test2.fio
이 경우 fio는 순차적으로 각 job file을 처리함
첫 job file이 끝나면 두 번째 파일을 실행하는 방식으로 동작함
참고로 이 동작은 내부적으로 stonewall 옵션(각 job을 순차적으로 처리하도록 보장하는 옵션)과 동일하게 작동함
job file을 사용하지 않고 명령어에서 직접 parameter를 입력해 실행할 수도 있음
fio --iodepth=2
job file에서 parameter를 설정하는것과 동일하게 동작함
fio --name=job1 --iodepth=2 --rw=read --name=job2 --iodepth=4 --rw=write
여러 job을 실행도 가능함
위 명령어에서
job1은 iodepth=2이고 읽기 작업을 수행함
job2는 iodepth=4이고 쓰기 작업을 수행함
--name으로 job의 이름을 지정하면 해당 이름 뒤에 오는 옵션들이 그 작업에 적용됨