[Dovecot] v2.0.alpha1 released
Timo Sirainen
tss at iki.fi
Wed Oct 14 02:08:22 EEST 2009
On Oct 13, 2009, at 6:28 PM, Ed W wrote:
> Perhaps I misunderstand, but doesn't dovecot send a "keepalive" on
> connections which are idling?
Yes, it's configurable nowadays:
# How many seconds to wait between "OK Still here" notifications when
# client is IDLEing.
#imap_idle_notify_interval = 120
And I did think of that in my previous mail, but then thought it
wasn't relevant because client was only receiving data, but now I
realized that of course the client will also have to send back TCP ACK.
> I can imagine that in the case of a typical cell phone with say 3
> email accounts, there will be likely three idle connections (or
> more) to dovecot and each will end up sending keepalive packets at
> slightly different intervals for each connection. By synchronising
> this network traffic you would potentially increase battery life by
> up to a factor of 3 (ie turn on the radio to send the keepalive for
> all connections in one go, rather than turning the radio on three
> times as often)... (I think perhaps that's optimistic, but you can
> see that quite large gains might be possible here)
Oh. That does sound like a good idea. Hmm. I think there's an easy way
to implement this:
next_still_here_sending_timestamp = imap_idle_notify_interval -
(time(NULL) + crc32(username)) % imap_idle_notify_interval;
The username CRC32 is there to avoid network/load spikes when all the
processes try to send the "Still here" at the same time.
More information about the dovecot
mailing list