[CentOS] Large scale Postfix/Cyrus email system for 100, 000+ users

Wed Oct 24 13:25:02 UTC 2007
Matt Shields <mattboston at gmail.com>

On 10/23/07, Christopher Chan <christopher at ias.com.hk> wrote:
> Matt Shields wrote:
> > Data changes too frequently to generate the file every x number of
> > minutes across all smtp servers.
>
> You have to support instantly deliverable mailboxes for new accounts?

Yes, don't ask me why, it's a business thing.

> > The mysql db isn't a single server.  It's a master (read/write) with
> > multiple replicas for read access.  Those replicas are load balanced
> > with LVS (heartbeat/ldirectord/ipvsadm).  The postfix(smtp) incoming
> > and outgoing servers are also load balanced with LVS.  So database
> > read speed is not an issue.  Believe me, we know how to build large
> > high traffic sites, the only problem we're having is the exact syntax
> > on using transport_maps or virtual_transport with multiple lmtp
> > transports, and I think I got that figured out with the
> > transport_maps.  Will post more later.
> >
>
> I assume that you are aware that transport_maps is called multiple times.
>
> Recipient_maps in rdbms tables generate at least two lookups (one for
> smtpd, one for cleanup) but when you add transport_maps, that will at
> least explode to one per subdomain of the sender address (you can
> mitigate a lot of that with the domain setting in the map configuration
> file) as trivial-rewrite tries to build its triples for addresses.
> _______________________________________________

Yes, we're aware, that why we have mysql setup with multiple incoming
and outgoing smtp servers that read from a large cluster of replicated
mysql servers (read-only).

Not saying we won't look at creating a cron to dump maps to a local
file, we might do that in the future, but just for right now we have
enough horsepower to deal with what we have.

-matt