Autor: Sheldon Hearn Data: A: Nico Erfurth CC: Michael Brutman, exim-users Assumptes vells: Re: [Exim] Some performance notes Assumpte: 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.