Kind of slow IO under pressure?
Ivan Voras
ivoras at freebsd.org
Wed Nov 17 15:14:58 UTC 2010
I'm running bonnie++ on UFS hosted on a FC SAN, and during the "rewrite"
phase of the benchmark (bonnie++ is deliberately trying to trash disk
caches), the situation from "top" is like this:
21 root 76 - 0K 16K qsleep 1 2:48 44.38% bufdaemon
1274 root 76 0 11296K 1716K getblk 7 3:35 41.06% bonnie++
3 root -8 - 0K 16K - 2 1:44 21.78% g_up
With disk rates of about 40 MB/s in either direction and around 300 IOPS.
Together these three processes take up a whole CPU core and bonnie++ is
single-threaded, which sort of suggests that this supposedly IO
benchmark is actually CPU-bound on this 8-core 2.4 GHz system.
Transaction sizes are curiously not-quite-64KiB:
tty da0 da1 da2
cpu
tin tout KB/t tps MB/s KB/t tps MB/s KB/t tps MB/s us ni sy
in id
0 380 15.93 28 0.44 63.75 1242 77.30 1.93 0 0.00 0 0 9
0 91
0 1510 16.00 3 0.05 63.86 1148 71.56 0.00 0 0.00 0 0 10
0 90
0 1063 16.00 2 0.03 63.96 1093 68.24 0.00 0 0.00 0 0 14
0 86
0 357 0.00 0 0.00 63.95 1024 63.95 0.00 0 0.00 0 0 15
0 85
Interestingly, binding (with cpuset) all three processes to the same CPU
makes things very strange, with bufdaemon climbing to 90% CPU usage and
bandwidth dropping to ~~ 5 MB/s (but not completely stalling). Relaxing
bufdeamon binds to two CPUs makes things normal again.
On the "read" phase the situation is:
1274 root 61 0 11296K 1704K getblk 0 7:05 26.56% bonnie++
18 root 44 - 0K 16K psleep 4 0:09 2.88% pagedaemon
3 root -8 - 0K 16K - 0 3:31 1.66% g_up
4 root -8 - 0K 16K - 2 0:17 1.66% g_down
12 root -40 - 0K 432K WAIT 5 0:11 1.27% {swi2:
cambio}
i.e. no CPU hogging and the performance is ~~ 140 MB/s. The write phase
is similar, nothing unusual.
More information about the freebsd-fs
mailing list