[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: maildir vs. mbox vs. mh ???



on Tue, Feb 11, 2003 at 08:34:06PM +1100, Rob Weir (rweir@ertius.org) wrote:
> On Mon, Feb 10, 2003 at 03:48:00PM +0800, Isaac To wrote:
> > For me, each mail has two copies.  I regularly read one of them, the
> > "regular" copy, which is stored as maildir.  I use spamassissin to
> > scan for junk, let Gnus throw mails away without too much care,
> > etc., so that I can control the number of files for storing mails
> > (currently around 2000).  To minimize the wastage on filesystem
> > space, I use reiserfs on my mail partition, although an ext3
> > partition with tail files enabled should have similar effect.
> 
> This leads to an important point: some FS's do not handle huge
> directories well.  My d-u folder currently has ~5000 messages in it;
> ext2 gets very, very, very slow above about 4000.  I've switched to
> XFS for everything, so I don't mind too much, but just be aware of
> this.  I think newer ext impltementations (2.5 at least, possibly
> 2.4.20 as well) have much better huge directory handling.

Good point.

My experience is that ext2/ext3 performance becomes unsatisfactory when
directory entries exceed about 3000 - 6000 files.  I've worked with as
many as 128,000 files, and have had some experience with this.

The reason is that ext2/3 both use a list to manage directory entries.
Insert, delete, and search operations involve scanning this list,
serially.  At several thousand entries, repeat operations may take many
seconds.

I'm not familiar with XFS, but reiserfs (which I usually use for large
directories) uses a hash table to store entries.  Insertion, deletion,
and searches are therefor largely independent of directory size, and
performance for large directories is vastly superior.

I have seen reports that XFS beats both ext3 and reiserfs performance by
a huge factor -- recent Linux Journal article on the recent 64-way SGI
GNU/Linux server.

Peace.

-- 
Karsten M. Self <kmself@ix.netcom.com>        http://kmself.home.netcom.com/
 What Part of "Gestalt" don't you understand?
    First they came for the Communists, and I didn't speak up, because I
    wasn't a Communist.  Then they came for the Jews, and I didn't speak
    up, because I wasn't a Jew.  Then they came for the Catholics, and I
    didn't speak up, because I was a Protestant.  Then they came for me,
    and by that time there was no one left to speak up for me.
    -- Rev. Martin Niemoller, 1945



Reply to: