On 03/25/2011 01:06 PM, Peter Sørensen wrote:
I've already used the proxymap solution. We ran into serious problems with the 
clustered mysql backend.
I have 5 servers with smtd set to max 300.

If you're allowing 1500 concurrent smtpd's to query - say - a dozen maps each, the default values for both proxymap processes and the mysql server will NOT suffice.

Your mysql data should be in optimally-indexed myISAM tables for read-only access, and you should verify the setting of max_use for the proxymap daemon on each server:

SERVER PROCESS MANAGEMENT
    proxymap(8) servers run under control by the Postfix master(8) server.
    Each server can handle multiple simultaneous connections.
When all servers are busy while a client connects, the master(8) creates a new proxymap(8) server process, provided that the process limit is not exceeded. Each server terminates after serving at least $max_use clients or after $max_idle seconds of idle time.

Creating new ones unnecessarily, or retiring old ones after only 100 requests, is obviously expensive. So figure out what the average number of proxymap daemons running per server is, and scale max_use to not recycle them more than once every 5 minutes or so:

master.cf:
    proxymap unix - - - - - proxymap
     -o max_use=10000

Have you done any performance measurements on the mysql side for this ?



--
J.

Reply via email to