RE: only half of the problem solved -- cyrus deliver slow -- speeded up!
Thanks Chrisian, I got that. Now I don't see deliver process any more. Thanks for all, who gave me so many good ideas for tuning up my performance! I can deliver about 10 msg/sec now. I think disk IO is a big bif issue. I striped 3 disks into one and put IMAP mail store in that disk. It give me a big improvement in deliver speed. I did mean other tuning is not important. I am still looking for the bottle neck of speed delivery. Thanks all, Su -Original Message- From: Christian Schulte <[EMAIL PROTECTED]> To: Su Li <[EMAIL PROTECTED]> CC: [EMAIL PROTECTED] <[EMAIL PROTECTED]> Sent: Fri Sep 20 23:13:03 2002 Subject: Re: only half of the problem solved -- cyrus deliver slow Hi, I just read your posts. You definetly want to change the cyrus.m4 mailer definition. If you are already compiling sendmail, then have a look at the directory cf/mailer ! Therein is a file called cyrus.m4 which you just have to change to deliver to the socket you just created. I did that and it works much much better than with deliver! If you are unsure, then just download the actual sendmail release 8.12.6 and have a look at cf/mailer/cyrusv2.m4 in it. This should work! There is no need to switch to postfix! Here is my working cyrus.m4 file. Have a look at the Mcyrus mailer definition ! PUSHDIVERT(-1) # # Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. #All rights reserved. # # By using this file, you agree to the terms and conditions set # forth in the LICENSE file which can be found at the top level of # the sendmail distribution. # # # This code incorporates code from Carnegie Mellon University, whose # copyright notice and conditions of redistribution are as follows: # #*** #(C) Copyright 1995 by Carnegie Mellon University # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of CMU not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # #Contributed to Berkeley by John Gardiner Myers <[EMAIL PROTECTED]>. # _DEFIFNOT(`CYRUS_MAILER_FLAGS', `Ah5@/:|') ifdef(`CYRUS_MAILER_PATH',, `define(`CYRUS_MAILER_PATH', /usr/local/bin/deliver)') ifdef(`CYRUS_MAILER_ARGS',, `define(`CYRUS_MAILER_ARGS', `deliver -m $h -f $f -- $u')') ifdef(`CYRUS_MAILER_USER',, `define(`CYRUS_MAILER_USER', `cyrus:smmsp')') _DEFIFNOT(`CYRUS_BB_MAILER_FLAGS', `u') ifdef(`CYRUS_BB_MAILER_ARGS',, `define(`CYRUS_BB_MAILER_ARGS', `deliver -f $f -m $u')') define(`_CYRUS_QGRP', `ifelse(defn(`CYRUS_MAILER_QGRP'),`',`', ` Q=CYRUS_MAILER_QGRP,')')dnl POPDIVERT ## ### Cyrus Mailer specification ### ## VERSIONID(`$Id: cyrus.m4,v 8.23 2001/11/12 23:11:34 ca Exp $ (Carnegie Mellon)') Mcyrus, P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=FILE /usr/local/var/imap/socket/lmtp Mcyrusbb,P=CYRUS_MAILER_PATH, F=_MODMF_(CONCAT(`lsDFMn', CYRUS_BB_MAILER_FLAGS), `CYRUS'), S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER, T=DNS/RFC822/X-Unix,_CYRUS_QGRP A=CYRUS_BB_MAILER_ARGS Su Li wrote: >Thanks, > >I am thinking of switching to postfix. I hear a few things about it too. >Maybe I have to bug you some later time. But the bottle neck right now seems >like the imap server. > >For "enable lmtpunix", I think that is a very good point. > >I tried add the following line to imapd.conf: >lmtpsocket: /var/imap/socket/lmtp > >But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- >loadtest641". > >There must be something else I need to change to enable lmtpunix, and not to >use /cyrus/bin/deliver. >Should I do something in sendmail config file -- in your case postfix config >file? > >
Re: only half of the problem solved -- cyrus deliver slow
Hi, I just read your posts. You definetly want to change the cyrus.m4 mailer definition. If you are already compiling sendmail, then have a look at the directory cf/mailer ! Therein is a file called cyrus.m4 which you just have to change to deliver to the socket you just created. I did that and it works much much better than with deliver! If you are unsure, then just download the actual sendmail release 8.12.6 and have a look at cf/mailer/cyrusv2.m4 in it. This should work! There is no need to switch to postfix! Here is my working cyrus.m4 file. Have a look at the Mcyrus mailer definition ! PUSHDIVERT(-1) # # Copyright (c) 1998-2001 Sendmail, Inc. and its suppliers. #All rights reserved. # # By using this file, you agree to the terms and conditions set # forth in the LICENSE file which can be found at the top level of # the sendmail distribution. # # # This code incorporates code from Carnegie Mellon University, whose # copyright notice and conditions of redistribution are as follows: # #*** #(C) Copyright 1995 by Carnegie Mellon University # # All Rights Reserved # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, # provided that the above copyright notice appear in all copies and that # both that copyright notice and this permission notice appear in # supporting documentation, and that the name of CMU not be # used in advertising or publicity pertaining to distribution of the # software without specific, written prior permission. # # CMU DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING # ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL # CMU BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR # ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, # ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS # SOFTWARE. # #Contributed to Berkeley by John Gardiner Myers <[EMAIL PROTECTED]>. # _DEFIFNOT(`CYRUS_MAILER_FLAGS', `Ah5@/:|') ifdef(`CYRUS_MAILER_PATH',, `define(`CYRUS_MAILER_PATH', /usr/local/bin/deliver)') ifdef(`CYRUS_MAILER_ARGS',, `define(`CYRUS_MAILER_ARGS', `deliver -m $h -f $f -- $u')') ifdef(`CYRUS_MAILER_USER',, `define(`CYRUS_MAILER_USER', `cyrus:smmsp')') _DEFIFNOT(`CYRUS_BB_MAILER_FLAGS', `u') ifdef(`CYRUS_BB_MAILER_ARGS',, `define(`CYRUS_BB_MAILER_ARGS', `deliver -f $f -m $u')') define(`_CYRUS_QGRP', `ifelse(defn(`CYRUS_MAILER_QGRP'),`',`', ` Q=CYRUS_MAILER_QGRP,')')dnl POPDIVERT ## ### Cyrus Mailer specification ### ## VERSIONID(`$Id: cyrus.m4,v 8.23 2001/11/12 23:11:34 ca Exp $ (Carnegie Mellon)') Mcyrus, P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=FILE /usr/local/var/imap/socket/lmtp Mcyrusbb,P=CYRUS_MAILER_PATH, F=_MODMF_(CONCAT(`lsDFMn', CYRUS_BB_MAILER_FLAGS), `CYRUS'), S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, ifdef(`CYRUS_MAILER_MAX', `M=CYRUS_MAILER_MAX, ')U=CYRUS_MAILER_USER, T=DNS/RFC822/X-Unix,_CYRUS_QGRP A=CYRUS_BB_MAILER_ARGS Su Li wrote: >Thanks, > >I am thinking of switching to postfix. I hear a few things about it too. >Maybe I have to bug you some later time. But the bottle neck right now seems >like the imap server. > >For "enable lmtpunix", I think that is a very good point. > >I tried add the following line to imapd.conf: >lmtpsocket: /var/imap/socket/lmtp > >But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- >loadtest641". > >There must be something else I need to change to enable lmtpunix, and not to >use /cyrus/bin/deliver. >Should I do something in sendmail config file -- in your case postfix config >file? > > > >Any one knows how to set up sendmail for lmtp socket delivery so that I >don't get lots a deliver -e -m in the system? > > >Thanks, > >Su > > >-Original Message- >From: Scott Russell [mailto:[EMAIL PROTECTED]] >Sent: September 18, 2002 2:00 PM >To: Su Li >Cc: 'Lawrence Greenfield'; [EMAIL PROTECTED] >Subject: Re: only half of the problem solved -- cyrus deliver slow > > >On Wed, Sep 18, 2002 at 01:23:08PM -0400, Su Li wrote: > > >>I tried set sendmail configuration to deliverymode=queue. and use >> >> >"sendmail > > >>-db" and "sendmail -q1s". I got the same
RE: only half of the problem solved -- cyrus deliver slow
Su, According to the documentation (and my limited experience), for Sendmail, you'll want to use one of the following in your sendmail.mc file to generate the proper sendmail.cf lines, depending on your version of Cyrus Imapd and Sendmail. For Cyrus Imapd 2.x.x with Sendmail 8.11.x (doc/cyrusv2.mc file): - # divert(-1) # # (C) Copyright 2000 by Carnegie Mellon University # # This sample mc file is for a site that uses the Cyrus IMAP server # exclusively for local mail. This requires Sendmail 8.10 or later. # # $Id: cyrusv2.mc,v 1.3 2000/09/09 04:02:11 leg Exp $ divert(0)dnl VERSIONID(`cyrus v2 sample configuartion') OSTYPE(linux) define(`confBIND_OPTS',`-DNSRCH -DEFNAMES') define(`confTO_IDENT',`0') dnl setting cyrus as the trusted user will make it easier to pass dnl Sendmail's safefile checks. however, it means that someone with the dnl "cyrus" password could easily become root. dnl define(`confTRUSTED_USER', `cyrus') define(`confLOCAL_MAILER', `cyrus') FEATURE(`nocanonify') FEATURE(`always_add_domain') MAILER(`local') MAILER(`smtp') MAILER_DEFINITIONS Mcyrus, P=[IPC], F=lsDFMnqA@/:|SmXz, E=\r\n, S=EnvFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=FILE /var/imap/socket/lmtp LOCAL_RULE_0 Rbb + $+ < @ $=w . >$#cyrus $: + $1 -- For Cyrus Imapd 2.1.x (and possibly 2.0.x) with Sendmail 8.12.4 and above, use the cyrusv2 mailer definition in the Sendmail distribution (doc/install-configure.html): - define(`confLOCAL_MAILER', `cyrusv2') MAILER(`cyrusv2') These entries will deliver directly to the lmtp socket. Hope this helps, Will --On Wednesday, 18 September, 2002 14:42 -0400 Su Li <[EMAIL PROTECTED]> wrote: > Thanks Scott, > > I am thinking of switching to postfix. I hear a few things about it too. > Maybe I have to bug you some later time. But the bottle neck right now > seems like the imap server. > > For "enable lmtpunix", I tried add the following line to imapd.conf: > lmtpsocket: /var/imap/socket/lmtp > > But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- > loadtest641". > > There must be something else I need to change to enable lmtpunix, and not > to use /cyrus/bin/deliver. > Should I do something in sendmail config file -- in your case postfix > config file? > > > > Any one knows how to set up sendmail for lmtp socket delivery so that I > don't get lots a deliver -e -m in the system? > > > Thanks, > > Su > > > -----Original Message- > From: Scott Russell [mailto:[EMAIL PROTECTED]] > Sent: September 18, 2002 2:00 PM > To: Su Li > Cc: 'Lawrence Greenfield'; [EMAIL PROTECTED] > Subject: Re: only half of the problem solved -- cyrus deliver slow > > > On Wed, Sep 18, 2002 at 01:23:08PM -0400, Su Li wrote: >> I tried set sendmail configuration to deliverymode=queue. and use > "sendmail >> -db" and "sendmail -q1s". I got the same through put. I using sendmail >> 8.11.6, will that effect the through put the email delivery of cyrus >> imap? > >> >> I did went through the configuration of sendmail about cyrus. But I still >> get: >> >> cyrus 3645 3644 0 13:17 ?00:00:00 deliver -e -m -- >> loadtest510 >> >> Is that the process that you was talking about, which is not good for >> performance? If yes, what should I change? > > I'm not a sendmail user, I use postfix instead. It's easier to > configure and maintain. It's well supported, has an active mailing > list, good docs, and in general it 'just works'. > > If you're spawning /usr/cyrus/bin/deliver processes as it appears in > your ps listing then yes, that's going to hurt you. > > In your cyrus.conf enable lmtpunix: socket and configure sendmail to > deliver directly to the socket, not use the deliver binary. > > If you want to switch to postfix let me know. I'll help you configure > it. For sendmail you should ask someone else on this list, or the > sendmail list, how to setup sendmail for lmtp socket delivery. > > -- > Scott Russell ([EMAIL PROTECTED]) > Linux Technology Center, System Admin, RHCE. > Dial 877-735-8200 then ask for 919-543-9289 (TTY) William K. Hardeman [EMAIL PROTECTED] http://www.wkh.org The most exciting phrase to hear in science, the one that heralds new discoveries, is not "Eureka!" (I found it!) but "That's funny ..." -- Isaac Asimov Always listen to experts. They'll tell you what can't be done and why. Then do it. --Robert A. Heinlein
Re: only half of the problem solved -- cyrus deliver slow
On Wed, Sep 18, 2002 at 02:42:04PM -0400, Su Li wrote: > For "enable lmtpunix", I tried add the following line to imapd.conf: > lmtpsocket: /var/imap/socket/lmtp Correct. This means that Cyrus is now listening for inbound emails at that socket. > But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- > loadtest641". > > There must be something else I need to change to enable lmtpunix, and not to > use /cyrus/bin/deliver. > Should I do something in sendmail config file -- in your case postfix config > file? Correct. You _must_ now tell sendmail to use the unix:/var/imap/socket/lmtp socket for lmtp delivery. Currently you have it configured to use the 'deliver' binary. Don't ask me how you do this, just know that the problem isn't in the cyrus config, it's in your sendmail config. -- Scott Russell ([EMAIL PROTECTED]) Linux Technology Center, System Admin, RHCE. Dial 877-735-8200 then ask for 919-543-9289 (TTY)
RE: only half of the problem solved -- cyrus deliver slow
Thanks Scott, I am thinking of switching to postfix. I hear a few things about it too. Maybe I have to bug you some later time. But the bottle neck right now seems like the imap server. For "enable lmtpunix", I tried add the following line to imapd.conf: lmtpsocket: /var/imap/socket/lmtp But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- loadtest641". There must be something else I need to change to enable lmtpunix, and not to use /cyrus/bin/deliver. Should I do something in sendmail config file -- in your case postfix config file? Any one knows how to set up sendmail for lmtp socket delivery so that I don't get lots a deliver -e -m in the system? Thanks, Su -Original Message- From: Scott Russell [mailto:[EMAIL PROTECTED]] Sent: September 18, 2002 2:00 PM To: Su Li Cc: 'Lawrence Greenfield'; [EMAIL PROTECTED] Subject: Re: only half of the problem solved -- cyrus deliver slow On Wed, Sep 18, 2002 at 01:23:08PM -0400, Su Li wrote: > I tried set sendmail configuration to deliverymode=queue. and use "sendmail > -db" and "sendmail -q1s". I got the same through put. I using sendmail > 8.11.6, will that effect the through put the email delivery of cyrus imap? > > I did went through the configuration of sendmail about cyrus. But I still > get: > > cyrus 3645 3644 0 13:17 ?00:00:00 deliver -e -m -- > loadtest510 > > Is that the process that you was talking about, which is not good for > performance? If yes, what should I change? I'm not a sendmail user, I use postfix instead. It's easier to configure and maintain. It's well supported, has an active mailing list, good docs, and in general it 'just works'. If you're spawning /usr/cyrus/bin/deliver processes as it appears in your ps listing then yes, that's going to hurt you. In your cyrus.conf enable lmtpunix: socket and configure sendmail to deliver directly to the socket, not use the deliver binary. If you want to switch to postfix let me know. I'll help you configure it. For sendmail you should ask someone else on this list, or the sendmail list, how to setup sendmail for lmtp socket delivery. -- Scott Russell ([EMAIL PROTECTED]) Linux Technology Center, System Admin, RHCE. Dial 877-735-8200 then ask for 919-543-9289 (TTY)
RE: only half of the problem solved -- cyrus deliver slow
Thanks, I am thinking of switching to postfix. I hear a few things about it too. Maybe I have to bug you some later time. But the bottle neck right now seems like the imap server. For "enable lmtpunix", I think that is a very good point. I tried add the following line to imapd.conf: lmtpsocket: /var/imap/socket/lmtp But I still get: " cyrus 9425 9418 0 14:28 ? 00:00:00 deliver -e -m -- loadtest641". There must be something else I need to change to enable lmtpunix, and not to use /cyrus/bin/deliver. Should I do something in sendmail config file -- in your case postfix config file? Any one knows how to set up sendmail for lmtp socket delivery so that I don't get lots a deliver -e -m in the system? Thanks, Su -Original Message- From: Scott Russell [mailto:[EMAIL PROTECTED]] Sent: September 18, 2002 2:00 PM To: Su Li Cc: 'Lawrence Greenfield'; [EMAIL PROTECTED] Subject: Re: only half of the problem solved -- cyrus deliver slow On Wed, Sep 18, 2002 at 01:23:08PM -0400, Su Li wrote: > I tried set sendmail configuration to deliverymode=queue. and use "sendmail > -db" and "sendmail -q1s". I got the same through put. I using sendmail > 8.11.6, will that effect the through put the email delivery of cyrus imap? > > I did went through the configuration of sendmail about cyrus. But I still > get: > > cyrus 3645 3644 0 13:17 ?00:00:00 deliver -e -m -- > loadtest510 > > Is that the process that you was talking about, which is not good for > performance? If yes, what should I change? I'm not a sendmail user, I use postfix instead. It's easier to configure and maintain. It's well supported, has an active mailing list, good docs, and in general it 'just works'. If you're spawning /usr/cyrus/bin/deliver processes as it appears in your ps listing then yes, that's going to hurt you. In your cyrus.conf enable lmtpunix: socket and configure sendmail to deliver directly to the socket, not use the deliver binary. If you want to switch to postfix let me know. I'll help you configure it. For sendmail you should ask someone else on this list, or the sendmail list, how to setup sendmail for lmtp socket delivery. -- Scott Russell ([EMAIL PROTECTED]) Linux Technology Center, System Admin, RHCE. Dial 877-735-8200 then ask for 919-543-9289 (TTY)
Re: only half of the problem solved -- cyrus deliver slow
On Wed, Sep 18, 2002 at 01:23:08PM -0400, Su Li wrote: > I tried set sendmail configuration to deliverymode=queue. and use "sendmail > -db" and "sendmail -q1s". I got the same through put. I using sendmail > 8.11.6, will that effect the through put the email delivery of cyrus imap? > > I did went through the configuration of sendmail about cyrus. But I still > get: > > cyrus 3645 3644 0 13:17 ?00:00:00 deliver -e -m -- > loadtest510 > > Is that the process that you was talking about, which is not good for > performance? If yes, what should I change? I'm not a sendmail user, I use postfix instead. It's easier to configure and maintain. It's well supported, has an active mailing list, good docs, and in general it 'just works'. If you're spawning /usr/cyrus/bin/deliver processes as it appears in your ps listing then yes, that's going to hurt you. In your cyrus.conf enable lmtpunix: socket and configure sendmail to deliver directly to the socket, not use the deliver binary. If you want to switch to postfix let me know. I'll help you configure it. For sendmail you should ask someone else on this list, or the sendmail list, how to setup sendmail for lmtp socket delivery. -- Scott Russell ([EMAIL PROTECTED]) Linux Technology Center, System Admin, RHCE. Dial 877-735-8200 then ask for 919-543-9289 (TTY)
RE: only half of the problem solved -- cyrus deliver slow
I tried set sendmail configuration to deliverymode=queue. and use "sendmail -db" and "sendmail -q1s". I got the same through put. I using sendmail 8.11.6, will that effect the through put the email delivery of cyrus imap? I did went through the configuration of sendmail about cyrus. But I still get: cyrus 3645 3644 0 13:17 ?00:00:00 deliver -e -m -- loadtest510 Is that the process that you was talking about, which is not good for performance? If yes, what should I change? Thanks a lot, Su -Original Message- From: Lawrence Greenfield [mailto:[EMAIL PROTECTED]] Sent: September 17, 2002 3:36 PM To: [EMAIL PROTECTED]; Su Li Subject: Re: only half of the problem solved -- cyrus deliver slow What version of Sendmail are you using? You want Sendmail 8.12.4 or later. You should consider running Sendmail in deliverymode=queue with frequent queue runs if you want the best possible performance. (Take a look sendmail/TUNING in the Sendmail distribution.) You should also configure Sendmail as described in the Cyrus documentation, using LMTP delivery to Cyrus. You don't want "deliver" processes---it's a completely unnecessary fork. There's an Addison Wesley book on "sendmail performance tuning" soon to come out that might help you with this. I'm going to be receiving a review copy and I'll report on it. Larry
RE: only half of the problem solved -- cyrus deliver slow
The testing tool is simply do SMTP to send emails. I can specify how many connections by number of threads. It's runing on another machine. The tool has been used to test other mail servers, didn't find any problem. The other mail server can deliver 20 msg/sec. So it doesn't seems like the test tool's problem. I don't know how to limit the number of lmtp. If I can limit it by changing the code, will it help? Thanks, Su -Original Message- From: Rob Siemborski [mailto:[EMAIL PROTECTED]] Sent: September 17, 2002 3:01 PM To: Su Li Cc: [EMAIL PROTECTED] Subject: Re: only half of the problem solved -- cyrus deliver slow On Tue, 17 Sep 2002, Su Li wrote: > I wonder, why cyrus behave so differently, when sendmail resend the mails > and when sendmail normally deliver mails. > > I think my job in improving the deliver speed is only half done. Sure I > limit the number of of lmtpd processes, so that they wouldn't fight for > lock? If so, how can I limit the number of lmtpd processes? Are you running your test tool on the same system? How does it work? It is possible that your tool is putting a tremendous load on the system. It is also possible that since a queue run happens with a single lmtp connection, there is less contention. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper
RE: only half of the problem solved -- cyrus deliver slow
Quoting Su Li <[EMAIL PROTECTED]>: > Thanks Larry, > > I followed http://www.tldp.org/HOWTO/Cyrus-IMAP-7.html to setup my > sendmail. We need to get the authors of these HOWTOs to get them up to date with v2.1 or people need to stop using them without reading the included documentation. > MAILER(local) > MAILER(cyrus) > define(`confLOCAL_MAILER',`cyrus') > LOCAL_RULE_0 > R$=N $: $#local $: $1 > R$=N < @ $=w . > $: $#local $: $1 > Rbb + $+ < @ $=w . > $#cyrusbb $: $1 > > One thing I don't understand is how do I not use "deliver". Read doc/install-configure.html#mta in the Cyrus docs. Ken -- Kenneth Murchison Oceana Matrix Ltd. Software Engineer 21 Princeton Place 716-662-8973 x26 Orchard Park, NY 14127 --PGP Public Key--http://www.oceana.com/~ken/ksm.pgp
RE: only half of the problem solved -- cyrus deliver slow
Thanks Larry, I followed http://www.tldp.org/HOWTO/Cyrus-IMAP-7.html to setup my sendmail. MAILER(local) MAILER(cyrus) define(`confLOCAL_MAILER',`cyrus') LOCAL_RULE_0 R$=N $: $#local $: $1 R$=N < @ $=w . > $: $#local $: $1 Rbb + $+ < @ $=w . > $#cyrusbb $: $1 One thing I don't understand is how do I not use "deliver". Right now, when the system is running, I got from ps -ef|grep deliver: cyrus23916 23915 0 19:50 ?00:00:00 deliver -e -m -- loadtest4707 cyrus23921 23920 1 19:50 ?00:00:00 deliver -e -m -- loadtest1400 cyrus23924 23923 0 19:50 ?00:00:00 deliver -e -m -- loadtest1554 cyrus23931 23930 0 19:50 ?00:00:00 deliver -e -m -- loadtest651 cyrus23934 23933 1 19:50 ?00:00:00 deliver -e -m -- loadtest3352 cyrus23939 23938 0 19:50 ?00:00:00 deliver -e -m -- loadtest2848 cyrus23943 23942 0 19:50 ?00:00:00 deliver -e -m -- loadtest2943 Is that the "deliver" you mean? If yes, how do I diable it? For "deliverymode=queue", I changed in /etc/sendmail.cf. After that when I send mail, I can not get it, unless I restart sendmail. Any thing else I should do? Thanks, Su -Original Message- From: Lawrence Greenfield [mailto:[EMAIL PROTECTED]] Sent: September 17, 2002 3:36 PM To: [EMAIL PROTECTED]; Su Li Subject: Re: only half of the problem solved -- cyrus deliver slow What version of Sendmail are you using? You want Sendmail 8.12.4 or later. You should consider running Sendmail in deliverymode=queue with frequent queue runs if you want the best possible performance. (Take a look sendmail/TUNING in the Sendmail distribution.) You should also configure Sendmail as described in the Cyrus documentation, using LMTP delivery to Cyrus. You don't want "deliver" processes---it's a completely unnecessary fork. There's an Addison Wesley book on "sendmail performance tuning" soon to come out that might help you with this. I'm going to be receiving a review copy and I'll report on it. Larry
Re: only half of the problem solved -- cyrus deliver slow
What version of Sendmail are you using? You want Sendmail 8.12.4 or later. You should consider running Sendmail in deliverymode=queue with frequent queue runs if you want the best possible performance. (Take a look sendmail/TUNING in the Sendmail distribution.) You should also configure Sendmail as described in the Cyrus documentation, using LMTP delivery to Cyrus. You don't want "deliver" processes---it's a completely unnecessary fork. There's an Addison Wesley book on "sendmail performance tuning" soon to come out that might help you with this. I'm going to be receiving a review copy and I'll report on it. Larry
Re: only half of the problem solved -- cyrus deliver slow
On Tue, 17 Sep 2002, Su Li wrote: > I wonder, why cyrus behave so differently, when sendmail resend the mails > and when sendmail normally deliver mails. > > I think my job in improving the deliver speed is only half done. Sure I > limit the number of of lmtpd processes, so that they wouldn't fight for > lock? If so, how can I limit the number of lmtpd processes? Are you running your test tool on the same system? How does it work? It is possible that your tool is putting a tremendous load on the system. It is also possible that since a queue run happens with a single lmtp connection, there is less contention. -Rob -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Rob Siemborski * Andrew Systems Group * Cyert Hall 207 * 412-268-7456 Research Systems Programmer * /usr/contributed Gatekeeper
only half of the problem solved -- cyrus deliver slow
Hi, I am trying to speed up the speed of mail delivery. I have used separate disk for /spool/queue for sendmail, separate disk for /var/imap/ (fs: ext2). I moved syslog to another machine. I changed /var/imap to be no-sync by doing chattr -S. Now I did improved the speed of delivery to 5.5 messages/sec. If I send faster(using my test tool), I will see a lots of lmtpd processes and DBERROR db4: 300 lockers ... It looks to me, too many lmtpd process are fighting for a lock. But I when I kill master process and send emails to sendmail, sendmail will queue up mails in /var/mqueue. Then I start master process and restart sendmail. Sendmail will resend the mails in /var/mqueue. Bye doing that I can get 17 messages/sec, and I don't get any error message. There are only one or two lmtpd process in the system. I found that, for each email, sendmail will create a deliver process to deliver it to lmtpd. It will try again and again to send to lmtpd. If the maser feel the need, it will create a lmtpd process to handle new mails. I wonder, why cyrus behave so differently, when sendmail resend the mails and when sendmail normally deliver mails. I think my job in improving the deliver speed is only half done. Sure I limit the number of of lmtpd processes, so that they wouldn't fight for lock? If so, how can I limit the number of lmtpd processes? Thanks, Su Research In Motion (519)888-7465 ext 3041