[Gluster-users] Slow speed with Gluster Backed Xen DomU's
Sheng Yeo
shengyeo at gmail.com
Mon Jul 19 22:38:34 UTC 2010
Hi Everyone,
Hope your day has been going well. I tried emailing this in a week or
so ago, but i do not think that it got emailed to the group. I am just
trying again, but apologies in advanced if you have already read this.
I am currently using GlusterFS as a distributed SAN backend for the
Xen based cloud platform we are developing.
We deploy Xen virtuals on pairs of servers using GlusterFs V3 in
replicate mode on Debian Stable (Lenny) with Xen 3.2.1 as the
hypervisor. I am currently experiencing a weird issue where within the
virtual machines (DomU) running on a GlusterFS mount only receive
around 10-18MB/s write speeds, but full speed reads.
Our hardware for each node is Dual Core Xeon Processors, 8GB of RAM
and 4 * High Speed SATA drives (RAID 10, around 160MB/s writes and
reads).
If I write a file to the Gluster mount in the Dom0 (host) we receive
around 90-100MB/s writes (maxing out the GigE link). If I run the
virtual machine on the disks without Gluster I get much higher speeds
within the DomU of around 80-90MB/s.
This slow down only appears to occur on writes. Does anyone with a
better understanding of GlusterFS, Fuse and filesystems have an idea
why this is slowing down. The underlying file system is Ext3 using
TAP:AIO within Xen to connect to a file image based disk. This is
without using gluster fuse client (what benefits does this give?) and
Gluster version 3.0.4.
Many Thanks
Sheng
Here is the current configuration of the servers in replicate:
Server:
volume posix
type storage/posix
option directory /export
end-volume
volume locks
type features/locks
subvolumes posix
end-volume
volume brick
type performance/io-threads
option thread-count 8
subvolumes locks
end-volume
volume server
type protocol/server
option transport-type tcp
option auth.addr.brick.allow 10.*.*.*
subvolumes brick
end-volume
Client:
volume remote1
type protocol/client
option transport-type tcp
option remote-host node01
option remote-subvolume brick
end-volume
volume remote2
type protocol/client
option transport-type tcp
option remote-host node02
option remote-subvolume brick
end-volume
volume replicate1
type cluster/replicate
subvolumes remote1 remote2
end-volume
volume writebehind
type performance/write-behind
option window-size 1MB
subvolumes replicate1
end-volume
volume cache
type performance/io-cache
option cache-size 512MB
subvolumes writebehind
end-volume
More information about the Gluster-users
mailing list