On Wed, Dec 15, 2010 at 01:37:48PM -0500, Dave Brodin wrote:
> I ran the following command:
>
> time /usr/local/bin/smtp-source -s 10 -l 10120 -m 500 -c \
> -f [email protected] -t [email protected] localhost:25
OK, this is smtp-source with 10 (modest) parallel sessions,
10KB (modest) messages, total 500 messages. This should typically
accept mail at 100+ messages a second finishing in under 5 seconds.
> And got the following output at the end:
>
> real 0m58.261s
> user 0m0.055s
> sys 0m0.126s
This is unreasonably slow.
> During the test, CPU went from 100% idle to 0.0% idle (see top sample
> below):
CPU consumption is unreasonably high.
> CPU: 1.9% user, 0.0% nice, 98.1% system, 0.0% interrupt, 0.0% idle
All in the kernel.
> 3350 postfix 1 100 0 37580K 5572K RUN 4 0:08 25.32%
> smtpd
> 3353 postfix 1 100 0 37580K 5572K RUN 7 0:08 25.31%
> smtpd
> 3351 postfix 1 20 0 37580K 5572K lockf 3 0:07 23.97%
> smtpd
The SMTP servers are constantly waking spinning on the acceptor lock,
the O/S continuously delivers events even though there is nothing to do.
> 3367 postfix 1 4 0 37580K 5572K kqread 4 0:06 22.54%
> smtpd
More of same, the kqueue logic in the kernel keeps delivering
notifications.
> 3425 postfix 1 20 0 16052K 3440K lockf 0 0:00 15.89%
> cleanup
> 3374 postfix 1 20 0 16052K 3440K lockf 0 0:00 0.20%
> cleanup
> 3365 postfix 1 4 0 16052K 3440K kqread 1 0:00 0.13%
> cleanup
Cleanup is also spinning looking for events. Your kqueue support is
busted. Disable kqueue support, by adding "-DNO_KQUEUE" to CCARGS.
If that helps, try a stable FreeBSD release, perhaps kqueue is less
unwell there...
--
Viktor.