[Gluster-devel] how to set the default read/write block size for all transactions for optimal performance (e.g. anything similar to rsize, wsize nfs options?)
Sabuj Pattanayek
sabujp at gmail.com
Mon Jul 21 01:31:01 UTC 2008
Hi,
On Sun, Jul 20, 2008 at 11:51 AM, Anand Avati <avati at zresearch.com> wrote:
> write-behind is not being used in your configuration. You need to chain the
> performance translators.
After chaining the translators:
#### glusterfs-server.vol ####
volume eon0
type storage/posix
option directory /export/eon0
end-volume
volume iothreads-eon0
type performance/io-threads
#option thread-count 4 # deault is 1
option cache-size 64MB
subvolumes eon0
end-volume
volume writebehind-eon0
type performance/write-behind
#option aggregate-size 131072 # in bytes
option aggregate-size 1MB # default is 0bytes
option flush-behind on # default is 'off'
subvolumes iothreads-eon0
end-volume
volume readahead-eon0
type performance/read-ahead
# enabled on server and client 57MB/s -> 61MB/s
option page-size 65536 ### in bytes
option page-count 16 ### memory cache size is page-count x page-size per file
subvolumes writebehind-eon0
end-volume
volume server
type protocol/server
option transport-type tcp/server
option auth.ip.eon0.allow 10.2.179.*
subvolumes eon0
end-volume
####
#### glusterfs-client.vol ####
volume eon0
type protocol/client
option transport-type tcp/client
option remote-host porpoise-san
option remote-subvolume eon0
end-volume
volume iothreads-eon0
type performance/io-threads
#option thread-count 4 # deault is 1
option cache-size 64MB
subvolumes eon0
end-volume
volume writebehind-eon0
type performance/write-behind
# huge boost, 12MB/s -> 50MB/s
#option aggregate-size 131072 # in bytes
# 50MB/s -> 54MB/s
option aggregate-size 1MB # default is 0bytes
# 54MB/s -> 57MB/s
option flush-behind on # default is 'off'
subvolumes iothreads-eon0
end-volume
volume readahead-eon0
type performance/read-ahead
option page-size 65536 ### in bytes
#option page-size 131072 ### in bytes
option page-count 16 ### memory cache size is page-count x page-size per file
subvolumes writebehind-eon0
end-volume
volume io-cache-eon0
type performance/io-cache
# Doesn't really help
option cache-size 64MB # default is 32MB
# This gives a little bit of boost 9MB/s to 12MB/s
option page-size 1MB #128KB is default option
#option priority *.h:3,*.html:2,*:1 # default is '*:0'
option priority *:0
# 500 KB/s boost
option force-revalidate-timeout 2 # default is 1
subvolumes readahead-eon0
end-volume
####
I'm getting 60-62MB/s with Gluster, When I use NFS without specifying
rsize or wsize I also get 60MB/s. When I use the NFS mount options
rsize=262144,wsize=262144 and do a dd with the "standard" bs=4k I get
80MB/s (increasing bs= no longer helps for NFS at this point) . With
Gluster I can get 100-110MB/s if I use bs=128k (which is faster than
GFS2!). So once again the main question here is there something for
Gluster like the rsize or wsize options or is there something else I
can tweak in the translators that would be the equivalent of
increasing the global rsize and wsize? If not is there something I can
patch in Fuse or in the Gluster sources to do this?
Thanks,
Sabuj
More information about the Gluster-devel
mailing list