Re: Cyrus, Solaris 10, ZFS? (and NIS?)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Oct 5, 2006, at 1:59 PM, Elizabeth Schwartz wrote:

>There's a bug in ZFS regarding performance problems when fsync'ing
>file descriptors -- there's apparently going to be a patch coming
>"real soon now" -- your options are:

Thanks!

Ugh, that would be bad news. Except, I think the delay is happening earlier. The delay is between the A001 login and A001 ok, and the only zfs file system is the mail spool (I should have spelled that out)

Have you verified the contents of /etc/nsswitch.conf ? Have you tried pointing its ypservers at localhost (since you say this server is also a NIS slave)? Also check the contents of /etc/nscd.conf on your old server and compare it to the new.

I've been playing with the dtrace toolkit this afternoon - still a bit stuck on how to get from my tcp port connection to the process number to run dtrace dtruss (lsof *should* be the right tool but I'm missing a step somewhere)

Do this:

To simplify, telnet to your imap server's imap port from a machine that otherwise has no connections to that server.

On the imap server, and assuming that your imapd processes run under a certain username such as "cyrus", run the following command, replacing the -u argument in pgrep with your imapd user and the IP address in the egrep portion with the IP address you are telnetting from:

   pfiles `pgrep -u cyrus imapd` | egrep '(imapd|xxx.xxx.xxx.xxx)'

You will then get output similar to the following:

25723:  imapd
26910:  imapd
25084:  imapd
27962:  imapd
        peername: AF_INET xxx.xxx.xxx.xxx  port: 50630
        peername: AF_INET xxx.xxx.xxx.xxx  port: 50630
        peername: AF_INET xxx.xxx.xxx.xxx  port: 50630
8772:   imapd

With the above, imapd PID 27962 is your process to debug your problem with.

Run 'pldd <PID> | grep libsasl2' and not the full name of the libsasl2 library your imapd uses, such as "libsasl2.so.2.0.21" sans the preceding path (ie, leave off /usr/local/lib)

Download the Dtrace Toolkit (google for it) and run the dappprof program. Now run it against the imapd PID and only key in on the calls made by the SASL library:

dappprof -u libsasl2.so.2.0.21 -F -p <PID>

Over in your imapd telnet window, issue a login command (A001 LOGIN foo bar). After the login returns, hit Ctrl-C in dappprof and look at the times (which are in microseconds, so move the decimal place as you see fit to better understand the times).

Look for which function in SASL takes the longest to return.

/dale

--
Dale Ghent
UNIX Systems Specialist
UMBC - Office of Information Technology
ECS 201 - x51705



----
Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

[Index of Archives]     [Cyrus SASL]     [Squirrel Mail]     [Asterisk PBX]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [KDE]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux