From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Wilcox Subject: Re: Choosing and tuning Linux file systems Date: Sun, 25 Jun 2006 16:13:16 -0600 Message-ID: <20060625221316.GC1608@parisc-linux.org> References: <20060625220052.GX19196@goober> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: linux-fsdevel@vger.kernel.org Return-path: Received: from palinux.external.hp.com ([192.25.206.14]:30614 "EHLO palinux.external.hp.com") by vger.kernel.org with ESMTP id S932389AbWFYWNR (ORCPT ); Sun, 25 Jun 2006 18:13:17 -0400 To: Valerie Henson Content-Disposition: inline In-Reply-To: <20060625220052.GX19196@goober> Sender: linux-fsdevel-owner@vger.kernel.org List-Id: linux-fsdevel.vger.kernel.org On Sun, Jun 25, 2006 at 03:00:53PM -0700, Valerie Henson wrote: > I foolishly signed up to give a talk at OSCON in about a month about > choosing and tuning Linux file systems for different workloads. I > > Laptop: ext3 with noatime > General purpose server: ext3 or reiser > Lots of small files: reiser, ext2/3 with 1k blocks > More than ~32,000 files in one directory: XFS or reiser > Fast lookups in large directories: XFS, reiser, ext3 with htree (?) > File size more than 2TB: XFS, reiser up to 8TB > File system size more than 2TB: XFS, reiser up to 16TB > Ease of data recovery after corruption: ext2, ext3 An interesting workload you don't cover here is the PVR workload. You're looking at lots of 1-2GB files (1GB for half-hour programs, 2GB for full-hour). Reads and writes are sequential; overwrites and random accesses almost never happen. It's not uncommon (at least for those of us with two tuners ...) to record two things while watching a third, so support for massive preallocation will prevent fragmentation. All these files are in one directory (so ext2/3's Orlov allocator is pretty much defeated). > Tuning a file system > > Use "noatime" mount option > - atime makes read workloads into random write workloads, yuck > - This is Ubuntu installation default > - I have a report that mutt doesn't work with this because atime is > never updated but mtime is, maybe some kind of lazy atime is better? > - Don't do if you want to e.g., track down hackers Mention nodiratime?