On Wed, Dec 02, 2015 at 08:23:28PM +0000, Michael van Elst wrote:
That's probably why setting the queues all to fcfs is the best
for you.
Not as dramatic as Emile's numbers but significantly higher read
throughput:
# for i in disksort fcfs priocscan; do
for j in wd0 wd1 raid0; do dkctl $j strategy $i; done;
bonnie++ -d /tmp -m $i -s 4g -n 0 -u build -f -D; done
/dev/rwd0d: disksort -> disksort
/dev/rwd1d: disksort -> disksort
/dev/rraid0d: disksort -> disksort
(...)
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
disksort 4G 33550 13 25694 8 64922 13 238.2 11
Latency 1023ms 309ms 161ms 4111ms
/dev/rwd0d: disksort -> fcfs
/dev/rwd1d: disksort -> fcfs
/dev/rraid0d: disksort -> fcfs
(...)
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
fcfs 4G 55254 22 27584 9 64438 13 244.5 9
Latency 844ms 331ms 233ms 6095ms
/dev/rwd0d: fcfs -> priocscan
/dev/rwd1d: fcfs -> priocscan
/dev/rraid0d: fcfs -> priocscan
(...)
Version 1.97 ------Sequential Output------ --Sequential Input- --Random-
Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
priocscan 4G 32649 13 17028 6 60478 13 247.6 8
Latency 1983ms 1167ms 236ms 6198ms
That's on a simple RAID1 setup:
# dmesg | grep SAM
wd0: <SAMSUNG HD154UI>
wd1: <SAMSUNG HD154UI>
# mount | grep raid
/dev/raid0a on / type ffs (log, NFS exported, local)