how to increase throughput of postfix to local user?

From: devel anaconda (no email)
Date: Thu Nov 05 2009 - 18:19:34 EST

  • Next message: Eric B.: "Re: How to override an MX value for a particular domain only?"

    Hello everybody!

    I have a high-performance server (dual quad-core Xeon 2.8Ghz + 16GB RAM + 2SCSI disks 140Gb), RedHat Enterprise Linux 5.4, software RAID1 + Postfix 2.5.9.
    This server serves only smtp traffic. The only thing postfix should do - receive mails for one user and send it to local script via pipe. Like this:

    user: |/usr/local/bin/script

    The flow is about 250-300 mails per second.Everything is going fine, if there is no queue. But when queue grows to 10000+ letters (for some reasons), postfix loses control of it. deferred queue is null, active queue is almost null, but incoming queue is growing and growing. When incoming queue is about 100k+ letters, postfix just can't pick it up, until I stop incoming traffic. I'm wondering, why such a server can't handle this workload? Even if I do the following:

     user: /dev/null

    postfix can't get the incoming queue over, until I reject incoming smtp traffic... When I tried to figure out the bottleneck, I saw, that there is about 100-150 smtpd processes, 100-150 cleanup process, but there is only 5-8 "local" processes... How to say to qmgr, that it must put as many letters from incoming queue to "local" process, as possible? How to increase parallel delivery? I did this:

    default_destination_concurrency_limit = 200
    initial_destination_concurrency = 200
    local_destination_concurrency_limit = 200

    but that didn't help :(

    Thank you very much and sorry for my bad English.

  • Next message: Eric B.: "Re: How to override an MX value for a particular domain only?"

    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs

    Powered By FreeBSD   Powered By FreeBSD