[Users] Extremely poor disk access speeds in Windows guest

Itamar Heim iheim at redhat.com
Sun Jan 26 07:33:04 UTC 2014


On 01/26/2014 02:37 AM, Steve Dainard wrote:
> Thanks for the responses everyone, really appreciate it.
>
> I've condensed the other questions into this reply.
>
>
>     Steve,
>     What is the CPU load of the GlusterFS host when comparing the raw
>     brick test to the gluster mount point test? Give it 30 seconds and
>     see what top reports. You’ll probably have to significantly increase
>     the count on the test so that it runs that long.
>
>     - Nick
>
>
>
> Gluster mount point:
>
> *4K* on GLUSTER host
> [root at gluster1 rep2]# dd if=/dev/zero of=/mnt/rep2/test1 bs=4k count=500000
> 500000+0 records in
> 500000+0 records out
> 2048000000 <tel:2048000000> bytes (2.0 GB) copied, 100.076 s, 20.5 MB/s
>
> Top reported this right away:
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   1826 root      20   0  294m  33m 2540 S 27.2  0.4   0:04.31 glusterfs
>   2126 root      20   0 1391m  31m 2336 S 22.6  0.4  11:25.48 glusterfsd
>
> Then at about 20+ seconds top reports this:
>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   1826 root      20   0  294m  35m 2660 R 141.7  0.5   1:14.94 glusterfs
>   2126 root      20   0 1392m  31m 2344 S 33.7  0.4  11:46.56 glusterfsd
>
> *4K* Directly on the brick:
> dd if=/dev/zero of=test1 bs=4k count=500000
> 500000+0 records in
> 500000+0 records out
> 2048000000 <tel:2048000000> bytes (2.0 GB) copied, 4.99367 s, 410 MB/s
>
>   7750 root      20   0  102m  648  544 R 50.3  0.0   0:01.52 dd
>   7719 root      20   0     0    0    0 D  1.0  0.0   0:01.50 flush-253:2
>
> Same test, gluster mount point on OVIRT host:
> dd if=/dev/zero of=/mnt/rep2/test1 bs=4k count=500000
> 500000+0 records in
> 500000+0 records out
> 2048000000 <tel:2048000000> bytes (2.0 GB) copied, 42.4518 s, 48.2 MB/s
>
>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   2126 root      20   0 1396m  31m 2360 S 40.5  0.4  13:28.89 glusterfsd
>
>
> Same test, on OVIRT host but against NFS mount point:
> dd if=/dev/zero of=/mnt/rep2-nfs/test1 bs=4k count=500000
> 500000+0 records in
> 500000+0 records out
> 2048000000 <tel:2048000000> bytes (2.0 GB) copied, 18.8911 s, 108 MB/s
>
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   2141 root      20   0  550m 184m 2840 R 84.6  2.3  16:43.10 glusterfs
>   2126 root      20   0 1407m  30m 2368 S 49.8  0.4  13:49.07 glusterfsd
>
> Interesting - It looks like if I use a NFS mount point, I incur a cpu
> hit on two processes instead of just the daemon. I also get much better
> performance if I'm not running dd (fuse) on the GLUSTER host.
>
>
>         The storage servers are a bit older, but are both dual socket
>         quad core
>
>         opterons with 4x 7200rpm drives.
>
>
>     A block size of 4k is quite small so that the context switch
>     overhead involved with fuse would be more perceivable.
>
>     Would it be possible to increase the block size for dd and test?
>
>
>
>         I'm in the process of setting up a share from my desktop and
>         I'll see if
>
>         I can bench between the two systems. Not sure if my ssd will
>         impact the
>
>         tests, I've heard there isn't an advantage using ssd storage for
>         glusterfs.
>
>
>     Do you have any pointers to this source of information? Typically
>     glusterfs performance for virtualization work loads is bound by the
>     slowest element in the entire stack. Usually storage/disks happen to
>     be the bottleneck and ssd storage does benefit glusterfs.
>
>     -Vijay
>
>
> I had a couple technical calls with RH (re: RHSS), and when I asked if
> SSD's could add any benefit I was told no. The context may have been in
> a product comparison to other storage vendors, where they use SSD's for
> read/write caching, versus having an all SSD storage domain (which I'm
> not proposing, but which is effectively what my desktop would provide).
>
> Increasing bs against NFS mount point (gluster backend):
> dd if=/dev/zero of=/mnt/rep2-nfs/test1 bs=128k count=16000
> 16000+0 records in
> 16000+0 records out
> 2097152000 <tel:2097152000> bytes (2.1 GB) copied, 19.1089 s, 110 MB/s
>
>
> GLUSTER host top reports:
>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   2141 root      20   0  550m 183m 2844 R 88.9  2.3  17:30.82 glusterfs
>   2126 root      20   0 1414m  31m 2408 S 46.1  0.4  14:18.18 glusterfsd
>
> So roughly the same performance as 4k writes remotely. I'm guessing if I
> could randomize these writes we'd see a large difference.
>
>
>     Check this thread out,
>     http://raobharata.wordpress.com/2012/10/29/qemu-glusterfs-native-integration/ it's
>     quite dated but I remember seeing similar figures.
>
>     In fact when I used FIO on a libgfapi mounted VM I got slightly
>     faster read/write speeds than on the physical box itself (I assume
>     because of some level of caching). On NFS it was close to half..
>     You'll probably get a little more interesting results using FIO
>     opposed to dd
>
>     ( -Andrew)
>
>
> Sorry Andrew, I meant to reply to your other message - it looks like
> CentOS 6.5 can't use libgfapi right now, I stumbled across this info in
> a couple threads. Something about how the CentOS build has different
> flags set on build for RHEV snapshot support then RHEL, so native
> gluster storage domains are disabled because snapshot support is assumed
> and would break otherwise. I'm assuming this is still valid as I cannot
> get a storage lock when I attempt a gluster storage domain.
>
>
> --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> I've setup a NFS storage domain on my desktops SSD. I've re-installed
> win 2008 r2 and initially it was running smoother.
>
> Disk performance peaks at 100MB/s.
>
> If I copy a 250MB file from a share into the Windows VM, it writes out
> quickly, less than 5 seconds.
>
> If I copy 20 files, ranging in file sizes from 4k to 200MB, totaling in
> 650MB from the share - windows becomes unresponsive, in top the
> desktop's nfs daemon is barely being touched at all, and then eventually
> is not hit. I can still interact with the VM's windows through the spice
> console. Eventually the file transfer will start and rocket through the
> transfer.
>
> I've opened a 271MB zip file with 4454 files and started the extract
> process but the progress windows will sit on 'calculating...' after a
> significant period of time the decompression starts and runs at
> <200KB/second. Windows is guesstimating 1HR completion time. Eventually
> even this freezes up, and my spice console mouse won't grab. I can still
> see the resource monitor in the Windows VM doing its thing but have to
> poweroff the VM as its no longer usable.
>
> The windows update process is the same. It seems like when the guest
> needs quick large writes its fine, but lots of io causes serious
> hanging, unresponsiveness, spice mouse cursor freeze, and eventually
> poweroff/reboot is the only way to get it back.
>
> Also, during window 2008 r2 install the 'expanding windows files' task
> is quite slow, roughly 1% progress every 20 seconds (~30 mins to
> complete). The GLUSTER host shows these stats pretty consistently:
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   8139 root      20   0 1380m  28m 2476 R 83.1  0.4   8:35.78 glusterfsd
>   8295 root      20   0  550m 186m 2980 S  4.3  2.4   1:52.56 glusterfs
>
> bwm-ng v0.6 (probing every 2.000s), press 'h' for help
> input: /proc/net/dev type: rate
>    \         iface                   Rx                   Tx
>     Total
>
> ==============================================================================
>                 lo:        3719.31 KB/s         3719.31 KB/s
> 7438.62 KB/s
>               eth0:        3405.12 KB/s         3903.28 KB/s
> 7308.40 KB/s
>
>
> I've copied the same zip file to an nfs mount point on the OVIRT host
> (gluster backend) and get about 25 - 600 KB/s during unzip. The same
> test on NFS mount point (desktop SSD ext4 backend) averaged a network
> transfer speed of 5MB/s and completed in about 40 seconds.
>
> I have a RHEL 6.5 guest running on the NFS/gluster backend storage
> domain, and just did the same test. Extracting the file took 22.3
> seconds (faster than the fuse mount point on the host !?!?).
>
> GLUSTER host top reported this while the RHEL guest was decompressing
> the zip file:
>    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
>   2141 root      20   0  555m 187m 2844 S  4.0  2.4  18:17.00 glusterfs
>   2122 root      20   0 1380m  31m 2396 S  2.3  0.4  83:19.40 glusterfsd
>
>
>
>
>
> *Steve Dainard *
> IT Infrastructure Manager
> Miovision <http://miovision.com/> | /Rethink Traffic/
> 519-513-2407 <tel:519-513-2407> ex.250
> 877-646-8476 <tel:877-646-8476> (toll-free)
>
> *Blog <http://miovision.com/blog>  | **LinkedIn
> <https://www.linkedin.com/company/miovision-technologies>  | Twitter
> <https://twitter.com/miovision>  | Facebook
> <https://www.facebook.com/miovision>*
> ------------------------------------------------------------------------
> Miovision Technologies Inc. | 148 Manitou Drive, Suite 101, Kitchener,
> ON, Canada | N2C 1L3
> This e-mail may contain information that is privileged or confidential.
> If you are not the intended recipient, please delete the e-mail and any
> attachments and notify us immediately.
>
>
>
>
> _______________________________________________
> Users mailing list
> Users at ovirt.org
> http://lists.ovirt.org/mailman/listinfo/users
>

please note currently (>3.3.1), we don't use libgfapi on fedora as well, 
as we found some gaps in functionality in the libvirt libgfapi support 
for snapshots. once these are resolved, we can re-enable libgfapi on a 
glusterfs storage domain.



More information about the Users mailing list