On Wed, Mar 04, 2009 at 10:15:05AM +0100, Santiago Romero wrote:

> ####   /etc/postfix/master.cf
> slow     unix  -       -       -       -       -       smtp
>  -o syslog_name=postfix-slow
>
>
> ####   /etc/postfix/main.cf
> # Special "slow" transport:
> slow_destination_recipient_limit=1

A really BAD idea, don't do this. Set a recipient limit of at least 2 and
ideally 10 or even the defaul of 50 unless the receiving system enforces
a tighter limit.

> slow_destination_concurrency_limit=1

Unnecessary:

> slow_destination_rate_delay=5

With this you get 5 seconds between deliveries to each destination queue,
but the queues are *per-user* if the recipient limit is 1.

> Stracing qmgr process for a while (before restarting postfix), showed lots 
> of lines like:
>
> time(NULL)                              = 1236156322
> epoll_ctl(8, EPOLL_CTL_DEL, 128, {EPOLLIN, {u32=128, 
> u64=13252642876283682944}}) = 0
> fcntl64(128, F_GETFL)                   = 0x802 (flags O_RDWR|O_NONBLOCK)
> fcntl64(128, F_SETFL, O_RDWR)           = 0
> ioctl(128, FIONREAD, [10])              = 0
> poll([{fd=128, events=POLLIN, revents=POLLIN}], 1, 3600000) = 1
> read(128, "status\0000\0\0", 4096)      = 10
> gettimeofday({1236156322, 508869}, NULL) = 0
> close(128)                              = 0
> epoll_ctl(8, EPOLL_CTL_DEL, 129, {EPOLLIN, {u32=129, 
> u64=13252642876283682945}}) = 0
> fcntl64(129, F_GETFL)                   = 0x802 (flags O_RDWR|O_NONBLOCK)
> fcntl64(129, F_SETFL, O_RDWR)           = 0
> ioctl(129, FIONREAD, [10])              = 0
> poll([{fd=129, events=POLLIN, revents=POLLIN}], 1, 3600000) = 1
> read(129, "status\0000\0\0", 4096)      = 10
> gettimeofday({1236156322, 510488}, NULL) = 0
> close(129)                              = 0
> alarm(333)                              = 333
> socket(PF_FILE, SOCK_STREAM, 0)         = 13
> fcntl64(13, F_GETFL)                    = 0x2 (flags O_RDWR)
> fcntl64(13, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> connect(13, {sa_family=AF_FILE, path="private/slow"}, 110) = 0
> gettimeofday({1236156322, 513893}, NULL) = 0
> fcntl64(13, F_DUPFD, 128)               = 128
> close(13)                               = 0
> epoll_ctl(8, EPOLL_CTL_ADD, 128, {EPOLLIN, {u32=128, 
> u64=13834671851822907520}}) = 0
> time(NULL)                              = 1236156322
> socket(PF_FILE, SOCK_STREAM, 0)         = 13
> fcntl64(13, F_GETFL)                    = 0x2 (flags O_RDWR)
> fcntl64(13, F_SETFL, O_RDWR|O_NONBLOCK) = 0
> connect(13, {sa_family=AF_FILE, path="private/slow"}, 110) = 0
> gettimeofday({1236156322, 515731}, NULL) = 0
> fcntl64(13, F_DUPFD, 128)               = 129
> close(13)                               = 0
> epoll_ctl(8, EPOLL_CTL_ADD, 129, {EPOLLIN, {u32=129, 
> u64=13834671851822907521}}) = 0
> time(NULL)                              = 1236156322
> ioctl(3, FIONREAD, [100])               = 0
> time(NULL)                              = 1236156322

Is it the queue manager that's burning CPU? Nothing too interesting
here.

-- 
        Viktor.

Disclaimer: off-list followups get on-list replies or get ignored.
Please do not ignore the "Reply-To" header.

To unsubscribe from the postfix-users list, visit
http://www.postfix.org/lists.html or click the link below:
<mailto:majord...@postfix.org?body=unsubscribe%20postfix-users>

If my response solves your problem, the best way to thank me is to not
send an "it worked, thanks" follow-up. If you must respond, please put
"It worked, thanks" in the "Subject" so I can delete these quickly.

Reply via email to