Rafiq -
I have added an unzip of the kernel to the AWS testing I am running
this weekend, I'll get back to the list on Tuesday, hopefully I'll have
a better handle around AWS performance then.
Craig
On 11/18/2010 10:32 PM, Rafiq Maniar wrote:
Hi Craig,
Thanks for your reply.
I have confirmed that it is not disk IO-bound by creating a second
volume sharing /tmp and that has the same issue. Also, I am in fact
using multiple
EBS volumes in an LVM array (although not 10).
I tried the latest 3.1.1 build on a new set of instances and that has
the same performance.
If I take one server offline the time reduces to about 23 seconds
(from 40-50). Replication doubles the
time taken, which makes sense - however without replication 23 seconds
is still far too long for a file that takes less than
one second on local disk.
I stopped Gluster and created a normal NFS export of the directory,
and the unzip completed in 4.6 seconds which is around
the performance level I need to get.
Any ideas?
Thanks,
Rafiq
On Fri, Nov 19, 2010 at 5:30 AM, Craig Carl <[email protected]
<mailto:[email protected]>> wrote:
Rafiq -
Gluster 3.1.1 will ship shortly, in our testing performance has
been significantly improved. If you are not in production the QA
builds of Gluster 3.1.1 are here -
http://download.gluster.com/pub/gluster/glusterfs/qa-releases/.
The QA releases should NOT be run in production.
We have also found that the performance of a single EBS device
can be a limiting factor. I have found that creating lots of
smaller EBS devices then using mdadm to build a RAID 0 array can
improve performance without raising costs. I have tested with 10
EBS devices, performance increased 4-5x for disk bound applications.
Thanks,
Craig
-->
Craig Carl
Senior Systems Engineer
Gluster
On 11/18/2010 09:14 PM, Rafiq Maniar wrote:
Hi,
I'm using Glusterfs3.1 on Ubuntu 10.04 in a dual replication
setup, on
Amazon EC2.
It takes 40-50 seconds to unzip an 8MB zip file full of small
files and
directories to a gluster
mount, in contrast to 0.8 seconds to local disk.
The volume configuration was created with:
gluster volume create volname replica 1 transport tcp
server1:/shared
server2:/shared
I am mounting on the client via NFS with:
mount -t nfs -o async,noatime,nodiratime server1:/shared
/mnt/shared
And also tried via Gluster native client with:
mount -t glusterfs server1:/shared /mnt/shared
I found a post here where he author talks about a similar slow
unzip of the
Linux kernel:
http://northernmost.org/blog/improving-glusterfs-performance/
I believe the 'nodelay' option was implemented in response to
this, and I
have tried using that
in the 3 configuration files on the servers but with no
improvement. I've
also tried some other performance
tuning tricks I found on the web.
I tried it on another server that has Gluster3.0 with an NFS
share but no
replication and it completes in 3 seconds.
I have similar bad performance with a simple copy of the same
files+directories from /tmp into the gluster mount so
its not limited to zip.
Here is my /etc/glusterd/vols/shared/shared-fuse.vol.
Bear in mind that this is 'tuned' but the out-of-the-box
version is the same
performance.
I also tried removing all the performance translators as per
someones
suggestion in IRC.
*
*
*volume shared-client-0*
* type protocol/client*
* option remote-host server1*
* option remote-subvolume /mnt/shared*
* option transport-type tcp*
* option transport.socket.nodelay on*
*end-volume*
*
*
*volume shared-client-1*
* type protocol/client*
* option remote-host server2*
* option remote-subvolume /mnt/shared*
* option transport-type tcp*
* option transport.socket.nodelay on*
*end-volume*
*
*
*volume shared-replicate-0*
* type cluster/replicate*
* subvolumes shared-client-0 shared-client-1*
*end-volume*
*
*
*volume shared-write-behind*
* type performance/write-behind*
* option cache-size 100MB*
* option flush-behind off*
* subvolumes shared-replicate-0*
*end-volume*
*
*
*volume shared-read-ahead*
* type performance/read-ahead*
* subvolumes shared-write-behind*
*end-volume*
*
*
*volume shared-io-cache*
* type performance/io-cache*
* option cache-size 100MB*
* option cache-timeout 1*
* subvolumes shared-read-ahead*
*end-volume*
*
*
*volume shared-quick-read*
* type performance/quick-read*
* option cache-timeout 1 # default 1 second*
* option max-file-size 256KB # default 64Kb*
* subvolumes shared-io-cache*
*end-volume*
*
*
*
*
*volume shared*
* type debug/io-stats*
* subvolumes shared-quick-read*
*end-volume*
*
*
And my /etc/glusterd/vols/shared/shared.server1.mnt-shared.vol :
*volume shared-posix*
* type storage/posix*
* option directory /mnt/shared*
*end-volume*
*
*
*volume shared-access-control*
* type features/access-control*
* subvolumes shared-posix*
*end-volume*
*
*
*volume shared-locks*
* type features/locks*
* subvolumes shared-access-control*
*end-volume*
*
*
*volume shared-io-threads*
* type performance/io-threads*
* option thread-count 16*
* subvolumes shared-locks*
*end-volume*
*
*
*volume /mnt/shared*
* type debug/io-stats*
* subvolumes shared-io-threads*
*end-volume*
*
*
*volume shared-server*
* type protocol/server*
* option transport-type tcp*
* option auth.addr./mnt/shared.allow **
* option transport.socket.nodelay on*
* subvolumes /mnt/shared*
*end-volume*
Here's the output of nfsstat on the client:
*Client rpc stats:*
*calls retrans authrefrsh*
*1652499 231 124*
*
*
*Client nfs v3:*
*null getattr setattr lookup access
readlink*
*0 0% 744498 45% 32762 1% 490843 29% 235276
14% 37
0%*
*read write create mkdir symlink
mknod*
*52085 3% 21940 1% 14452 0% 948 0% 1
0% 0
0%*
*remove rmdir rename link readdir
readdirplus*
*10961 0% 562 0% 19 0% 0 0% 135
0% 32623
1%*
*fsstat fsinfo pathconf commit*
*140 0% 46 0% 23 0% 15126 0%*
Anyone got any ideas on improving the performance of this?
Thanks,
Rafiq
_______________________________________________
Gluster-users mailing list
[email protected] <mailto:[email protected]>
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
_______________________________________________
Gluster-users mailing list
[email protected] <mailto:[email protected]>
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users
_______________________________________________
Gluster-users mailing list
[email protected]
http://gluster.org/cgi-bin/mailman/listinfo/gluster-users