- Subject: FIO is CPU bound on small block sizes
- From: "Bike & Snow" <bikeandsnow@xxxxxxxxxxxxxx>
- Date: Tue, 8 Feb 2011 10:30:55 +0000
Hello
I am trying to measure IOPs on a RAID system using FIO.
I've been using FIO for a while and I'm pretty familiar with it.
However, I have found for small blocksizes, the benchmark is CPU bound
as it only works on a single CPU core.
Here's what I mean. All these are sequential read results.
Iometer results:
512B 181,317
1K 166,232
2K 133,753
4K 109,498
8K 78,276
16K 51,638
FIO results:
512B 97,494
1K 100,034
2K 98,615
4K 93,859
8K 83,064
16K 69,623
I can see when observing the output from "top" that the "fio" thread
is at 99% for the smaller block sizes.
So it appears to be CPU bound for small block sizes - 512B to 4K.
>From 8K onwards FIO is actually faster than Iometer.
Software:
Linux 2.6.36.3
FIO 1.50
Iometer 1.1.0
Hardware:
Intel Xeon X3450 @ 2.67GHz
Hardware RAID6 array
FIO command used:
fio -name iops -rw=read -bs=512 -runtime=180 -iodepth 4 -filename
/dev/storage/iometer -ioengine libaio -direct=1
As you can see I'm testing the block device directly without using a
file system.
I have tried different iodepth values but it makes no difference.
Any ideas on how I can measure the IOPs of the RAID device when using
small block sizes?
I really want to use FIO as I can script it.
--
To unsubscribe from this list: send the line "unsubscribe fio" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Home]
[Linux SCSI]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Video Projectors]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]