[sheepdog-users] 50.000 iops per VM
Christoph Hellwig
hch at infradead.org
Mon Jul 9 16:49:08 CEST 2012
On Wed, Jul 04, 2012 at 09:08:49AM +0200, Stefan Priebe - Profihost AG wrote:
> >exact git revision of sheepdog
>
> 7c62b6e935b1943c57139a00d1b7d322c8a9c521
Before I would like to let you try 29bfdbd6a95fdf8d827e177046dbab12ee342611
or earlier? because I suspect the "short threads" hurt badly for small
IOPS performance, but so far I didn't get around actually verifying my
assumption, but given how little cpu time the gateway and storage nodes
spend that might not be worth it.
> >In general I doubt anyone has optimized sheepdog for iops and low
> >latency at this moment as other things have kept people. There's
> >some relatively low hanging fruit like avoiding additional copies
> >in the gateway, but your numbers still sound very low.
> >
> >Can you also do a perf record -g on both a storage node and the
> >kvm box to see if there's anything interesting on them?
>
> Option -g is not known by my perf command?
perf record -g records the callgraph, and it's been there for a long
time. Did you try that above line or something like perf -g record?
>
> is a perf record sleep 10 enough? Should i upload then the data file
> somewhere?
Would be nice to get a slightly long run.
>
> Snapshot of perf top from KVM host:
> 14.96% [kernel] [k] _raw_spin_lock
With the callchains we could expand what spinlock we hammer here.
> 8.13% kvm [.] 0x00000000001d8084
Also if kvm/qemu is self-build can you build it with -g to get debug
info? If not see if there is a qemu-dbg/kvm-dbg or similar package for
your distribution.
> 4.08% [kernel] [k] get_pid_task
> 3.91% [kvm] [k] kvm_vcpu_yield_to
> 3.83% [kernel] [k] yield_to
> 2.62% [kernel] [k] __copy_user_nocache
> 2.53% [kvm] [k] vcpu_enter_guest
> 1.95% [kvm_intel] [k] vmx_vcpu_run
These suggest we spend a fair emount of time in kvm code, probably
unrelated to the actual storage transport.
> Snapshot of perf top from sheep node (not acting as the gateway /
> target for kvm):
> 2,78% libgcc_s.so.1 [.] 0x000000000000e72b
> 2,21% [kernel] [k] __schedule
> 2,14% [kernel] [k] ahci_port_intr
> 2,08% [kernel] [k] _raw_spin_lock
> 1,77% [kernel] [k] _raw_spin_lock_irqsave
> 1,15% [kernel] [k] ahci_interrupt
> 1,11% [kernel] [k] ahci_scr_read
> 0,94% [kernel] [k] kmem_cache_alloc
> 0,90% [kernel] [k] _raw_spin_lock_irq
> 0,81% [kernel] [k] menu_select
> 0,76% [kernel] [k] _raw_spin_unlock_irqrestore
> 0,73% libpthread-2.11.3.so [.] pthread_mutex_lock
> 0,70% libc-2.11.3.so [.] vfprintf
Mostly not spending any noticable CPU time, which is quite interesting.
>
> Stefan
> --
> sheepdog-users mailing lists
> sheepdog-users at lists.wpkg.org
> http://lists.wpkg.org/mailman/listinfo/sheepdog-users
---end quoted text---
More information about the sheepdog-users
mailing list