[Gluster-users] tuning glusterfs?
pkoelle at gmail.com
Sat Jan 23 11:37:57 UTC 2010
Am 21.01.2010 17:27, schrieb Jiann-Ming Su:
> On Wed, Jan 20, 2010 at 5:49 PM, pkoelle<pkoelle at gmail.com> wrote:
>> This looks suspicious. Is this a gfs2 mount? what kind of performance do you
>> get wen running bonnie++ directly against /mnt/gluster/gfs2?
> Bonnie++ command: ./bonnie++ -u 99:99 -d /mnt/gluster/gfs2 -s 2000
> Version 1.96 ------Sequential Output------ --Sequential Input- --Random-
> Concurrency 1 -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
> Machine Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP /sec %CP
> localhost.loc 2000M 74 99 39432 12 27308 10 836 99 65104 9 351.5 11
> Latency 179ms 1207ms 429ms 109ms 109ms 215ms
> Version 1.96 ------Sequential Create------ --------Random Create--------
> localhost.localdoma -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
> files /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP /sec %CP
> 16 23991 81 +++++ +++ +++++ +++ 17007 57 +++++ +++ +++++ +++
> Latency 1276us 1189us 787us 1183us 438us 2813us
IO for your local disk doesn't look very good either. You are CPU bound
when using putchar() and you get only 74K/sec with 99% CPU. For
reference, I get 68808K/sec with 86% CPU on a XEN vdev on top of cheap
SATA. With a two-node mirror and glusterFS I still get 31886K/sec with
41% CPU (these are the -Per Chr- values from bonnie++).
>> Can you leave out some of the performance/* translators and also try a
>> "real" network interface with lower MTU values to see of that helps? I had
>> terrible results with bigger MTU (6500) and bigger values for
>> net.core.(r/w)mem_max in /etc/sysctl.conf. IOPS where in the range of 5/sec.
> GlusterFS server and client are running on the same system, so there's
> no network latency involved at all. I don't see how introducing the
> network layer into this would help.
As a matter of fact, with cluster filesystems things get much more
complicated for a single write() or read(). I haven't investigated this
throughoutly but my reasoning is: Data goes through network buffers,
when the buffer is full an interrupt is triggered and data is copied
over. With large buffers this kills small reads and IOPS.
Blame it on gluster or fuse, but
> the reality is glusterfs read performance, in a simple base config, is
> 1/10th of the native file system. In order to have this be worthwhile
> at all, I'd have to stripe the data across at least 10 servers to get
> the same read performance. This may be a legitimate setup, but it's
> not what I need out of gluster. I need the replication capabilities
> out of gluster and the ability for the node to read the local copy
> reasonably fast.
I can't reproduce. I get reasonable performance given the
hardware,network and all. Do you know any better cluster filesystems? Do
you have experience with gfs2 or ocfs?
More information about the Gluster-users