fio로 스토리지 I/O 성능 테스트하기
설치
- Arch Linux
- Debian
sudo pacman -S fio
sudo apt install fio
옵션
<int>- K, M, G, T, P는 1000 기준입니다.
- Ki, Mi, Gi, Ti, Pi는 1024 기준입니다.
- kb_base=1024 일때 k == Ki 입니다.
- D(day), H(hour), M(minute), s, ms, us
<irange><int>-<int>[,<int>-<int>]범위를 나타냅니다.-대신:,,대신/를 사용할 수 있습니다.
Job 설정
References
name=<name>loops=1: Job을 반복하는 횟수입니다.numjobs=1: 동시에 실행되는 Job의 수로 각각 다른 thread 또는 process에서 실행됩니다.
시간 관련 설정
References
runtime=<int>- 단위가 생략되면 s 단위를 사용합니다.
- fio 실행 시간에 대한 제한입니다.
타겟 설정
References
directory=./- 파일이 생성될 디렉토리입니다.
filename_format=$jobname.$jobnum.$filenum- 생성되는 파일의 이름 형식입니다.
$jobname,$clientuid,$jobnum,$filenum변수를 활용할 수 있습니다.
nrfiles=1- Job을 위해 사용될 파일 수입니다.
I/O type
References
direct=00: buffered I/O1: direct I/O
readwrite|rw=read[:<nr>]read: 연속 읽기write: 연속 쓰기trimrandreadrandwriterandtrimrw|readwriterandrwtrimwriterandtrimwrite
Block size
References
blocksize|bs=4k[,<int>][,<int>]<readWriteTrim><read>,<writeTrim>e.g.,8k,32k,,8k<read>,<write>,<trim>e.g.,,8k,- 빈 값은 4k를 의미합니다.
I/O size
References
size=<int>- 파일 I/O의 총 크기입니다.
- 기본값으로 주어진 파일 또는 디바이스의 크기를 사용합니다.
n%를 사용하면 주어진 파일 또는 디바이스 크기의 n%를 사용합니다.
filesize=<irange>- 각 파일의 크기입니다.
size보다 우선합니다.
I/O engine
References
ioengine=<engine>libaio: Linux native aio,direct=1orbuffered=0옵션과 함께 사용해야합니다.
I/O depth
References
iodepth=<int>- 파일에 대해 동시에 실행되는 I/O 요청 수입니다.
- 비동기 I/O engine에서만 유효합니다.