<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
  <meta name="Generator" content="Zarafa WebAccess v7.1.14-51822">
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <title>RE: [Gluster-users] Gluster native mount is really slow compared to nfs</title>
  <style type="text/css">
      body
      {
        font-family: Arial, Verdana, Sans-Serif ! important;
        font-size: 12px;
        padding: 5px 5px 5px 5px;
        margin: 0px;
        border-style: none;
        background-color: #ffffff;
      }

      p, ul, li
      {
        margin-top: 0px;
        margin-bottom: 0px;
      }
  </style>
</head>
<body>
<p>Hello Joe,</p><p>&nbsp;</p><p>&nbsp;</p><p>I really appreciate your feedback, but I already tried the opcache stuff (to not valildate at all). It improves of course then, but not completely somehow. Still quite slow.</p><p>&nbsp;</p><div>I did not try the mount options yet, but I will now!</div><p>&nbsp;</p><p>&nbsp;</p><p>With nfs (doesnt matter much built-in version 3 or ganesha version 4) I can even host the site perfectly fast without these extreme opcache settings.</p><p>&nbsp;</p><p>I still can&#39;t understand why the nfs mount is easily 80 times faster, actually no matter what options I set it seems. It&#39;s almost there is something really wrong somehow...</p><p>&nbsp;</p><p>I tried the ceph mount now and out of the box it&#39;s comparable with gluster with nfs mount.</p><p>&nbsp;</p><p>&nbsp;</p><p>Regards</p><p>Jo</p><p>&nbsp;</p><p>BE: +32 53 599 000</p><p>NL: +31 85 888 4 555</p><p>&nbsp;</p><p><a href="https://www.hosted-power.com/">https://www.hosted-power.com/</a></p><p>&nbsp;</p><p><br />&nbsp;</p><blockquote style="border-left: 2px solid #325FBA; padding-left: 5px;margin-left:5px;">-----Original message-----<br /><strong>From:</strong>        Joe Julian &lt;joe@julianfamily.org&gt;<br /><strong>Sent:</strong>        Tue 11-07-2017 17:04<br /><strong>Subject:</strong>        Re: [Gluster-users] Gluster native mount is really slow compared to nfs<br /><strong>To:</strong>        gluster-users@gluster.org; <br /><style type="text/css">body { font-family: monospace; }</style>                <div style="color: #000000; background-color: #FFFFFF; "><p>My standard response to someone needing filesystem performance       for www traffic is generally, &quot;you&#39;re doing it wrong&quot;. <a href="https://joejulian.name/blog/optimizing-web-performance-with-glusterfs/" target="_blank" title="This external link will open in a new window">https://joejulian.name/blog/optimizing-web-performance-with-glusterfs/</a><br />       <br />       That said, you might also look at these mount options:       attribute-timeout, entry-timeout, negative-timeout (set to some       large amount of time), and fopen-keep-cache.</p>     <br />     <div>On 07/11/2017 07:48 AM, Jo Goossens       wrote:</div>     <blockquote type="cite" cite="mid:zarafa.5964e533.4b1c.70763d1a6208ff82@web.hosted-power.com">                            <style type="text/css">       .bodyclass       {         font-family: Arial, Verdana, Sans-Serif ! important;         font-size: 12px;         padding: 5px 5px 5px 5px;         margin: 0px;         border-style: none;         background-color: #ffffff;       }        p, ul, li       {         margin-top: 0px;         margin-bottom: 0px;       }   </style>       <p>Hello,</p>       <p>&nbsp;</p>       <p>&nbsp;</p>       <p>Here is the volume info as requested by soumya:</p>       <p>&nbsp;</p>       <div>#gluster volume info www</div>       <div>&nbsp;</div>       <div>Volume Name: www</div>       <div>Type: Replicate</div>       <div>Volume ID: 5d64ee36-828a-41fa-adbf-75718b954aff</div>       <div>Status: Started</div>       <div>Snapshot Count: 0</div>       <div>Number of Bricks: 1 x 3 = 3</div>       <div>Transport-type: tcp</div>       <div>Bricks:</div>       <div>Brick1: 192.168.140.41:/gluster/www</div>       <div>Brick2: 192.168.140.42:/gluster/www</div>       <div>Brick3: 192.168.140.43:/gluster/www</div>       <div>Options Reconfigured:</div>       <div>cluster.read-hash-mode: 0</div>       <div>performance.quick-read: on</div>       <div>performance.write-behind-window-size: 4MB</div>       <div>server.allow-insecure: on</div>       <div>performance.read-ahead: disable</div>       <div>performance.readdir-ahead: on</div>       <div>performance.io-thread-count: 64</div>       <div>performance.io-cache: on</div>       <div>performance.client-io-threads: on</div>       <div>server.outstanding-rpc-limit: 128</div>       <div>server.event-threads: 3</div>       <div>client.event-threads: 3</div>       <div>performance.cache-size: 32MB</div>       <div>transport.address-family: inet</div>       <div>nfs.disable: on</div>       <div>nfs.addr-namelookup: off</div>       <div>nfs.export-volumes: on</div>       <div>nfs.rpc-auth-allow: 192.168.140.*</div>       <div>features.cache-invalidation: on</div>       <div>features.cache-invalidation-timeout: 600</div>       <div>performance.stat-prefetch: on</div>       <div>performance.cache-samba-metadata: on</div>       <div>performance.cache-invalidation: on</div>       <div>performance.md-cache-timeout: 600</div>       <div>network.inode-lru-limit: 100000</div>       <div>performance.parallel-readdir: on</div>       <div>performance.cache-refresh-timeout: 60</div>       <div>performance.rda-cache-limit: 50MB</div>       <div>cluster.nufa: on</div>       <div>network.ping-timeout: 5</div>       <div>cluster.lookup-optimize: on</div>       <div>cluster.quorum-type: auto</div>       <div>&nbsp;</div>       <div>I started with none of them set and I added/changed while         testing. But it was always slow, by tuning some kernel         parameters it improved slightly (just a few percent, nothing         reasonable)</div>       <div>&nbsp;</div>       <div>I also tried ceph just to compare, I got this with default         settings and no tweaks:</div>       <div>&nbsp;</div>       <div><div>&nbsp;./smallfile_cli.py &nbsp;--top /var/www/test --host-set           192.168.140.41 --threads 8 --files 5000 --file-size 64           --record-size 64</div>         <div>smallfile version 3.0</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hosts in test :           [&#39;192.168.140.41&#39;]</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;top test directory(s) :           [&#39;/var/www/test&#39;]</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;operation : cleanup</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; files/thread : 5000</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;threads : 8</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;record size (KB, 0 = maximum) : 64</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size (KB) : 64</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size distribution : fixed</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;files per dir : 100</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dirs per dir : 10</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; threads share directories? : N</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename prefix :</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename suffix :</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hash file number into dir.? : N</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fsync after modify? : N</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pause between files (microsec) : 0</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; finish all requests? : Y</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stonewall? : Y</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;measure response times? : N</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verify read? : Y</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verbose? : False</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log to stderr? : False</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ext.attr.size : 0</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ext.attr.count : 0</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;permute host directories? : N</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; remote program directory :           /root/smallfile-master</div>         <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;network thread sync. dir. :           /var/www/test/network_shared</div>         <div>starting all threads by creating starting gate file           /var/www/test/network_shared/starting_gate.tmp</div>         <div>host = 192.168.140.41,thr = 00,elapsed = 1.339621,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 01,elapsed = 1.436776,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 02,elapsed = 1.498681,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 03,elapsed = 1.483886,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 04,elapsed = 1.454833,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 05,elapsed = 1.469340,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 06,elapsed = 1.439060,files =           5000,records = 0,status = ok</div>         <div>host = 192.168.140.41,thr = 07,elapsed = 1.375074,files =           5000,records = 0,status = ok</div>         <div>total threads = 8</div>         <div>total files = 40000</div>         <div>100.00% of requested files processed, minimum is &nbsp;70.00</div>         <div>1.498681 sec elapsed time</div>         <div>26690.134975 files/sec</div>         <div>&nbsp;</div>         <div>&nbsp;</div></div>       <p><br />         Regards</p>       <p>Jo</p>       <p>&nbsp;</p>       <blockquote style="border-left: 2px solid #325FBA; padding-left:         5px;margin-left:5px;">-----Original message-----<br />         <strong>From:</strong> Jo Goossens         <a href="mailto:jo.goossens@hosted-power.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=jo.goossens@hosted-power.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;jo.goossens@hosted-power.com&gt;</a><br />         <strong>Sent:</strong> Tue 11-07-2017 12:15<br />         <strong>Subject:</strong> Re: [Gluster-users] Gluster native         mount is really slow compared to nfs<br />         <strong>To:</strong> Soumya Koduri <a href="mailto:skoduri@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=skoduri@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;skoduri@redhat.com&gt;</a>;         <a href="mailto:gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">gluster-users@gluster.org</a>; <br />         <strong>CC:</strong> Ambarish Soman <a href="mailto:asoman@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=asoman@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;asoman@redhat.com&gt;</a>; <br />         <style type="text/css">.bodyclass { font-family: monospace; }</style>         <style type="text/css">       .bodyclass       {         font-family: Arial, Verdana, Sans-Serif ! important;         font-size: 12px;         padding: 5px 5px 5px 5px;         margin: 0px;         border-style: none;         background-color: #ffffff;       }        p, ul, li       {         margin-top: 0px;         margin-bottom: 0px;       }   </style>         <div><p>Hello,</p>           <p>&nbsp;</p>           <p>&nbsp;</p>           <p>Here is some speedtest with a new setup we just made with             gluster 3.10, there are no other differences, except             glusterfs versus nfs. The nfs is about 80 times faster:</p>           <p>&nbsp;</p>           <p>&nbsp;</p>           <div>root@app1:~/smallfile-master# mount -t glusterfs -o             use-readdirp=no,log-level=WARNING,log-file=/var/log/glusterxxx.log             192.168.140.41:/www /var/www</div>           <div>root@app1:~/smallfile-master# ./smallfile_cli.py &nbsp;--top             /var/www/test --host-set 192.168.140.41 --threads 8 --files             500 --file-size 64 --record-size 64</div>           <div>smallfile version 3.0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hosts in test :             [&#39;192.168.140.41&#39;]</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;top test directory(s) :             [&#39;/var/www/test&#39;]</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;operation : cleanup</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; files/thread : 500</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;threads : 8</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;record size (KB, 0 = maximum) : 64</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size (KB) : 64</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size distribution : fixed</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;files per dir : 100</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dirs per dir : 10</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; threads share directories? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename prefix :</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename suffix :</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hash file number into dir.? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fsync after modify? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pause between files (microsec) : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; finish all requests? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stonewall? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;measure response times? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verify read? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verbose? : False</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log to stderr? : False</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ext.attr.size : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ext.attr.count : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;permute host directories? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; remote program directory :             /root/smallfile-master</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;network thread sync. dir. :             /var/www/test/network_shared</div>           <div>starting all threads by creating starting gate file             /var/www/test/network_shared/starting_gate.tmp</div>           <div>host = 192.168.140.41,thr = 00,elapsed = 68.845450,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 01,elapsed = 67.601088,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 02,elapsed = 58.677994,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 03,elapsed = 65.901922,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 04,elapsed = 66.971720,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 05,elapsed = 71.245102,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 06,elapsed = 67.574845,files             = 500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 07,elapsed = 54.263242,files             = 500,records = 0,status = ok</div>           <div>total threads = 8</div>           <div>total files = 4000</div>           <div>100.00% of requested files processed, minimum is &nbsp;70.00</div>           <div>71.245102 sec elapsed time</div>           <div>56.144211 files/sec</div>           <div>&nbsp;</div>           <div>umount /var/www</div>           <div>&nbsp;</div>           <div>root@app1:~/smallfile-master# mount -t nfs -o tcp             192.168.140.41:/www /var/www</div>           <div>root@app1:~/smallfile-master# ./smallfile_cli.py &nbsp;--top             /var/www/test --host-set 192.168.140.41 --threads 8 --files             500 --file-size 64 --record-size 64</div>           <div>smallfile version 3.0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hosts in test :             [&#39;192.168.140.41&#39;]</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;top test directory(s) :             [&#39;/var/www/test&#39;]</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;operation : cleanup</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; files/thread : 500</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;threads : 8</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;record size (KB, 0 = maximum) : 64</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size (KB) : 64</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; file size distribution : fixed</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;files per dir : 100</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; dirs per dir : 10</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; threads share directories? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename prefix :</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;filename suffix :</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;hash file number into dir.? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;fsync after modify? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; pause between files (microsec) : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; finish all requests? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; stonewall? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;measure response times? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verify read? : Y</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; verbose? : False</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; log to stderr? : False</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;ext.attr.size : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; ext.attr.count : 0</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;permute host directories? : N</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; remote program directory :             /root/smallfile-master</div>           <div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;network thread sync. dir. :             /var/www/test/network_shared</div>           <div>starting all threads by creating starting gate file             /var/www/test/network_shared/starting_gate.tmp</div>           <div>host = 192.168.140.41,thr = 00,elapsed = 0.962424,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 01,elapsed = 0.942673,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 02,elapsed = 0.940622,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 03,elapsed = 0.915218,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 04,elapsed = 0.934349,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 05,elapsed = 0.922466,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 06,elapsed = 0.954381,files =             500,records = 0,status = ok</div>           <div>host = 192.168.140.41,thr = 07,elapsed = 0.946127,files =             500,records = 0,status = ok</div>           <div>total threads = 8</div>           <div>total files = 4000</div>           <div>100.00% of requested files processed, minimum is &nbsp;70.00</div>           <div>0.962424 sec elapsed time</div>           <div>4156.173189 files/sec</div>           <div>&nbsp;</div>           <p>&nbsp;</p>           <p>&nbsp;</p>           <blockquote style="border-left: 2px solid #325FBA;             padding-left: 5px;margin-left:5px;">-----Original             message-----<br />             <strong>From:</strong> Jo Goossens             <a href="mailto:jo.goossens@hosted-power.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=jo.goossens@hosted-power.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;jo.goossens@hosted-power.com&gt;</a><br />             <strong>Sent:</strong> Tue 11-07-2017 11:26<br />             <strong>Subject:</strong> Re: [Gluster-users] Gluster native             mount is really slow compared to nfs<br />             <strong>To:</strong> <a href="mailto:gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">gluster-users@gluster.org</a>; Soumya             Koduri <a href="mailto:skoduri@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=skoduri@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;skoduri@redhat.com&gt;</a>; <br />             <strong>CC:</strong> Ambarish Soman             <a href="mailto:asoman@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=asoman@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;asoman@redhat.com&gt;</a>; <br />             <style type="text/css">.bodyclass { font-family: monospace; }</style>             <style type="text/css">       .bodyclass       {         font-family: Arial, Verdana, Sans-Serif ! important;         font-size: 12px;         padding: 5px 5px 5px 5px;         margin: 0px;         border-style: none;         background-color: #ffffff;       }        p, ul, li       {         margin-top: 0px;         margin-bottom: 0px;       }   </style>             <div><p>Hi all,</p>               <p>&nbsp;</p>               <p>&nbsp;</p>               <p>One more thing, we have 3 apps servers with the gluster                 on it, replicated on 3 different gluster nodes. (So the                 gluster nodes are app servers at the same time). We                 could actually almost work locally if we wouldn&#39;t need                 to have the same files on the 3 nodes and redundancy :)</p>               <p>&nbsp;</p>               <p>Initial cluster was created like this:</p>               <p>&nbsp;</p>               <div>gluster volume create www replica 3 transport tcp                 192.168.140.41:/gluster/www 192.168.140.42:/gluster/www                 192.168.140.43:/gluster/www force</div>               <div>gluster volume set www network.ping-timeout 5</div>               <div>gluster volume set www performance.cache-size 1024MB</div>               <div>gluster volume set www nfs.disable on # No need for                 NFS currently</div>               <div>gluster volume start www</div>               <div>&nbsp;</div>               <div>To my understanding it still wouldn&#39;t explain why nfs                 has such great performance compared to native ...</div>               <div>&nbsp;</div>               <p>&nbsp;</p>               <p>Regards</p>               <p>Jo</p>               <p>&nbsp;</p>               <p><br />                 &nbsp;</p>               <blockquote style="border-left: 2px solid #325FBA;                 padding-left: 5px;margin-left:5px;">-----Original                 message-----<br />                 <strong>From:</strong> Soumya Koduri                 <a href="mailto:skoduri@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=skoduri@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;skoduri@redhat.com&gt;</a><br />                 <strong>Sent:</strong> Tue 11-07-2017 11:16<br />                 <strong>Subject:</strong> Re: [Gluster-users] Gluster                 native mount is really slow compared to nfs<br />                 <strong>To:</strong> Jo Goossens                 <a href="mailto:jo.goossens@hosted-power.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=jo.goossens@hosted-power.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;jo.goossens@hosted-power.com&gt;</a>;                 <a href="mailto:gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">gluster-users@gluster.org</a>; <br />                 <strong>CC:</strong> Ambarish Soman                 <a href="mailto:asoman@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=asoman@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;asoman@redhat.com&gt;</a>; Karan Sandha                 <a href="mailto:ksandha@redhat.com" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=ksandha@redhat.com&#39;); return false;" target="_blank" title="This external link will open in a new window">&lt;ksandha@redhat.com&gt;</a>; <br />                 + Ambarish<br />                 <br />                 On 07/11/2017 02:31 PM, Jo Goossens wrote:<br />                 &gt; Hello,<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; We tried tons of settings to get a php app running                 on a native gluster<br />                 &gt; mount:<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; e.g.: 192.168.140.41:/www /var/www glusterfs<br />                 &gt; defaults,_netdev,backup-volfile-servers=192.168.140.42:192.168.140.43,direct-io-mode=disable<br />                 &gt; 0 0<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; I tried some mount variants in order to speed up                 things without luck.<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; After that I tried nfs (native gluster nfs 3 and                 ganesha nfs 4), it was<br />                 &gt; a crazy performance difference.<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; e.g.: 192.168.140.41:/www /var/www nfs4                 defaults,_netdev 0 0<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; I tried a test like this to confirm the slowness:<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; ./smallfile_cli.py &nbsp;--top /var/www/test --host-set                 192.168.140.41<br />                 &gt; --threads 8 --files 5000 --file-size 64                 --record-size 64<br />                 &gt;<br />                 &gt; This test finished in around 1.5 seconds with NFS                 and in more than 250<br />                 &gt; seconds without nfs (can&#39;t remember exact numbers,                 but I reproduced it<br />                 &gt; several times for both).<br />                 &gt;<br />                 &gt; With the native gluster mount the php app had                 loading times of over 10<br />                 &gt; seconds, with the nfs mount the php app loaded                 around 1 second maximum<br />                 &gt; and even less. (reproduced several times)<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; I tried all kind of performance settings and                 variants of this but not<br />                 &gt; helped , the difference stayed huge, here are some                 of the settings<br />                 &gt; played with in random order:<br />                 &gt;<br />                 <br />                 Request Ambarish &amp; Karan (cc&#39;ed who have been                 working on evaluating <br />                 performance of various access protocols gluster                 supports) to look at the <br />                 below settings and provide inputs.<br />                 <br />                 Thanks,<br />                 Soumya<br />                 <br />                 &gt;<br />                 &gt;<br />                 &gt; gluster volume set www features.cache-invalidation                 on<br />                 &gt; gluster volume set www                 features.cache-invalidation-timeout 600<br />                 &gt; gluster volume set www performance.stat-prefetch on<br />                 &gt; gluster volume set www                 performance.cache-samba-metadata on<br />                 &gt; gluster volume set www                 performance.cache-invalidation on<br />                 &gt; gluster volume set www performance.md-cache-timeout                 600<br />                 &gt; gluster volume set www network.inode-lru-limit                 250000<br />                 &gt;<br />                 &gt; gluster volume set www                 performance.cache-refresh-timeout 60<br />                 &gt; gluster volume set www performance.read-ahead                 disable<br />                 &gt; gluster volume set www performance.readdir-ahead on<br />                 &gt; gluster volume set www performance.parallel-readdir                 on<br />                 &gt; gluster volume set www                 performance.write-behind-window-size 4MB<br />                 &gt; gluster volume set www performance.io-thread-count                 64<br />                 &gt;<br />                 &gt; gluster volume set www                 performance.client-io-threads on<br />                 &gt;<br />                 &gt; gluster volume set www performance.cache-size 1GB<br />                 &gt; gluster volume set www performance.quick-read on<br />                 &gt; gluster volume set www performance.flush-behind on<br />                 &gt; gluster volume set www performance.write-behind on<br />                 &gt; gluster volume set www nfs.disable on<br />                 &gt;<br />                 &gt; gluster volume set www client.event-threads 3<br />                 &gt; gluster volume set www server.event-threads 3<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; The NFS ha adds a lot of complexity which we                 wouldn&#39;t need at all in our<br />                 &gt; setup, could you please explain what is going on                 here? Is NFS the only<br />                 &gt; solution to get acceptable performance? Did I miss                 one crucial settting<br />                 &gt; perhaps?<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; We&#39;re really desperate, thanks a lot for your help!<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; PS: We tried with gluster 3.11 and 3.8 on Debian,                 both had terrible<br />                 &gt; performance when not used with nfs.<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; Kind regards<br />                 &gt;<br />                 &gt; Jo Goossens<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt;<br />                 &gt; _______________________________________________<br />                 &gt; Gluster-users mailing list<br />                 &gt; <a href="mailto:Gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=Gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">Gluster-users@gluster.org</a><br />                 &gt;                 <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" target="_blank" title="This external link will open in a new window">http://lists.gluster.org/mailman/listinfo/gluster-users</a><br />                 &gt;<br />               </blockquote></div>             <pre>
 _______________________________________________  Gluster-users mailing list  <a href="mailto:Gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=Gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">Gluster-users@gluster.org</a>  <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" target="_blank" title="This external link will open in a new window">http://lists.gluster.org/mailman/listinfo/gluster-users</a></pre>           </blockquote></div>         <pre>
_______________________________________________  Gluster-users mailing list  <a href="mailto:Gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=Gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">Gluster-users@gluster.org</a>  <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" target="_blank" title="This external link will open in a new window">http://lists.gluster.org/mailman/listinfo/gluster-users</a></pre>       </blockquote>       <br />              <br />       <pre wrap="">
_______________________________________________ Gluster-users mailing list <a href="mailto:Gluster-users@gluster.org" onclick="parent.webclient.openWindow(this, &#39;createmail&#39;, &#39;index.php?load=dialog&task=createmail_standard&to=Gluster-users@gluster.org&#39;); return false;" target="_blank" title="This external link will open in a new window">Gluster-users@gluster.org</a> <a href="http://lists.gluster.org/mailman/listinfo/gluster-users" target="_blank" title="This external link will open in a new window">http://lists.gluster.org/mailman/listinfo/gluster-users</a></pre>     </blockquote>     </div>  <pre>
_______________________________________________<br /> Gluster-users mailing list<br /> Gluster-users@gluster.org<br /> http://lists.gluster.org/mailman/listinfo/gluster-users</pre>  </blockquote>
</body>
</html>