Autor: Alexander Sabourenkov Fecha: A: exim-users Asunto: Re: [Exim] Questions using transport filter
Philip Hazel wrote:
>>router + transport eat quite a lot more resources than system filter.
>>What their advantages do you see?
>
>
> Are you sure? The transport is going to run either way, so that doesn't
> count. A router is written in C and should run quite fast. A filter is
> written in an interpreted language which Exim has to analyse and then
> interpret. I would be extremely surprised if it used less resources than
> a router. (And if you set system_filter_user, Exim 4 runs it in a
> separate process.)
>
> I suppose, if the message has 1000 recipients you might notice, because
> the router will run 1000 times and the filter only once. But then you
> have 1000 addresses in your command line - which may give trouble.
Yes. You're right here, especially taking into account troubles with preserving
message envelope i've encountered just today. But for antivirus filtering on a
busy host, router+transport model is not an option either, because even if average
message contains 2-3 recipients, the load increases two-threefold and the hardware
just can't handle that. (because most load comes from virscanning same messages over and
over again)
Last year we moved from router/transport model precisely because of server overload.
Right now I'm working on merging virus scanning code directly into exim4's localscan,
thank god we've got sources of drweb client library. This will require replacing
3.3x exims on our production servers with 4.0x ones way too soon though.