Alessio Cecchi wrote:
Il Thursday 06 March 2008 01:06:07 Ken Jones ha scritto:
Alessio Cecchi wrote:

I have a dedicated server to registration e-mail free only. Every day
there are about 250 new users.

I believe that the default setting for hashing vpopmail directory is not
optimal for this kind of service (make a new dir every 50 new accounts).

What do you think?

Can i improve it?
Check your .h files of the vpopmail source.
I have:

Meaning 100 users per directory.

The optimal number of subdirectories was discussed on
the vpopmail list back in 1998 or 1998.
I don't remember who did the research but they
found a maximum of 150 to 200 directories provided
the most efficient processing.

The bigdir code tries to maintain this level by creating
at most 100 user accounts per directory plus the subdirectory
structure using 0-9,a-z,A-Z (10 + 26 + 26 = 62).

So in any directory there would be a maximum of 162 directories,
fits within the recommened 150 to 200 limit.
With three levels deep of sub directories vpopmail would support
some where around 20 million accounts, which seemed reasonable.

That was the basic behind the bigdir code.

It would probably be worth while to re-investigate the 150-200
directory limit with today's current file system software.

Hope that helps,
Ken Jones

Ken thanks for your response,

i will increase it to 100. Can i edit it and rebuild vpopmail with new setting without problems on the current installation?

Hi Alessio,

Making that change should work fine with out any problems.
Be sure to do a "make clean" before recompiling just
in case the Makefile does not have all the dependencies set up.
After recompiling I would run some tests with a test domain
adding more than 300 accounts to verify if it is acting the
way you want.

If the tests work it should be fine to put into production.

The directory hashing code should not care if
MAX_USERS_PER_LEVEL is changed since it is only checked
when creating a new account.
grep MAX_USERS bigdir.c
for details.

By the way, is your source code set to 100 or 50 for
MAX_USERS_PER_LEVEL. I'm interested to know if there
are differences in any publicly released versions.


Reply via email to