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.