On 11/04/2011 11:58, Alan Brown wrote:
From: Timo Sirainen <tss@iki.fi> Subject: Re: [Dovecot] IO rate quotas?
So a single process that is reading files fast enough from disk can cause disk IO to spike in a way that makes all other processes wait for available disk IO?
It's not a single process.
Thunderbird's newest defaults are to syncronize every folder and it will open one connectrion per folder in order to do that.
Appropriate disk/swappiness/readahead/cache tuning is required - along with enough ram to cope with several users trying this at once.
I don't really know what I'm talking about, but newer kernels have pretty strong support for io quotas, eg:
http://kernelnewbies.org/Linux_2_6_37#head-7f5782ae3ce80a383737e2e1bbc3b9ac9...
It would require some modifications to dovecot to apply cgroups, but it seems like a nice feature and I doubt that it would require too much sponsorship to implement? (Timo?)
Failing that you can apply ionice to a certain extent?
I doubt you can do much with iptables firewalling since it can't see inside the imap stream - perhaps an incoming max packet/ip restriction would be a rough approximation... Can't see it being effective though?
I'm a little surprised that a small number of users can take down your (1and1?) box? I think it's worth looking at your bottleneck a little more - I have a small server and I can't really do much to it despite a 40mbit broadband connection at this end?
As an aside, whilst cheap German/French hosting with 1and1 (or Hetzner, et al) looks good, I jumped and bought my own rack space some time back. A 1/4 rack with decent bandwidth only costs me the price of a reasonable 1and1 server, despite the rack being in the relatively more expensive UK... It's nice having the rack within a short drive and the incremental cost of a pair of supermicro servers (for redundancy, vs just a single server) is really no big beans. Give it some thought as a longer term plan?
Good luck
Ed W