Date: Sat, 03 Feb 2007 13:28:05 -0500 From: bashr <bashr@comcast.net> To: Fluffles <etc@fluffles.net> Cc: freebsd-geom@freebsd.org Subject: Re: What is gstripe ? -- benchmarks Message-ID: <45C4D435.4050307@comcast.net> In-Reply-To: <45B169AB.3070103@fluffles.net> References: <20070113004728.GQ2616@obiwan.tataz.chchile.org> <45A85F40.7050703@centtech.com> <45A8B722.7020302@fluffles.net> <45B0EAA7.7020609@comcast.net> <45B169AB.3070103@fluffles.net>
next in thread | previous in thread | raw e-mail | index | archive | help
Fluffles wrote: > > Overall i sugest using a stripesize of 128KB of bigger. This way you can > be sure that a single I/O request (maximum of 128KB on FreeBSD; MAXPHYS) > will 'fit' into one stripeblock and thus can be handled by one disk in > the RAID array. If you use 64KB stripesize and you read 65KB or 100KB, > two physical disks must be used to handle the request; this will degrade > performance. > > Misalignment, often caused by using default partitioning, can also > degrade performance. To counteract this, use manual disklabeling with > the same offset (or multiple) as the stripesize, use Dangerously > Dedicated mode, or simply select a stripesize of 256KB or even bigger. > Thank you, that is very helpful. Here is what happened: A gmirror volume, gm0s2, consisted of two gstripe volumes, st0s1 and st1s1. The stripe st0s1 consisted of ad6s3 and ad8s3 while st1s1 consisted of ad2s3 and ad4s3. Disk ad2 is UDMA133. The others are SATA150. Both stripes were configure with a stripe size of 4k and an offset of 16. I took st1s1 out of the gmirror and reconfigured it with an offset and stripesize of 131072. Then ran iozone for file and record sizes up to 32M to compare st0s1 and st1s1. The numbers below are the ratios of the throughput for 128k stripe size to throughput for 4k stripesize. Writing 64k files with 4k records: 1.08 16M w/ 4k: 3.22 32M w/ 16M: 3.72 Reading 64k files 4k records: 1.02 16M w/ 4k: 1.03 32M w/ 16M: 1.01 Then I reconfigured st0s1 with 128k offset and stripesize as well, and put both gstripe volumes in a gmirror. The numbers below are the ratios of throughput for the mirrored gstripe volumes to the throughput for unmirrored -- both with 128k offset and stripesize. Writing 64k files with 4k records: 0.98 16M w/ 4k: 0.55 32M w/ 16M: 0.5 Reading 64k files with 4k records: 0.97 16M w/ 4k: 1.01 32M w/ 16M: 1.07
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45C4D435.4050307>