Re: improving concurrency/performance

From: John Madden (no email)
Date: Tue Nov 08 2005 - 09:25:54 EST

  • Next message: Alexander Dalloz: "Re: Set quota"

    > As expected, these are from locking operations. 0x8 is file descriptor,
    > which, if I read lsof output correctly, points to config/socket/imap-0.lock
    > (what would that be?) and 0x7 is F_SETLKW which reads as "set lock or wait
    > for it to be released" in the manual page.

    Yup, that's exactly the sort of thing I was suspecting -- the performance I was
    seeing just didn't make sense.

    imap-0.lock is in /var/imap/socket for me. I believe it's one of the lock files
    created when cyrus is started, so it wouldn't make any sense for imapd to ever be
    spinning on it.

    The delays I was seeing ocurred when multiple imapd's were writing to the spool at
    the same time. I do see a lot of this though:

    fcntl(6, F_SETLKW, {type=F_UNLCK, whence=SEEK_SET, start=0, len=0}) = 0

    It looks like the lock to open a file in the target mailbox. But again, very low
    actual throughput and still little or no iowait. However, adding a -c to the
    strace, the top three syscalls are:

    % time seconds usecs/call calls errors syscall
    ------ ----------- ----------- --------- --------- ----------------
     52.68 0.514720 1243 414 fdatasync
     29.87 0.291830 846 345 fsync
      4.19 0.040898 27 1519 fcntl

    Makes me wonder why the fsync's are taking so long since the disk is performing so
    well. Anyone know if that's actually typical?

    Also interesting is the errors column for the open() call on this strace:

    % time seconds usecs/call calls errors syscall
    ------ ----------- ----------- --------- --------- ----------------
      1.07 0.019902 17 622 130 open

    Why 130 errors? I assume if there's an error that the call is re-tried...

    John

    -- 
    John Madden
    UNIX Systems Engineer
    Ivy Tech Community College of Indiana
    ----
    Cyrus Home Page: http://asg.web.cmu.edu/cyrus
    Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
    List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
    

  • Next message: Alexander Dalloz: "Re: Set quota"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD