오래된 udisks 벤치마킹 보고서와 대화 fio
할 수는 없지만 아마도 여러분에게 유용 할 것입니다. Precise To Zestyfio
에서 Ubuntu의 모든 버전에 대해 현재 사용 가능
Universe 저장소를 활성화 한sudo apt-get install fio
후 설치할 수 있습니다
일부 빠른 테스트는 pwd
(현재 작업 디렉토리)가 테스트하려는 파티션에 있는지 확인 하여 테스트 할 파티션을 선택할 수 있음을 나타냅니다 .
예를 들어, Toshiba THNSNH128GBST SSD의 내 루트 파티션에서 실행 한 결과는 다음과 같습니다 (my / dev / sda).
$ sudo fio --name=randwrite --ioengine=libaio --iodepth=1 --rw=randwrite --bs=4k --direct=0 --size=256M --numjobs=8 --runtime=60 --group_reporting
randwrite: (g=0): rw=randwrite, bs=4K-4K/4K-4K/4K-4K, ioengine=libaio, iodepth=1
...
randwrite: (groupid=0, jobs=8): err= 0: pid=15096: Wed Feb 15 13:58:31 2017
write: io=2048.0MB, bw=133432KB/s, iops=33358, runt= 15717msec
slat (usec): min=1, max=223379, avg=232.82, stdev=4112.31
clat (usec): min=0, max=16018, avg= 0.30, stdev=22.20
lat (usec): min=1, max=223381, avg=233.25, stdev=4112.55
clat percentiles (usec):
| 1.00th=[ 0], 5.00th=[ 0], 10.00th=[ 0], 20.00th=[ 0],
| 30.00th=[ 0], 40.00th=[ 0], 50.00th=[ 0], 60.00th=[ 0],
| 70.00th=[ 0], 80.00th=[ 1], 90.00th=[ 1], 95.00th=[ 1],
| 99.00th=[ 1], 99.50th=[ 1], 99.90th=[ 2], 99.95th=[ 3],
| 99.99th=[ 31]
bw (KB /s): min= 3473, max=241560, per=12.42%, avg=16577.30, stdev=28056.68
lat (usec) : 2=99.79%, 4=0.18%, 10=0.02%, 20=0.01%, 50=0.01%
lat (usec) : 100=0.01%, 250=0.01%, 500=0.01%
lat (msec) : 20=0.01%
cpu : usr=0.52%, sys=1.08%, ctx=3235, majf=0, minf=228
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=524288/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=2048.0MB, aggrb=133432KB/s, minb=133432KB/s, maxb=133432KB/s, mint=15717msec, maxt=15717msec
Disk stats (read/write):
sda: ios=0/197922, merge=0/84378, ticks=0/37360, in_queue=37324, util=93.41%
동일한 명령으로 Western Digital WD2003FZEX-00Z4SA0 HDD에있는 내 홈 디렉토리에서 실행하면 다음과 같은 결과가 나타납니다.
randwrite: (groupid=0, jobs=8): err= 0: pid=15062: Wed Feb 15 13:53:32 2017
write: io=1299.6MB, bw=22156KB/s, iops=5538, runt= 60062msec
slat (usec): min=1, max=200040, avg=1441.http://meta.stackexchange.com/questions/122692/moderator-tools-make-merging-questions-a-little-easier74, stdev=11322.69
clat (usec): min=0, max=12031, avg= 0.41, stdev=32.24
lat (usec): min=1, max=200042, avg=1442.29, stdev=11323.05
clat percentiles (usec):
| 1.00th=[ 0], 5.00th=[ 0], 10.00th=[ 0], 20.00th=[ 0],
| 30.00th=[ 0], 40.00th=[ 0], 50.00th=[ 0], 60.00th=[ 0],
| 70.00th=[ 0], 80.00th=[ 1], 90.00th=[ 1], 95.00th=[ 1],
| 99.00th=[ 2], 99.50th=[ 2], 99.90th=[ 3], 99.95th=[ 9],
| 99.99th=[ 14]
bw (KB /s): min= 426, max=282171, per=13.12%, avg=2906.99, stdev=17280.75
lat (usec) : 2=98.88%, 4=1.03%, 10=0.05%, 20=0.04%, 50=0.01%
lat (usec) : 100=0.01%, 250=0.01%
lat (msec) : 10=0.01%, 20=0.01%
cpu : usr=0.09%, sys=0.25%, ctx=7912, majf=0, minf=227
IO depths : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
issued : total=r=0/w=332678/d=0, short=r=0/w=0/d=0
Run status group 0 (all jobs):
WRITE: io=1299.6MB, aggrb=22155KB/s, minb=22155KB/s, maxb=22155KB/s, mint=60062msec, maxt=60062msec
Disk stats (read/write):
sdb: ios=0/94158, merge=0/75298, ticks=0/116296, in_queue=116264, util=98.40%
이 답변을 읽을 수있는 크기로 유지하기 위해 실행되는 동안 생성 된 출력을 제거했습니다.
내가 찾은 출력에 대한 설명 :
이러한 모든 지표에 대해 최소, 최대 평균 및 표준 편차가 발생 함을 알 수 있습니다.
슬랫 은 제출 대기 시간을 나타냅니다-
clat 는 완료 대기 시간을 나타냅니다. 이것은 커널로의 제출과 IO가 완료 될 때까지의 시간이며 제출 대기 시간은 포함하지 않습니다. 이전 버전의 fio에서는 응용 프로그램 수준의 대기 시간을 근사화하는 데 가장 적합한 지표였습니다.
위도 는 상당히 새로운 것 같습니다. 이 지표는 IO 구조가 fio로 생성되고 clat 직후 완료되는 순간부터 시작되어 응용 프로그램이 경험하는 것을 가장 잘 나타내는 것으로 보입니다. 이것은 아마도 그래프로 만들고 싶을 것입니다.
bw 대역폭은 per = 부분을 제외하고는 매우 자명하다. 이 문서에서는 여러 워크로드가있는 단일 장치를 테스트하기위한 것이므로 각 프로세스에서 소비 한 IO의 양을 확인할 수 있습니다.
이 출력에서와 같이 fio가 여러 장치에 대해 실행될 때 특정 워크로드를 테스트하는 것이 목적이라는 사실에 관계없이 유용한 비교를 제공 할 수 있습니다.
하드 드라이브의 대기 시간이 솔리드 스테이트 드라이브의 대기 시간보다 훨씬 높다는 것은 놀라운 일이 아닙니다.
출처 :
https://tobert.github.io/post/2014-04-17-fio-output-explained.html
https://github.com/axboe/fio/blob/master/README