<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">Hi all,<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">We were initially planning on using NFS mounts for our gluster deployment to reduce the amount of client-side changes we had to make to swap out our existing NFS solution.&nbsp;&nbsp; I ran into an HA issue with NFS (see my other post from this morning),
 so started looking into the Fuse client as an alternative.&nbsp; What I found is that I can&#8217;t seem to get above ~30MB/s with a gluster mount transferring 16MB files, even though a NFS mount form the same client to the same volume reaches ~165MB/s.&nbsp;&nbsp; This seems
 like a much more drastic difference that I&#8217;ve seen others mention, but I don&#8217;t have a good feel for how to troubleshoot this.&nbsp; Any advice?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Below shows what I&#8217;m seeing.&nbsp;&nbsp;&nbsp;&nbsp; nfs03-poc is the client, and gfs-slc02.mgmt and gfs-slc03.mgmt are the gluster nodes serving the data via RRDNS at gfs-slc.mgmt. &nbsp;&nbsp;Please let me know if any other info would be helpful.<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">--<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">On the client side:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# cat GlusterConfig.fio<o:p></o:p></p>
<p class="MsoNormal">[global]<o:p></o:p></p>
<p class="MsoNormal">description=fio load testing...simulating disk activity for writing the WAL file<o:p></o:p></p>
<p class="MsoNormal">blocksize=8192<o:p></o:p></p>
<p class="MsoNormal">filesize=16m<o:p></o:p></p>
<p class="MsoNormal">fsync=0<o:p></o:p></p>
<p class="MsoNormal">iomem=malloc<o:p></o:p></p>
<p class="MsoNormal">loops=1<o:p></o:p></p>
<p class="MsoNormal">numjobs=1<o:p></o:p></p>
<p class="MsoNormal">prio=0<o:p></o:p></p>
<p class="MsoNormal">runtime=1m<o:p></o:p></p>
<p class="MsoNormal">rw=write<o:p></o:p></p>
<p class="MsoNormal">size=200M<o:p></o:p></p>
<p class="MsoNormal">startdelay=0<o:p></o:p></p>
<p class="MsoNormal">time_based<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal01]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal02]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal03]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">..<o:p></o:p></p>
<p class="MsoNormal">..<o:p></o:p></p>
<p class="MsoNormal">..<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal18]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal19]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[wal20]<o:p></o:p></p>
<p class="MsoNormal">directory=/mnt/gluster/fio_test<o:p></o:p></p>
<p class="MsoNormal">ioengine=sync<o:p></o:p></p>
<p class="MsoNormal">nrfiles=1<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# iperf -c gfs-slc02.mgmt<o:p></o:p></p>
<p class="MsoNormal">------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">Client connecting to gfs-slc02.mgmt, TCP port 5001<o:p></o:p></p>
<p class="MsoNormal">TCP window size: 19.3 KByte (default)<o:p></o:p></p>
<p class="MsoNormal">------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 3] local 10.124.10.18 port 58877 connected with 10.124.0.91 port 5001<o:p></o:p></p>
<p class="MsoNormal">[ ID] Interval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Transfer&nbsp;&nbsp;&nbsp;&nbsp; Bandwidth<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 3]&nbsp; 0.0-10.0 sec&nbsp; 9.96 GBytes&nbsp; 8.56 Gbits/sec<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# iperf -c gfs-slc03.mgmt<o:p></o:p></p>
<p class="MsoNormal">------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">Client connecting to gfs-slc03.mgmt, TCP port 5001<o:p></o:p></p>
<p class="MsoNormal">TCP window size: 19.3 KByte (default)<o:p></o:p></p>
<p class="MsoNormal">------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 3] local 10.124.10.18 port 46043 connected with 10.124.0.88 port 5001<o:p></o:p></p>
<p class="MsoNormal">[ ID] Interval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Transfer&nbsp;&nbsp;&nbsp;&nbsp; Bandwidth<o:p></o:p></p>
<p class="MsoNormal">[&nbsp; 3]&nbsp; 0.0-10.0 sec&nbsp; 8.69 GBytes&nbsp; 7.47 Gbits/sec<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# umount /mnt/gluster/<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# mount -t nfs -o async gfs-slc.mgmt:/dr_opt_nwea /mnt/gluster/<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# mount | grep gluster<o:p></o:p></p>
<p class="MsoNormal">gfs-slc.mgmt:/dr_opt_nwea on /mnt/gluster type nfs (rw,addr=10.124.0.151)<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# fio GlusterConfig.fio -output=Gluster1.txt<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# tail -n 1 Gluster1.txt.0% done] [0K/176.6M/0K /s] [0 /22.6K/0&nbsp; iops] [eta 00m:00s]<o:p></o:p></p>
<p class="MsoNormal">&nbsp; WRITE: io=9749.1MB, aggrb=166113KB/s, minb=7034KB/s, maxb=9929KB/s, mint=60015msec, maxt=60103msec<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# umount /mnt/gluster/<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# mount -t glusterfs -o direct-io-mode=disable gfs-slc.mgmt:/dr_opt_nwea /mnt/gluster<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# mount | grep gluster<o:p></o:p></p>
<p class="MsoNormal">gfs-slc.mgmt:/dr_opt_nwea on /mnt/gluster type fuse.glusterfs (rw,default_permissions,allow_other,max_read=131072)<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# fio GlusterConfig.fio -output=Gluster2.txt<o:p></o:p></p>
<p class="MsoNormal">[root@nfs03-poc fio]# tail -n 1 Gluster2.txt.0% done] [0K/33088K/0K /s] [0 /4136 /0&nbsp; iops] [eta 00m:00s]<o:p></o:p></p>
<p class="MsoNormal">&nbsp; WRITE: io=1756.8MB, aggrb=29975KB/s, minb=1498KB/s, maxb=1499KB/s, mint=60001msec, maxt=60012msec<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">On the gluster server side:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@gfs-slc02.mgmt ~]$ gluster --version<o:p></o:p></p>
<p class="MsoNormal">glusterfs 3.7.5 built on Oct&nbsp; 7 2015 16:27:05<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@gfs-slc02.mgmt ~]$ gluster volume info dr_opt_nwea<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">Volume Name: dr_opt_nwea<o:p></o:p></p>
<p class="MsoNormal">Type: Replicate<o:p></o:p></p>
<p class="MsoNormal">Volume ID: 6ecf855e-e7e0-4479-bde9-f32e5e820365<o:p></o:p></p>
<p class="MsoNormal">Status: Started<o:p></o:p></p>
<p class="MsoNormal">Number of Bricks: 1 x 2 = 2<o:p></o:p></p>
<p class="MsoNormal">Transport-type: tcp<o:p></o:p></p>
<p class="MsoNormal">Bricks:<o:p></o:p></p>
<p class="MsoNormal">Brick1: gfs-slc02.mgmt:/data/glusterfs/dr_opt_nwea_brick1/brick1<o:p></o:p></p>
<p class="MsoNormal">Brick2: gfs-slc03.mgmt:/data/glusterfs/dr_opt_nwea_brick1/brick1<o:p></o:p></p>
<p class="MsoNormal">Options Reconfigured:<o:p></o:p></p>
<p class="MsoNormal">performance.readdir-ahead: on<o:p></o:p></p>
<p class="MsoNormal">nfs.export-volumes: on<o:p></o:p></p>
<p class="MsoNormal">nfs.addr-namelookup: Off<o:p></o:p></p>
<p class="MsoNormal">nfs.disable: off<o:p></o:p></p>
<p class="MsoNormal">network.ping-timeout: 5<o:p></o:p></p>
<p class="MsoNormal">cluster.server-quorum-type: server<o:p></o:p></p>
<p class="MsoNormal">cluster.server-quorum-ratio: 51%<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@gfs-slc02.mgmt ~]$ dd if=/dev/zero of=/data/glusterfs/dr_opt_nwea_brick1/brick1/ddtest bs=4k count=10000<o:p></o:p></p>
<p class="MsoNormal">10000&#43;0 records in<o:p></o:p></p>
<p class="MsoNormal">10000&#43;0 records out<o:p></o:p></p>
<p class="MsoNormal">40960000 bytes (41 MB) copied, 0.0311661 s, 1.3 GB/s<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">[root@gfs-slc03.mgmt ~]$ dd if=/dev/zero of=/data/glusterfs/dr_opt_nwea_brick1/brick1/ddtest bs=4k count=10000<o:p></o:p></p>
<p class="MsoNormal">10000&#43;0 records in<o:p></o:p></p>
<p class="MsoNormal">10000&#43;0 records out<o:p></o:p></p>
<p class="MsoNormal">40960000 bytes (41 MB) copied, 0.0445559 s, 919 MB/s<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">---&nbsp; <o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">I&#8217;ve tried with the following volume settings as well, which makes little to no difference on the gluster mount test:<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">performance.write-behind-window-size: 1MB<o:p></o:p></p>
<p class="MsoNormal">performance.io-cache: on<o:p></o:p></p>
<p class="MsoNormal">performance.client-io-threads: on<o:p></o:p></p>
<p class="MsoNormal">performance.cache-size: 512MB<o:p></o:p></p>
<p class="MsoNormal">performance.io-thread-count: 64<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Ideas?<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Kris<o:p></o:p></p>
<p class="MsoNormal"><o:p>&nbsp;</o:p></p>
</div>
</body>
</html>