[Dovecot] Design: Asynchronous I/O for single/multi-dbox
tss at iki.fi
Mon Mar 15 22:06:09 EET 2010
On 14.3.2010, at 13.46, Timo Sirainen wrote:
> Well, you just mentioned the benefits :) Less memory usage, less context switches (of any kind). (You aren't assuming I'd do something like one thread per connection, right? That's not going to happen.)
> That's kind of the point. You could have just a few IMAP processes where each can handle hundreds of connections. Currently that's not a very good idea, because a single connection that waits on disk I/O blocks all the other connections in the same process from doing anything.
And for clarification: I don't think these are going to give any huge benefits to most people for now. They should help, but I don't expect any dramatic (order of magnitude) performance improvements. But it's the first step towards supporting higher-latency (NoSQL) databases, and they are going to be great for people who need a lot of cheap HA storage (you know, the people who usually pay me for Dovecot development). And actually I think they're going to be great for other people too, because those databases can support easy and fast replication. I could see myself using local Dovecot servers for my mails in different machines, while Dovecot automatically replicates changes to the master server.
More information about the dovecot