[Gluster-devel] performance question
Krishna Srinivas
krishna at zresearch.com
Thu Jul 5 12:55:08 UTC 2007
Hi Gerry,
Good observation. I was checking on the performance with
self-heal turned off and the turning it on.
On glusterfs mounted directory:
With self-heal on:
bash-3.1# time cp -r /etc/ .
real 0m28.048s
user 0m0.004s
sys 0m0.060s
bash-3.1# time rm -rf etc/
real 0m28.666s
user 0m0.000s
sys 0m0.032s
bash-3.1#
With self-heal off:
bash-3.1# time cp -r /etc/ .
real 0m2.376s
user 0m0.012s
sys 0m0.060s
bash-3.1# time rm -rf etc/
real 0m3.639s
user 0m0.000s
sys 0m0.000s
bash-3.1#
So there is significant difference. The difference is that there is no
external attributes management when the self-heal is off. AFR code
does getxattr/setxattr when self-heal is on, so this introduces
some overhead. Also there will be overhead in the backend filesystem
code to manage xttrs.
However, if i try to delete the etc directory directly in the backend
(it was copied through glusterfs with self-heal on)
bash-3.1# time rm -rf /export/dir1/etc/
real 0m18.414s
user 0m0.000s
sys 0m0.132s
bash-3.1#
So there is significant overhead in the backend filesystem itself
when xattrs are involved.
Checking the overhead on open/close calls:
(here a.out opens, writes a byte, closes)
Selfheal is on:
bash-3.1# time find . -type f -exec /root/a.out {} \;
real 0m1.529s
user 0m0.120s
sys 0m0.284s
bash-3.1#
Selfheal off:
bash-3.1# time find . -type f -exec /root/a.out {} \;
real 0m0.577s
user 0m0.124s
sys 0m0.260s
bash-3.1#
There is not much difference here. So setxattr/getxattr
does not take much time if xattrs are already existing on
he file. Hence there will be lot overhead only during create/unlink.
We will see if we can optimize anyway in the AFR code.
We have to note that backend system takes a lot
of time during create/delete which we dont have control
over. But still it is acceptable as there is not much overhead
during open/close/write calls.
Regards
Krishna
On 7/5/07, Anand Avati <avati at zresearch.com> wrote:
>
> Gerry,
> please use the write-behind translator on the client side (above AFR)
>
> thanks,
> avati
>
> 2007/7/4, Gerry Reno <greno at verizon.net>:
> >
> > In copying my /usr tree (4.9G) to a gluster client mount with a 4 brick
> > AFR with no other translators I see it is taking about 1 hr. 45 min. Is
> > this normal performance?
> > Now this is with the bricks all on the same machine and same ext3
> > filesystem, but that seems like a long time even still.
> >
> > Gerry
> >
> >
> >
> >
> > _______________________________________________
> > Gluster-devel mailing list
> > Gluster-devel at nongnu.org
> > http://lists.nongnu.org/mailman/listinfo/gluster-devel
> >
>
>
>
> --
> Anand V. Avati
> _______________________________________________
> Gluster-devel mailing list
> Gluster-devel at nongnu.org
> http://lists.nongnu.org/mailman/listinfo/gluster-devel
>
More information about the Gluster-devel
mailing list