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

Chaskiel M Grundman cg2v at andrew.cmu.edu
Thu Oct 5 16:46:54 EDT 2006



--On Thursday, October 05, 2006 04:13:18 PM -0400 Elizabeth Schwartz 
<betsy.schwartz at gmail.com> wrote:

> http://www.gsd.harvard.edu/users/betsys/dapptrace.timed

The interesting bit seems to be here:
      .      . -> mynewstate(0x165769, 0x40404040, 0x0)
      .      . -> mycanonifyid(0x165769, 0x0, 0x0)
      .      . -> libcyrus_config_getswitch(0x2, 0x11AF55, 0x5)
     43      5 <- libcyrus_config_getswitch = 84
    135     20 <- mycanonifyid = 292
      .      . -> xmalloc(0x5C, 0x11AF5D, 0x5)
     38     14 <- xmalloc = 28
      .      . -> libcyrus_config_getswitch(0x1, 0x0, 0x1647CB)
     40      3 <- libcyrus_config_getswitch = 84
      .      . -> xrealloc(0x0, 0x4, 0xE488)
     68     14 <- xrealloc = 64
      .      . -> xstrdup(0x16871C, 0x4, 0xE488)
      .      . -> xmalloc(0x9, 0x2A0031, 0x168724)
     30      7 <- xmalloc = 28
     94     16 <- xstrdup = 40
8235260 109820 <- mynewstate = 356

mynewstate is taking 8s to run, and very little of the time is taken up in 
local subroutines.
auth_unix.c:mynewstate calls getpwnam, and then iterates over all the 
groups using getgrent(),
checking to see what groups the user is in. The fact that imapd does this 
twice might be a bug, but even if it didn't do it twice, it would still be 
slow.

Is running "getent group" slow?


More information about the Info-cyrus mailing list