Tôi không thể nói với báo cáo điểm chuẩn udisks cũ nhưng có lẽ fio
sẽ được sử dụng cho bạn. fio
hiện có sẵn cho tất cả các phiên bản Ubuntu từ Chính xác đến Zesty
Bạn có thể cài đặt nó sudo apt-get install fio
sau khi kích hoạt kho vũ trụ
Một số thử nghiệm nhanh chỉ ra rằng bạn có thể chọn phân vùng để kiểm tra đơn giản bằng cách đảm bảo rằng pwd
(Thư mục làm việc hiện tại) nằm trên phân vùng mà bạn muốn kiểm tra.
Chẳng hạn, đây là kết quả tôi nhận được khi chạy nó trên phân vùng gốc nằm trên ổ SSD THNSNH128GBST của Toshiba (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%
Chạy trong thư mục nhà của tôi trên ổ cứng Western Digital WD2003FZEX-00Z4SA0 với cùng một lệnh dẫn đến kết quả đầu ra sau:
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%
Tôi đã cắt bớt đầu ra được tạo ra trong khi nó đang chạy để giữ cho câu trả lời này có kích thước dễ đọc.
Giải thích về đầu ra mà tôi thấy thú vị:
Bạn có thể thấy rằng chúng tôi nhận được độ lệch tối thiểu, trung bình tối đa và độ lệch chuẩn cho tất cả các số liệu này.
đá đen chỉ độ trễ nộp -
clat chỉ độ trễ hoàn thành. Đây là thời gian chuyển giữa trình gửi tới kernel và khi IO hoàn thành, không bao gồm độ trễ gửi. Trong các phiên bản cũ hơn của fio, đây là số liệu tốt nhất để tính gần đúng độ trễ cấp ứng dụng.
lat có vẻ là khá mới. Có vẻ như số liệu này bắt đầu thời điểm cấu trúc IO được tạo trong fio và được hoàn thành ngay sau khi clat, làm cho số liệu này thể hiện tốt nhất những gì ứng dụng sẽ trải nghiệm. Đây là một cái mà bạn có thể muốn vẽ biểu đồ.
bw Băng thông khá tự giải thích ngoại trừ phần per =. Các tài liệu nói rằng nó có nghĩa là để thử nghiệm một thiết bị duy nhất có nhiều khối lượng công việc, vì vậy bạn có thể thấy bao nhiêu IO đã được tiêu thụ cho mỗi quy trình.
Khi fio chạy với nhiều thiết bị, như tôi đã làm cho đầu ra này, nó có thể cung cấp một so sánh hữu ích bất kể thực tế mục đích của nó là để kiểm tra một khối lượng công việc cụ thể.
Tôi chắc chắn rằng không có gì ngạc nhiên khi độ trễ trên ổ cứng cao hơn nhiều so với ổ cứng.
Nguồn:
https://tobert.github.io/post/2014-04-17-fio-output-explained.html
https://github.com/axboe/fio/blob/master/README