gmirror: writes are faster than reads

Warren Block wblock at wonkity.com
Thu Nov 28 22:15:17 UTC 2013


On Thu, 28 Nov 2013, Schaich Alonso wrote:

> Modern HDDs have both Command Queuing and Excessive Cache Memory. Using them
> a spindle disk can cache multiple write requests and do them all in one
> revolution. While multiple read requests can also be done at once chances
> are the on-disk cache is not usefull (because the requested data is only
> resident if it was accessed short before, and then it's also availible in
> the kernel's larger Filesystem/GEOM caches which reside in main memory and
> were consulted prior to disk accesses) and the GEOM layer might not have
> issued them yet. IIRC the UFS subsystem will perform no read requests smaller
> than 512kB by default, which means it does some readahead just in case the
> issuing application wants to read more data soon - however you have used read
> blocks which are exact multiples of 512kB, so there is no gain in this.
>
> readahead is the buzzword for tuning large sequencial reads, and I had thought
> there was a sysctl for it, though I can't find it now.

gmirror also has four different load-balancing algorithms which can 
affect read and write speeds.


More information about the freebsd-stable mailing list