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

From: Igor Brezac (no email)
Date: Thu Oct 05 2006 - 22:27:41 EDT

  • Next message: Robert Banz: "Re: Cyrus, Solaris 10, ZFS? (and NIS?)"

    > -----Original Message-----
    > From: [mailto:info-cyrus-
    > ] On Behalf Of Robert Banz
    > Sent: Thursday, October 05, 2006 7:34 PM
    > To: Chaskiel M Grundman
    > Cc: ;
    > Subject: Re: Cyrus, Solaris 10, ZFS? (and NIS?)
    >
    >
    > On Oct 5, 2006, at 4:46 PM, Chaskiel M Grundman wrote:
    >
    > >
    > >
    > > --On Thursday, October 05, 2006 04:13:18 PM -0400 Elizabeth
    > > Schwartz <> 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?
    >
    > Oy yes.
    >
    > The only "way" to find out what groups a user is in, of course, is to
    > interate over the groups file (or map) and look at the whole list of
    > users assigned to a group. Ugly.
    >
    > Now, if you can't think of any reasons you'd actually care about
    > someone's group membership, it wouldn't be out of the question to
    > remove said junk out of the auth_state function in auth_unix.c.
    > Sendmail contains a nice option to turn off initgroups() like
    > functionality, perhaps Cyrus could use one as well?

    Already done. man imapd.conf :)

    unix_group_enable: 0

    -Igor

    ----
    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
    

  • Next message: Robert Banz: "Re: Cyrus, Solaris 10, ZFS? (and NIS?)"





    Hosted Email Solutions

    Invaluement Anti-Spam DNSBLs



    Powered By FreeBSD   Powered By FreeBSD