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.