On 4/4/09, Giuseppe Ghibò <gh...@mandriva.com> wrote:
> In amavisd-new documentation README.postfix (version 148,
> BTW, the release online is outdate, as reports version 122
> see http://www.ijs.si/software/amavisd/README.postfix)
> there is reported that using amavisfeed_destination_concurrency_limit = XX
> is an alternative way to master.cf for controlling the maximum numbers of
> concurrent processes (which should be in sync with amavis $max_servers).
> Indeed I found that
> the number of concurrent lmtp processes named amavisdfeed
> exceed 1 unit the number in amavisfeed_destination_concurrency_limit. E.g.
> if I have amavisfeed_destination_concurrency_limit = 2, I get 3
> amavisfeed lmtp processes running,
> if I have amavisfeed_destination_concurrency_limit = 1 I get 1 lmtp
> process running and so on.

I may be misunderstanding, but are you looking at the number of
amavisd proceses running? If $max_servers is set to 2, you get one
master and two child processes. Changing
amavisfeed_destination_concurrency_limit limits the number of messages
that Postfix will ask amavisd-new to process concurrently (not the
number of amavisd processes that run). The number of child amavisd
processes running must be equal to the number of messages it will be
concurrently sent. You can have more amavisd processes running if you
like, but this just wastes memory because they will not be fed any
messages. If you use amavisd-release often, it's actually a good idea
to have a spare amavisd child running to process the release requests
in case all the other processes are busy processing messages from
Postfix. Typically more than one $max_servers would be used, and
typically amavisfeed_destination_concurrency_limit (or maxproc for the
amavisfeed transport) would be set to more than one.

Also see:
http://marc.info/?l=postfix-users&m=120612390511480

> On the other hand setting such limit in master.cf won't exceed the
> specified number.
>
> Are you obtaining the same behaviour? Furthermore I get also that
> postconf <transport>_destination_concurrency_limit doesn't show any output
> (probably works only with internal vars).

Yes, I think that is the case.

> Anyway seems also that
> using <transport>_destination_concurrency_limit has a weird behaviour,
> e.g. if you specify it to 1, the meaning changes from global (per-domain)
> to per-recipient (e.g. see this thread
> http://archives.neohapsis.com/archives/postfix/2007-11/1466.html).
>
> Bye
> Giuseppe.

It would be rare to use 1. If we are talking about your server that is
a dual quad Zeon with 12GB ram, I would start out with something more
like 20 or 30. I noticed in another thread that you are experiencing
high latency due to network tests. Network tests are a vital part of
spam detection and spamassassin does not work effectively without
them. Most of the delay is caused by waiting for answers from remote
servers (and getting timeouts for various reasons). To help with that,
an effective thing to do is to increase concurrency by increasing the
number of processes ($max_servers and complimentary
amavisfeed_destination_concurrency_limit) up to a certain sweet spot,
where you are processing as much mail as quickly as possible. Setting
the number too high makes a mess and greatly decreases performance.

http://www.ijs.si/software/amavisd/README.performance.txt

Also, it's highly beneficial to run a local DNS cache. This increases
speed and effectiveness of network tests.

-- 
Gary V

------------------------------------------------------------------------------
_______________________________________________
AMaViS-user mailing list
AMaViS-user@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/amavis-user 
 AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 
 AMaViS-HowTos:http://www.amavis.org/howto/ 

Reply via email to