pop3d proxy

Ken Murchison ken at oceana.com
Mon Mar 15 15:20:04 EST 2004


Michael J Farina wrote:

> I am still chasing this pop3 problem. I have now tried PLAIN+TLS for proxy
> authentication. I see the same issue of pop3 proxy being slow. With more
> investigation I see that I can open alot of connections on the frontend
> server but they don't see to get passed to the backend. I have tried
> starting master with a -l 1024 and in my cyrus.conf I have preforked 50
> pop3d and maxchild=-1. Nothing seems to make the connection counts greater.
> Could I be hitting some max connection per IP limit that I can't see when I
> connect directly to the backend?

I still think this is network related.  Is it possible that DNS is slow? 
  Can you strace/truss the process to see what it is doing?  What 
happens if you use pop3test against the proxy, specifying the number of 
logins with the -n option.

> 
> 
> ----- Original Message ----- 
> From: "Michael J Farina" <mfarina at cvzoom.net>
> To: "Ken Murchison" <ken at oceana.com>
> Cc: <info-cyrus at lists.andrew.cmu.edu>
> Sent: Friday, March 12, 2004 1:13 PM
> Subject: Re: pop3d proxy
> 
> 
> 
>>It seems that the delay is in the connection. I have played with the
> 
> backlog
> 
>>queue, the max child, and prefork settings without being able to make it
> 
> any
> 
>>faster. I am logging in a doing a list command. The mailboxes are all
> 
> empty
> 
>>so I am not thinking that once the connection is authed it is slow. It is
>>just getting the frontend to open enough connections to the backend. I
> 
> can't
> 
>>seem to nail down what the problem is. If I connect the stress test to the
>>backend it is very fast less than a second a connection. If I can provide
>>anymore info let me know. I am looking to have over 150,000 boxes they are
>>all pop now but I want to offer IMAP.
>>
>>--Mike
>>
>>
>>----- Original Message ----- 
>>From: "Ken Murchison" <ken at oceana.com>
>>To: "Michael J Farina" <mfarina at cvzoom.net>
>>Cc: <info-cyrus at lists.andrew.cmu.edu>
>>Sent: Friday, March 12, 2004 9:54 AM
>>Subject: Re: pop3d proxy
>>
>>
>>
>>>Michael J Farina wrote:
>>>
>>>
>>>>Ken,
>>>>
>>>>    Is there a way to do PLAIN from the frontends to the backends? The
>>>>servers I am testing are on a isolated network no network traffic
> 
> other
> 
>>than
>>
>>>>the mail servers. Any help would be appreciated. sasl_maximum_layer:0
>>
>>didn't
>>
>>>>seem to change the pop3 proxy timing. The server are also dual 1.4s
> 
> with
> 
>>2
>>
>>>>gigs of ram if that helps at all.
>>>
>>>You can do PLAIN, but the frontends will also need to use TLS, since
>>>PLAIN won't be advertised by the backends unless a security layer is in
>>>place.
>>>
>>>Are you saying that there is a delay for every command, or for every
>>>login?  Is your stress test only doing one command per login?
>>>
>>>
>>>
>>>>----- Original Message ----- 
>>>>From: "Ken Murchison" <ken at oceana.com>
>>>>To: "Michael J Farina" <mfarina at cvzoom.net>
>>>>Cc: <info-cyrus at lists.andrew.cmu.edu>
>>>>Sent: Thursday, March 11, 2004 4:58 PM
>>>>Subject: Re: pop3d proxy
>>>>
>>>>
>>>>
>>>>
>>>>>Michael J Farina wrote:
>>>>>
>>>>>
>>>>>
>>>>>>I am setting up a cyrus imap murder for a large number of accounts.
> 
> In
> 
>>>>my
>>>>
>>>>
>>>>>>stress testing I have noticed that the pop3 proxy has quite a delay.
>>>>
>>>>When I
>>>>
>>>>
>>>>>>connect directly to a backend I can check mail at a very fast rate
>>
>>about
>>
>>>>.5
>>>>
>>>>
>>>>>>secs a mailbox. When I connect to the proxy the wait time increases a
>>>>
>>>>ton to
>>>>
>>>>
>>>>>>about 5 secs. I am thinking I must have a configuration problem. I
> 
> will
> 
>>>>>>include my imapd.conf and my cyrus.conf I am using cyrus 2.2.3.
>>>>>
>>>>>Once you authenticate and the mailbox is opened on the backend, the
>>>>>proxy just acts as a bitpipe between the client and backend, so there
>>>>>should be very little overhead.
>>>>>
>>>>>You *might* be seeing a slowdown because the frontend is
> 
> authenticating
> 
>>>>>to the backend using DIGEST-MD5 with a security layer or TLS+PLAIN.
> 
> In
> 
>>>>>either case you have encrypt/decrypt overhead.
>>>>>
>>>>>If using DIGEST-MD5, you could try setting sasl_maximum_layer:0 on the
>>>>>backend, which will prevent the security layer from being negotiated.
>>>>>
>>>>>Otherwise, the only other delay that I could think of would be network
>>>>>related.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>Frontend cyrus.conf
>>>>>>
>>>>>>START {
>>>>>> mboxlist      cmd="ctl_cyrusdb -r"
>>>>>>}
>>>>>>
>>>>>># UNIX sockets start with a slash and are put into /var/imap/sockets
>>>>>>SERVICES {
>>>>>> # mupdate database service - must prefork atleast 1
>>>>>> mupdate       cmd="/usr/cyrus/bin/mupdate -m" listen=3905 prefork=1
>>>>>>
>>>>>> # add or remove based on preferences
>>>>>> imap          cmd="proxyd" listen="imap" prefork=5
>>>>>> pop3          cmd="pop3proxyd" listen="pop3" prefork=5 maxchild=-1
>>>>>> sieve         cmd="timsieved" listen="sieve" prefork=0
>>>>>>
>>>>>> lmtp          cmd="lmtpproxyd" listen="/var/imap/socket/lmtp"
>>>>
>>>>prefork=0
>>>>
>>>>
>>>>>>}
>>>>>>
>>>>>>EVENTS {
>>>>>> checkpoint    cmd="ctl_cyrusdb -c" period=5
>>>>>>}
>>>>>>
>>>>>>Frontend imapd.conf
>>>>>>
>>>>>>configdirectory: /var/imap
>>>>>>partition-default: /tmp
>>>>>>admins: cyrus
>>>>>>sasl_pwcheck_method: saslauthd
>>>>>>allowplaintext: 1
>>>>>>mupdate_admin: murder
>>>>>>mupdate_server: frontend
>>>>>>mupdate_password: murder pass
>>>>>>proxy_authname: proxy
>>>>>>proxy_password: proxy pass
>>>>>>unixhierarchysep: 1
>>>>>>sasl_mech_list: PLAIN
>>>>>>
>>>>>>
>>>>>>Backend cyrus.conf
>>>>>>
>>>>>>START {
>>>>>> recover       cmd="ctl_cyrusdb -r"
>>>>>> mupdatepush   cmd="ctl_mboxlist -m"
>>>>>>}
>>>>>>
>>>>>># UNIX sockets start with a slash and are put into /var/imap/sockets
>>>>>>SERVICES {
>>>>>> # add or remove based on preferences
>>>>>> imap          cmd="imapd" listen="imap" prefork=5
>>>>>> pop3          cmd="pop3d" listen="pop3" prefork=0  maxchild=-1
>>>>>>
>>>>>> # at least one LMTP is required for delivery
>>>>>> lmtp          cmd="lmtpd" listen="lmtp" prefork=2
>>>>>>
>>>>>>}
>>>>>>EVENTS {
>>>>>> # this is required
>>>>>> checkpoint    cmd="ctl_cyrusdb -c" period=5
>>>>>>}
>>>>>>
>>>>>>Backend imapd.conf
>>>>>>
>>>>>>configdirectory: /var/imap
>>>>>>partition-default: /var/spool/imap
>>>>>>admins: cyrus
>>>>>>mupdate_server: frontend
>>>>>>mupdate_authname: murder
>>>>>>mupdate_password: murder pass
>>>>>>
>>>>>>allowplaintext: yes
>>>>>>sasl_pwcheck_method: saslauthd
>>>>>>sasl_mech_list: PLAIN DIGEST-MD5
>>>>>>proxyservers: proxy
>>>>>>unixhierarchysep: 1
>>>>>>defaultacl: anyone rsd
>>>>>>
>>>>>>
>>>>>>---
>>>>>>Home Page: http://asg.web.cmu.edu/cyrus
>>>>>>Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>>>>>List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>>>>
>>>>>
>>>>>
>>>>>-- 
>>>>>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
>>>>>
>>>>>
>>>>
>>>>
>>>>---
>>>>Home Page: http://asg.web.cmu.edu/cyrus
>>>>Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>>>List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>>
>>>
>>>
>>>-- 
>>>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
>>>---
>>>Home Page: http://asg.web.cmu.edu/cyrus
>>>Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>>List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
> 


-- 
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
---
Home Page: http://asg.web.cmu.edu/cyrus
Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list