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