improving concurrency/performance
Jure Pečar
pegasus at nerv.eu.org
Tue Nov 8 09:53:29 EST 2005
On Tue, 8 Nov 2005 09:25:54 -0500 (EST)
"John Madden" <jmadden at ivytech.edu> wrote:
> 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?
Hm. I'd definitely take a second look at your ds6800 configuration ... How is your write cache configured there?
I can't really measure the percentage of fdatasync, since on live system most is time spent in select() and read() ...
> 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...
Probably many ENOENT when trying to open msg/motd and msg/shutdown files.
--
Jure Pečar
http://jure.pecar.org
More information about the Info-cyrus
mailing list