Vì vậy, tôi mở rộng một trong những trường hợp này để tự kiểm tra. Các bước của tôi chỉ khác một chút:
- Phân vùng đĩa trước bằng cách sử dụng
chia tay
- Tạo hệ thống tập tin
- Gắn kết tại
/opt
như /Trang Chủ
đã ở đó và có thư mục chính của người dùng của tôi trong (Ubuntu
).
cập nhật apt && nâng cấp apt
, sau đó cài đặt fio
- Chạy lệnh tương tự như bạn:
fio -direct=1 -iodepth=1 -rw=randread -ioengine=libaio -bs=4k -size=1G -numjobs=1 -runtime=1000 -group_reporting -filename=iotest -name=Rand_Read_Testing
từ bên trong /opt
, với sudo
.
Tôi nhận được kết quả tương tự, với đọc: IOPS=7147
.
Sau đó tôi chạy thử nghiệm khác:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randrw --rwmixread=75
fiotest: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.16
Bắt đầu 1 quá trình
fiotest: Bố trí file IO (1 file / 8192MiB)
Công việc: 1 (f=1): [m(1)][100,0%][r=332MiB/s,w=109MiB/s][r=85,1k,w=28,0k IOPS][eta 00m:00s]
fiotest: (groupid=0, jobs=1): err= 0: pid=26470: Mon 31 tháng 1 09:14:45 2022
đọc: IOPS=91,5k, BW=357MiB/giây (375MB/giây)(6141MiB/17187msec)
bw ( KiB/s): tối thiểu=339568, tối đa=509896, mỗi=100,00%, trung bình=366195,29, stdev=59791,96, mẫu=34
iops: tối thiểu=84892, tối đa=127474, trung bình=91548,82, stdev=14947,99, mẫu=34
ghi: IOPS=30,5k, BW=119MiB/s (125MB/s)(2051MiB/17187msec); 0 vùng đặt lại
bw ( KiB/s): min=111264, max=170424, per=100,00%, avg=122280,71, stdev=20225,33, sample=34
iops: tối thiểu=27816, tối đa=42606, avg=30570,18, stdev=5056,32, mẫu=34
cpu: usr=19,73%, sys=41,60%, ctx=742611, majf=0, minf=8
Độ sâu IO: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
gửi : 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
hoàn thành : 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
rwts đã phát hành: tổng=1572145,525007,0,0 short=0,0,0,0 drop=0,0,0,0
độ trễ: mục tiêu = 0, cửa sổ = 0, phần trăm = 100,00%, độ sâu = 64
Chạy trạng thái nhóm 0 (tất cả công việc):
ĐỌC: bw=357MiB/s (375MB/s), 357MiB/s-357MiB/s (375MB/s-375MB/s), io=6141MiB (6440MB), run=17187-17187msec
VIẾT: bw=119MiB/s (125MB/s), 119MiB/s-119MiB/s (125MB/s-125MB/s), io=2051MiB (2150MB), run=17187-17187msec
Thống kê đĩa (đọc/ghi):
nvme1n1: ios=1563986/522310, hợp nhất=0/0, tick=927244/24031, in_queue=951275, util=99,46%
... trông đẹp hơn rất nhiều - đọc: IOPS=91,5k
.
Tôi nghi ngờ đó là do cách thức hoạt động của bài kiểm tra chỉ đọc? Hoặc một số sắc thái của việc đọc đĩa bạn đang sử dụng và một số hạn chế khác?
Tôi đã chạy thử nghiệm của mình thêm vài lần nữa và mỗi lần đều nhận được kết quả tương tự.
Sau đó, tôi đã chạy một bài kiểm tra chỉ đọc khác bằng cách sử dụng lệnh từ đây, và nhận được điều này:
/opt$ sudo fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=fiotest --filename=testfio --bs=4k --iodepth=64 --size=8G --readwrite=randread
fiotest: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64
fio-3.16
Bắt đầu 1 quá trình
Công việc: 1 (f=1): [r(1)][100,0%][r=332MiB/s][r=85,1k IOPS][eta 00m:00s]
fiotest: (groupid=0, jobs=1): err= 0: pid=26503: Mon 31 tháng 1 09:17:57 2022
đọc: IOPS=88,6k, BW=346MiB/giây (363MB/giây)(8192MiB/23663msec)
bw ( KiB/s): min=339560, max=787720, per=100,00%, avg=354565,45, stdev=72963,81, sample=47
iops: tối thiểu=84890, tối đa=196930, trung bình=88641,40, stdev=18240,94, mẫu=47
cpu: usr=15,37%, sys=31,05%, ctx=844523, majf=0, minf=72
Độ sâu IO: 1=0,1%, 2=0,1%, 4=0,1%, 8=0,1%, 16=0,1%, 32=0,1%, >=64=100,0%
gửi : 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,0%, >=64=0,0%
hoàn thành : 0=0,0%, 4=100,0%, 8=0,0%, 16=0,0%, 32=0,0%, 64=0,1%, >=64=0,0%
rwts đã phát hành: tổng=2097152,0,0,0 short=0,0,0,0 drop=0,0,0,0
độ trễ: mục tiêu = 0, cửa sổ = 0, phần trăm = 100,00%, độ sâu = 64
Chạy trạng thái nhóm 0 (tất cả công việc):
ĐỌC: bw=346MiB/s (363MB/s), 346MiB/s-346MiB/s (363MB/s-363MB/s), io=8192MiB (8590MB), run=23663-23663msec
Thống kê đĩa (đọc/ghi):
nvme1n1: ios=2095751/1, merge=0/0, ticks=1468160/0, in_queue=1468159, util=99,64%
Vì vậy, hiệu suất đọc tốt hơn nhiều. Tôi nghi ngờ các đối số mà bạn đã đưa ra lệnh của mình không cho phép thử nghiệm đạt được hiệu suất tốt nhất từ đĩa, có thể do kích thước khối, kích thước tệp, v.v. Tôi đã nhận thấy rằng tất cả chúng đều là các đối số một dấu gạch ngang (ví dụ: -bs=4k
) không gấp đôi (--bs=4k
), vì vậy chúng thậm chí có thể không được phân tích cú pháp chính xác...