On Thu, Oct 29, 2009 at 07:58:31PM -0400, Bryan Allen wrote:
> I've got relayd(8) on a stock OpenBSD 4.5 system sitting in front of our
> public
> webservers, and have been very happy with it.
>
> Recently I got the idea of putting it front of our SMTP/SASL systems.
>
> The initial testing went very well, but when testing with a large attachment,
> it took upwards of a minute to relay it to the backend host. dlg@ suggested I
> set EVENT_NOKQUEUE, which knocked about 40 seconds off the send.
>
> redirect sasl {
> listen on $sasl_ext_addr port 25 interface em0
> forward to <sasl> port 1125 check tcp
> }
>
> Directly to the SASL zone:
>
> $ export EVENT_NOKQUEUE=1
> $ time ./sasl_test.pl 63KB
> Spamming... sasl
> real 0m1.734s
>
> $ time ./sasl_test.pl 64KB
> Spamming... sasl
> real 0m1.536s
>
> And via relayd(8):
>
> $ export EVENT_NOKQUEUE=1
> $ time ./sasl_test.pl 63KB
> Spamming... border-sasl-smtp
> real 0m1.547s
>
> $ time ./sasl_test.pl 64KB
> Spamming... border-sasl-smtp
> real 0m38.427s
>
Are you sure this is relayd related and not something like a tcp window
scaling issue (e.g. creating state on the syn-ack) because there is no
explanation why the execution time would go so massivly up just because of
1kB more data.
--
:wq Claudio