I'm using iozone
version 3.373 to benchmark NFSv4 and NBD, but the results are a bit weird! It says that outputs are in KBytes/sec but I am getting values such as 3,411,938 for random read. I am using a 10/100 Ethernet network and best throughput using netperf
is around 96Mbps. I am actually executing following command.
iozone -i 0 -i 1 -i 2 -i 8 -a -Rb nbd.xls -g 10M -q 1M
These high values comes from the buffer cache. NFS Home Page recommends
-U
option to avoid that. Another good option to try is-I
. I find this paper very useful for running IOzone on NFS mount.The answer is simple: caching.
If your data-size is smaller than available RAM, then at some or all of it may get cached after the initial write. That is very fast, and is why you get throughputs that high. You can really see this effect if you do the
-i 0 -i 1
tests for file sizes above and below available RAM.The alternative is to use the
-I
flag, which tells iozone to use DIRECTIO for I/O operations. Those do not get cached.