[Gluster-devel] clustered afr
Tibor Veres
tibor.veres at gmail.com
Tue Mar 13 12:22:03 UTC 2007
> Scheduler is an option of unify translator. As of now you are using
> plain AFR across three bricks with 2 copies. To achieve what you want,
> you can try like this. Create 3 AFR volumes across 3 bricks in pairs
> of two like this: 1-2, 2-3 and 3-1. Then unify all the three volumes
> using rr scheduler.
i set up the test enviroment like this, and it works fine, though
setting it up for more nodes/replicas would require writing a script
to generate my config files, but its doable :)
anyway, i checked out the latest source (patch-75), recompiled with
-O3 and enabled all the performance translators
iothreads in the server config, after the brick, before the
protocol/server volume
writeback/readahead/statprefetch in the client config, just like in
client.vol.sample
i did some tests to check for memory leaks
didn't see any memory leak at write, nor at read
but statprefetch is leaking memory:
gluster-cl2:/mnt/gluster/test/lib# for j in `seq 1 4`; do ps uax |grep
-v grep |grep glus ; for i in `seq 1 100`; do ls -la >/dev/null; done;
done
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:28 [glusterfsd]
root 29597 2.2 2.7 15396 14324 ? Ss 11:54 1:40 [glusterfs]
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:30 [glusterfsd]
root 29597 2.3 3.2 18196 17108 ? Ss 11:54 1:45 [glusterfs]
root 29575 0.7 0.1 1916 988 ? Ss 11:53 0:32 [glusterfsd]
root 29597 2.4 3.8 21236 20104 ? Ss 11:54 1:51 [glusterfs]
root 29575 0.7 0.1 1916 988 ? Ss 11:53 0:34 [glusterfsd]
root 29597 2.5 4.4 24292 23168 ? Ss 11:54 1:56 [glusterfs]
write/read tests and performance
no write memory leak:
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:17 [glusterfsd]
root 29597 1.7 2.2 12772 11716 ? Ss 11:54 0:47 [glusterfs]
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do dd if=/dev/zero
of=test_$i bs=10000 count=10000; done
100000000 bytes (100 MB) copied, 2.93355 seconds, 34.1 MB/s
100000000 bytes (100 MB) copied, 3.47932 seconds, 28.7 MB/s
100000000 bytes (100 MB) copied, 3.38781 seconds, 29.5 MB/s
100000000 bytes (100 MB) copied, 7.33118 seconds, 13.6 MB/s
100000000 bytes (100 MB) copied, 3.45481 seconds, 28.9 MB/s
100000000 bytes (100 MB) copied, 9.05226 seconds, 11.0 MB/s
100000000 bytes (100 MB) copied, 9.37289 seconds, 10.7 MB/s
100000000 bytes (100 MB) copied, 3.17613 seconds, 31.5 MB/s
100000000 bytes (100 MB) copied, 6.28839 seconds, 15.9 MB/s
100000000 bytes (100 MB) copied, 6.46795 seconds, 15.5 MB/s
gluster-cl2:/mnt/gluster/test# ps uax |grep glus
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:20 [glusterfsd]
root 29597 2.4 2.2 12772 11716 ? Ss 11:54 1:09 [glusterfs]
no read memory leak:
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do cat test_$i
>/dev/null; done
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:24 [glusterfsd]
root 29597 2.2 2.3 13100 12060 ? Ss 11:54 1:27 [glusterfs]
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do cat test_$i
>/dev/null; done
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:24 [glusterfsd]
root 29597 2.2 2.3 13100 12060 ? Ss 11:54 1:28 [glusterfs]
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do cat test_$i
>/dev/null; done
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:25 [glusterfsd]
root 29597 2.2 2.3 13164 12124 ? Ss 11:54 1:30 [glusterfs]
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do cat test_$i
>/dev/null; done
root 29575 0.6 0.1 1916 988 ? Ss 11:53 0:25 [glusterfsd]
root 29597 2.3 2.3 13100 12060 ? Ss 11:54 1:31 [glusterfs]
read performance:
gluster-cl2:/mnt/gluster/test# for i in `seq 1 10`; do time cat
test_$i >/dev/null; done
real 0m2.001s
real 0m2.660s
real 0m2.344s
real 0m1.979s
real 0m2.314s
real 0m2.627s
real 0m2.635s
real 0m2.815s
real 0m2.907s
real 0m2.088s
--
Tibor Veres
tibor.veres at gmail.com
More information about the Gluster-devel
mailing list