From owner-freebsd-current@FreeBSD.ORG Mon Mar 31 21:09:05 2008 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E15B71065674 for ; Mon, 31 Mar 2008 21:09:05 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.233]) by mx1.freebsd.org (Postfix) with ESMTP id 98CA08FC23 for ; Mon, 31 Mar 2008 21:09:05 +0000 (UTC) (envelope-from ivoras@gmail.com) Received: by wr-out-0506.google.com with SMTP id 50so903780wra.13 for ; Mon, 31 Mar 2008 14:09:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; bh=8dn9OmrsBzop6ATuGU+rFUQLEEZxzXcWKj//YxxBNrI=; b=IHgtOUDhGTpXHt1ei4sY+fNGU4ipf2EiLXSu4FfIXQ0bZPOZlteXpBfaSQEASlm+fhFiaSfzwvFRWclA5XDnCQnnblr8b4gd87AeJ/wx7tXM1rnQGODuzGSgJyWiG5Nygjp9vqhE0iETbvZXLB21DjAr5MXDqB4ZtTRx6CdBsmA= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=message-id:date:from:sender:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references:x-google-sender-auth; b=qbP5LYlXDyrpPedHxTWThkVh1Q8gegOr3Fih/gfdh9BAzOxFnymkdjG+QTObFX2wfKGiy1k1vXmSbu78GGCjbN+danmFC4K6zr/aasmNdOZJ1yhZZ+FkYkgH6z5oZBThzpdvA7X7y0wKluG2XVK/LaqIu/UeoOhUWz8k/RPD3bk= Received: by 10.140.127.20 with SMTP id z20mr3791910rvc.77.1206997743702; Mon, 31 Mar 2008 14:09:03 -0700 (PDT) Received: by 10.141.212.1 with HTTP; Mon, 31 Mar 2008 14:09:03 -0700 (PDT) Message-ID: <9bbcef730803311409ha25effam9dd522c9084783ad@mail.gmail.com> Date: Mon, 31 Mar 2008 23:09:03 +0200 From: "Ivan Voras" Sender: ivoras@gmail.com To: "Scott Long" In-Reply-To: <47F147D8.3030905@samsco.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline References: <47F147D8.3030905@samsco.org> X-Google-Sender-Auth: 7b5b13a0db64faa1 Cc: freebsd-current@freebsd.org Subject: Re: Are large RAID stripe sizes useful with FreeBSD? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 31 Mar 2008 21:09:07 -0000 On 31/03/2008, Scott Long wrote: > Ivan Voras wrote: > > Most of new hardware RAID controllers offer stripe sizes of 128K, 256K > > and some also have 512K and 1M stripes. In the simplest case of RAID0 of > > two drives, knowing that the data is striped across the drives and that > > FreeBSD issues IO request of at most 64K, is it useful to set stripe > > sizes to anything larger than 32K? I suppose something like TCQ would > > help the situation but does anyone know how is this situation usually > > handled on the RAID controllers? > > Large I/O sizes and large stripe sizes only benefit benchmarks and a > narrow class of real-world applications. Like file servers on gigabit networks serving large files? :) > Large stripes have the > potential to actually hurt RAID-5 performance since they make it > much harder for the card to a full stripe replacement instead of a > read-modify-xor-write. This is logical. > I hate to be all preachy and linux-like and tell you want you need or > don't need, but in all honesty, large i/o's and stripes usually > don't help typical filesystem-based mail/squid/mysql/apache server > apps. I do have proof-of-concept patches to allow larger I/O's for > selected controllers on 64-bit FreeBSD platforms, and I intend to clean > up and commit those patches in the next few weeks (no, I'm not ready for > nor looking for testers at this time, sorry). I'm not (currently) nagging for large IO request patches :) I just want to understand what is happening currently if the stripe size is 256 kB (which is the default at least on IBM ServeRAID 8k, and I think recent CISS controllers have 128 kB), and the OS chops out IO in 64k blocks. I have compared Linux performance and FreeBSD performance and I can't conclude from that - for FreeBSD it's not like all requests (e.g. 4 64 kB requests) go to a single drive at a time, and it's not like they always get split.