Re: [Exim] Some performance notes

Top Page
Delete this message
Reply to this message
Author: Sheldon Hearn
Date:  
To: Nico Erfurth
CC: Michael Brutman, exim-users
Old-Topics: Re: [Exim] Some performance notes
Subject: Re: [Exim] Some performance notes
On (2002/12/03 21:19), Nico Erfurth wrote:

> split_spool_directory creates a directory hirarchy in the SPOOL/input/
> directory, this helps in cases were many queue-files are created, as
> some file-systems (ext2 is one of them) have problems with BIG directories.


What most folks don't mention when this comes up is that it's not just
the filesystem's large directory handling capabilities that are
important.

What's also significant is that an Exim queue runner will store in
memory all the filenames it "sees" in the spool.

When you're using a large number of queue runners to process one
enormous spool, they can waste significant amount of memory this way.

The use of split_spool_directory limits the filenames that each queue
runner "sees" to those found in one of the split subdirectories of the
spool.

I mention this because the operating system I use (FreeBSD) recently
worked around the poor handling of large directories by introducing
directory hashing (kernel option UFS_DIRHASH), and yet the use of
split_spool_directory still makes sense in my context, where the queue
gets huge.

Ciao,
Sheldon.