Re: [exim] Exim performance

Top Page
Delete this message
Reply to this message
Author: Jeremy Harris
Date:  
To: exim-users
Subject: Re: [exim] Exim performance
On 11/15/2012 12:18 PM, Jorge wrote:
> Hi,
>
> I finally found the source of the delay consulted.
>
> It is because the configuration file: configure, contains an ACL definition
> to check SPAM that takes 5 seconds to resolve and that is what introduces
> the delay.
>
> If I remove that control, those seconds are gained in the submission
> process.
>
> The content of this ACL definition is as follows:
>
> # Check spam only under 80K
> check_spam:
> # put headers in all messages (no matter if spam or not)
> warn message = X-Spam-Score: $spam_score
> condition = ${if <{$message_size}{80K}{1}{0}}
> spam = nobody:true/defer_ok
> warn message = X-Spam-Score-Int: $spam_score_int
> condition = ${if <{$message_size}{80K}{1}{0}}
> spam = nobody:true/defer_ok
> warn message = X-Spam-Bar: $spam_bar
> condition = ${if <{$message_size}{80K}{1}{0}}
> spam = nobody:true/defer_ok
> warn message = X-Spam-Report: $spam_report
> condition = ${if <{$message_size}{80K}{1}{0}}
> spam = nobody:true/defer_ok
> accept
> # End Check spam only under 80K
>
> Can I remove it without consequences?
>
> Or can I modify this to only apply to inbound messages? Can anyone help me
> to do that?


Check the place that check_spam is called from.  Is there any condition
there to control what classes of mail it applies to?  If not, you
could add one either there or at the top of check_spam so
that it does not check mail you don't want checked.
As you've described it, "inbound", that's slightly tricky; for
a first try I'd suggest "destination not external".
The condition for this would be
    domains = <domain list>
(or the inverse), and you need to put your names in the list, e.g.:
      domains = fred.isphosting.example.com : special.fred.isphosting..example.com


If you're placing this to control the call of check_spam it'll look
something like:
...
    warn  domains = fred.isphosting.com : special.fred.isphosting.com
    acl = check_spam
...


If you prefer to put it inside check_spam, then:
...
# Check local-dest spam only under 80K
check_spam:
accept !domains = fred.isphosting.example.com : special.fred.isphosting.example.com
# put headers in all messages (no matter if spam or not)
warn message = X-Spam-Score: $spam_score
condition = ${if <{$message_size}{80K}{1}{0}}
...



Start at http://exim.org/exim-html-current/doc/html/spec_html/ch42.html#SECTcondmodproc
to learn about ACLs.

>> Can I configure Exim to process it faster than this time? Why?


Is your spamd running and correctly configured?
Do you get proper numbers on the mail received?

--
Jeremy