On Tue, Aug 14, 2012 at 07:18:09PM -0400, Wietse Venema wrote:

> > I read somewhere on this list that it's not necessary to use proxymap
> > for transport table lookups.
> 
> It is undesirable with the current architecture, because it increases
> latency for the single-process queue manager service. The queue
> manager read-waits for single stream of trivial-rewrite replies,
> and trivial-rewrite does the transport table lookups. A little
> latency for a multi-service process such as smtpd or cleanup would
> be less of a problem.
> 
> The same holds for using SQL or LDAP instead of a local transport
> map. Extra latency is bad for queue manager performance.
> 
> In a future architecture, it may be possible to do multiple
> trivial-rewrite requests in parallel (either in the queue manager
> itself or in a bunch of queue manager helper processes). That should
> reduce the impact of proxymap latency, but it won't necessarily
> eliminate the latency of SQL or LDAP-based transport maps.

I would also note that trivial-rewrite(8) (like proxymap(8)) is
already a multi-client service, so typically, there are a lot fewer
trivial-rewrite(8) processes than smtpd(8)'s or cleanup(8)'s.
Therefore any savings in further consolidating database connections
are likely offset by unnecessary indirection.

So bottom-line, don't use proxymap for tables that are used only
by trivial-rewrite(8). We could perhaps make Postfix ignore proxymap
in trivial-rewrite(8), but it is not clear that this would not be
surprising to a lot of people...

-- 
        Viktor.

Reply via email to