On 19-05-2010 15:33, Emerson Pinter wrote: > On Wed, 19 May 2010 15:11:37 +0200, Jakob Bohm<[email protected]> > wrote: > >> On 19-05-2010 14:03, Emerson Pinter wrote: >> >>> Hi all. >>> >>> I'm using Courier IMAP for 6 years in my mail servers. It's very >>> > stable. > >>> Since last year, I'm looking for implementing IMAP IDLE in my email >>> system. >>> During my tests with 2 or 3 accounts under low load, imap idle worked >>> fine. >>> So I decided to enable IDLE in my production servers (using libgamin). >>> That day was a complete disaster. The server with Courier IMAP+IDLE >>> enabled, kept thousands of connections open with no activity until the >>> machine froze. >>> Once I disabled IDLE, the server returned to normal again. >>> >>> >>> >> Note that IDLE is *supposed* to make the clients keep the connections >> open as long as they have their client >> programs open (which is all day for many people). So thousands of >> zero-traffic open connections just waiting >> for either end to have something to say is the normal behavior for any >> IMAP/IDLE server. This in turn implies >> that any server providing IDLE support will need to sustain a load of at >> > >> least 1.5 (guestimate) connections per >> user, most of them doing nothing. This means that your system-wide >> limits on open TCP connections, >> processes etc. need to be at least that high (OK, some IMAP servers >> serve multiple connections per process >> to reduce the memory and process table load somewhat). >> >> As for your other issues I have no idea if libgamin, famd, courier-imap >> or another component of your system >> uses polling or other such resource-eating methods when just waiting for >> > >> a file change that might happen. >> >> And I don't know if there is a courier-imap 4.7.0 option to turn off the >> > >> no-IDLE-because-no-fam alert >> >> >> >> > ------------------------------------------------------------------------------ > >> _______________________________________________ >> Courier-imap mailing list >> [email protected] >> Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap >> > Ok, I know what IMAP IDLE does, and how it works internally ... > Before enable IMAP idle I setup the max connections to 5x the normal. > The server load average gone to 450.0 with many imap process using a lot > of resources. The maillog with a lot of malloc errors. > Hmm, maybe you need to increase your swap partitions/page file so all those idle imap processes can allocate their memory and be swapped out to disk until needed. > I'm using IMAP idle with dovecot in another server, with no performance > issue or high load. > Sounds good, I don't know what dovecot does to use less resources while idle.
> I like Courier-IMAP, but If there's no improvement in imap idle code (I > think courier-imap shouldn't depend on libgamin of fam), all my new servers > will be dovecot. > > Given the bloated history of fam in general (installing an unwanted open network service by default etc.) I think that *nothing* should have a hard dependency on libfam and should degrade gracefully without it (and in Linux distributions and other precompiled binary environments this means that the libfam availability check must be at runtime, not "./configure" time). However having a general library/system service for waiting for file changes independently of kernel versions is a good thing, as it moves that job from the authors of various servers and applications to someone who studies the subject full time. > My opinion: the option to disable the alert is required. > > Obviously. ------------------------------------------------------------------------------ _______________________________________________ Courier-imap mailing list [email protected] Unsubscribe: https://lists.sourceforge.net/lists/listinfo/courier-imap
