gstripe small transaction size
ssanders at softhammer.net
Thu Sep 30 12:58:46 UTC 2010
On 09/28/2010 01:45 AM, Alexander Motin wrote:
> Stephen Sanders wrote:
>> I'm trying a disk throughput experiment where in two 3ware raid 6's are
>> being put into a g_strip raid 0.
>> The raid 6's are using 8 7200RPM disks. The disk transfer rate is
>> ~80MB/s. Using a load generation tool that is using O_DIRECT for I/O,
>> I've generated the following short output from iostat. Needless to say,
>> the write performance is a lot less than I'm expecting.
>> We've modified the kernel such that our KB/t figure is closer to 512KB/t
>> per disk when measured without the g_strip. With g_strip turned on, the
>> KB/t number is more like 60KB/t.
>> The question is how do I get g_stripe to write larger transactions to
>> the disk ?
> How old is your system? There was bug, fixed 8-12 months ago, making
> fast mode in gstripe not working on systems with increased MAXPHYS. As I
> understand, it is what you've changed in your kernel.
Thanks for all of the suggestions. I merged all of the suggestions and
got a good result.
What worked in the end was to upgrade to FreeBSD 8.1 and :
* MAXPHYS is upped to be at least stripe_size * number_of_drives
(and possibly 2x that, to use "fast mode" of gstripe)
* vfs.hirunningspace is > MAXPHYS
* the driver supports IOs of at least your stripe_size
* the file system doesn't introduce unnecessary choppiness in IO
(i.e. use soft-updates)
More information about the freebsd-performance