HAST performance / dtrace / _umtx_op

Karl Pielorz kpielorz_lst at tdx.co.uk
Sat Apr 26 10:30:34 UTC 2014


Hi All,

I've been looking at HAST recently - and noticed there's a huge performance 
hit (on 10-STABLE anyway) even if you setup a disk with a remote of 'none' 
- switching from the 'raw' disk to '/dev/hast/disk' shows a 50% performance 
hit [in testing having an active secondary via 10Gbit link doesn't seem to 
show any further performance drop].

Thinking of digging deeper I setup a single disk HAST system (with no 
remote node) and ran dtrace on the daemon handling that disk. I then DD'ed 
1Gbyte of data to that disk.

The output from dtrace shows:

"
Elapsed Times for PID 5219,

         SYSCALL          TIME (ns)
           pread            4439902
          pwrite         7617448542
           ioctl        11370282332
    sigtimedwait        20015976362
        _umtx_op        36514993910
"

To my untrained eye that looks like it spent more time on locking than 
anything else? - Followed by ioctl's - then, considerably less time on 
pread/pwrite (which must be the bit that's copying the data)

Presumably the time spent in sigtimedwait would have actually been 
'waiting' time - i.e. not active CPU usage kind of time?

Does that seem to be the case? - At least then I'll hopefully have some 
pointer where to look further for why there's such a performance hit.

Thanks,

-Karl


More information about the freebsd-hackers mailing list