imap server performance benchmarks

Mark Felder feld at
Sat Mar 10 20:45:48 UTC 2012

On Fri, 09 Mar 2012 19:17:15 -0600, Da Rock  
<freebsd-questions at> wrote:

> Yes, thats true. That was tested in the paper: a cyrus? using sql  
> database backend performed faster in searches and lookups. But writing  
> and deleting was a drag, and you lose the shell; but I'm not sure that  
> thats such a problem as one could find tools in the sql commands  
> (provided you know databases well enough).

Since Archiveopteryx is so tightly integrated with Postgres, this seems to  
be less of a problem.

 From their FAQ[1]:

> Some question about capacity.This question crops up in different shapes  
> — “how many users?”, “how big?”
> Archiveopteryx's bottleneck is the number of deliveries per minute,  
> everything else is irrelevant.
> How many messages do you need to inject into the database in the busiest  
> five-minute period of theday? In a business, that's usually in the  
> morning and immediately after lunch. On fast PC hardware,Archiveopteryx  
> currently handles in the neighbourhood of 4000 deliveries per minute.

Wayback Machine has this FAQ entry going back to 2007. I'm pretty sure  
that on current hardware we can do more than 4000 messages per minute.

On the topic of deletes: They're pretty fast in AOX. Deletion is only a  
flag and a nightly cron does the real purging. You set a retention policy  
-- you choose how long the email stays in the DB before it's actually  
purged. It's pretty slick, and I like setting things like forced deletion  
of all emails in my SPAM folder if they're older than 30 days, and my  
other mailboxes I can undelete up to 14 days after. It's saved my butt  
once or twice. I'd love to have this for our customer's email.

The real problem when you start dipping into this type of an environment  
is figuring out how to support it. You're no longer running a mail server;  
you're now a DBA. If I implemented this at work I have three hurdles:

1) Not pissing anyone off when they find out their GPG is broken  (low  
likelihood, but it's naughty to do this. FYI, they're working on a fix but  
it has significant hurdles.)

2) We're now admins of a 120GB Postgres database. This is a daunting task,  
and the hardware requirements are more than if you were just running  
Dovecot/Cyrus. (AOX does dedup and my estimate brings this down to ~100GB,  
but I don't know how the big indexes will be)

3) Well now we probably want a slave so backups don't lock the tables at  

I absolutely love the idea, but outside of my own email or hosting for a  
friend I don't think it's a feasible solution, which saddens me... a few  
more devs and the project could really shine.


More information about the freebsd-questions mailing list