On Tue, 2007-03-06 at 16:05 -0500, Stewart Dean wrote:
I'm currently runing UW-IMAP (compiled vanilla) with procmail and mbox and am making my usual careful crawl (at turtle speed) through figuring out DC config. Some questions: a) I have something like 3-4 root imapd sessions so I presume that the default *login_processes_count* = 3 will be OK. I'm less clear about login_max_processes_count and login_max_connections = 256. A common enough heavy load has something like 275 unique users accessing imap and 600 imapd processes. Suggestions? I'm beginning with no SSL, KISS. b) If I set login_process_per_connection =no, would the number of users accessing imap be the same as the number of imapd sessions? c) login_process_size is confusing/intriguing. If there are 500 processes, the default of 32MB means 16GB (the box has 12GB). OTOH, what about the big players with a 400 MB inbox...will they be able to open their inbox with the default d) login_max_connections ditto...I shouldn't think that an individual user would conceivably have the default of 256, except pathologically....or is this applied to the listening imapd root processes.
I think you're misunderstanding all those settings and how the login processes work in general. Also I don't understand what you mean by "root imapd sessions".
The login processes is handling the connection only before user has logged in. After login an imap process is started which does the mailbox opening and such. So login_process_size doesn't affect max. mailbox sizes. mail_process_size however does affect the max. mailbox size, but the default 256MB should be enough to handle hundreds of thousands of mails in a single mailbox. Also both of these specify the maximum allowed virtual process size, they don't really use that much memory to begin with. Their purpose is mostly to just avoid memory leaks from killing the machine.
If you're not using SSL then after user has logged in, the login process knows nothing about the user anymore and it's free to serve another user.
As long as you're not using SSL you could just leave all of them to defaults. Larger login_process_count means however that there are more processes available to handle the user logins, so if a lot of users are logging in at the same time a larger count would perform slightly faster than a lower count.
I guess I should write about this to wiki.