<p dir="ltr">Hi Ben,</p>
<p dir="ltr">Regarding <a href="https://bugzilla.redhat.com/show_bug.cgi?id=1250241which">https://bugzilla.redhat.com/show_bug.cgi?id=1250241which</a> does look like a serious regression for small file performance, do you know which versions are affected, or is there a way to find out?</p>
<p dir="ltr">Also the patch didn&#39;t make it: do you have visibility on whether another patch is likely to land soon?</p>
<p dir="ltr">If not I may try the version before the regression was introduced...</p>
<p dir="ltr">Thanks,<br>
Thibault.</p>
<div class="gmail_quote">On 14 Sep 2015 4:22 pm, &quot;Ben Turner&quot; &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt; wrote:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">----- Original Message -----<br>
&gt; From: &quot;Diego Remolina&quot; &lt;<a href="mailto:dijuremo@gmail.com">dijuremo@gmail.com</a>&gt;<br>
&gt; To: &quot;Alex Crow&quot; &lt;<a href="mailto:acrow@integrafin.co.uk">acrow@integrafin.co.uk</a>&gt;<br>
&gt; Cc: <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt; Sent: Monday, September 14, 2015 9:26:17 AM<br>
&gt; Subject: Re: [Gluster-users] Very slow roaming profiles on top of glusterfs<br>
&gt;<br>
&gt; Hi Alex,<br>
&gt;<br>
&gt; Thanks for the reply, I was aware of the performance issues with small<br>
&gt; files, but never expected an order of magnitude slower. I understand<br>
&gt; some improvements were made to 3.7.x to help with low small file<br>
&gt; performance, however I did not see any big changes after upgrading<br>
&gt; from 3.6.x to 3.7.x.<br>
&gt;<br>
&gt; <a href="http://www.gluster.org/community/documentation/index.php/Features/Feature_Smallfile_Perf" rel="noreferrer" target="_blank">http://www.gluster.org/community/documentation/index.php/Features/Feature_Smallfile_Perf</a><br>
&gt;<br>
&gt; And the ssd metadata support feature seems to have not had any changes<br>
&gt; since September 2014:<br>
&gt;<br>
&gt; <a href="https://forge.gluster.org/gluster-meta-data-on-ssd" rel="noreferrer" target="_blank">https://forge.gluster.org/gluster-meta-data-on-ssd</a><br>
&gt;<br>
&gt; Am I just totally out of luck with gluster for now?<br>
<br>
Are you using glusterFS mounts or SMB mounts?  As for SMB mounts we are working VERY hard to improve metadata / smallfile performance but as it sits right now we are limited by the number of lookup / stat calls that are issued.  When we can reduce the number of lookups and prefetch the xattrs that SMB / windows needs(I am working on the stat prefetch but don&#39;t have a testable solution yet) I expect to see a vast perf improvement but I don&#39;t have an ETA for you.<br>
<br>
On the glusterFS side I see ~300% improvement in smallfile create performance between 3.6 and 3.7.  Try setting:<br>
<br>
gluster volume set testvol server.event-threads 4<br>
gluster volume set testvol client.event-threads 4<br>
gluster volume set testvol cluster.lookup-optimize on<br>
<br>
Unfortunately WRT to metadata operations a fix went in that has negatively affected performance:<br>
<br>
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1250241" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1250241</a><br>
<br>
I used to see about 25k metatdata operations per second, now I am only seeking 6k.  It looks like there is a patch but I don&#39;t know if the fix will get us back to the 25k OPs per second, maybe Pranith can comment on expectations for:<br>
<br>
<a href="https://bugzilla.redhat.com/show_bug.cgi?id=1250803" rel="noreferrer" target="_blank">https://bugzilla.redhat.com/show_bug.cgi?id=1250803</a><br>
<br>
To summarize:<br>
<br>
SMB - no ETA for improvement<br>
GlusterFS smallfile create - 300% increase in my env between 3.6 and 3.7<br>
GlusterFS metadata - BZ is in POST(patch is submitted) but I am not sure on the ETA of the fix and if the fix will get back to what I was seeing in 3.6<br>
<br>
Hope this helps.<br>
<br>
-b<br>
<br>
&gt;<br>
&gt; Diego<br>
&gt;<br>
&gt; On Mon, Sep 14, 2015 at 8:37 AM, Alex Crow &lt;<a href="mailto:acrow@integrafin.co.uk">acrow@integrafin.co.uk</a>&gt; wrote:<br>
&gt; &gt; Hi Diego,<br>
&gt; &gt;<br>
&gt; &gt; I think it&#39;s the overhead of fstat() calls. Gluster keeps its metadata on<br>
&gt; &gt; the bricks themselves, and this has to be looked up for every file access.<br>
&gt; &gt; For big files this is not an issue as it only happens once, but when<br>
&gt; &gt; accessing lots of small files this overhead rapidly builds up, the smaller<br>
&gt; &gt; the file the worse the issue. Profiles do have hundreds of very small<br>
&gt; &gt; files!<br>
&gt; &gt;<br>
&gt; &gt; I was looking to use GlusterFS for generic file sharing as well, but I<br>
&gt; &gt; noticed the same issue while testing backups from a GlusterFS volume. On<br>
&gt; &gt; one<br>
&gt; &gt; vol (scanned 4-bit greyscale images and small PDFs) backups were taking<br>
&gt; &gt; over<br>
&gt; &gt; 16 hours whereas with a traditional FS they were completing in just over 1<br>
&gt; &gt; hour.<br>
&gt; &gt;<br>
&gt; &gt; It may be worth trying out one of the distributed filesystems that use a<br>
&gt; &gt; separate in-memory metadata server. I&#39;ve tried LizardFS and MooseFS and<br>
&gt; &gt; they<br>
&gt; &gt; are both much faster than GlusterFS for small files, although large-file<br>
&gt; &gt; sequential performance is not as good (but still plenty for a Samba<br>
&gt; &gt; server).<br>
&gt; &gt;<br>
&gt; &gt; Alex<br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; On 14/09/15 13:21, Diego Remolina wrote:<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Bump...<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Anybody has any clues as to how I can try and identify the cause of<br>
&gt; &gt;&gt; the slowness?<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; Diego<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; On Wed, Sep 9, 2015 at 7:42 PM, Diego Remolina &lt;<a href="mailto:dijuremo@gmail.com">dijuremo@gmail.com</a>&gt; wrote:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Hi,<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; I am running two glusterfs servers as replicas. I have a 3rd server<br>
&gt; &gt;&gt;&gt; which provides quorum. Since gluster was introduced, we have had an<br>
&gt; &gt;&gt;&gt; issue where windows roaming profiles are extremely slow. The initial<br>
&gt; &gt;&gt;&gt; setup was done on 3.6.x and since 3.7.x has small file performance<br>
&gt; &gt;&gt;&gt; improvements, I upgraded to 3.7.3, but that has not helped.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; It seems that for some reason gluster is very slow when dealing with<br>
&gt; &gt;&gt;&gt; lots of small files. I am not sure how to really troubleshoot this via<br>
&gt; &gt;&gt;&gt; samba, but I have come up with other tests that produce rather<br>
&gt; &gt;&gt;&gt; disconcerting results as shown below.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; If I run directly on the brick:<br>
&gt; &gt;&gt;&gt; [root@ysmha01 /]# time ( find<br>
&gt; &gt;&gt;&gt; /bricks/hdds/brick/home/jgibbs/.winprofile.V2 -type f &gt; /dev/null )<br>
&gt; &gt;&gt;&gt; real 0m3.683s<br>
&gt; &gt;&gt;&gt; user 0m0.042s<br>
&gt; &gt;&gt;&gt; sys 0m0.154s<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Now running on the gluster volume mounted via fuse:<br>
&gt; &gt;&gt;&gt; [root@ysmha01 /]# mount | grep export<br>
&gt; &gt;&gt;&gt; 10.0.1.6:/export on /export type fuse.glusterfs<br>
&gt; &gt;&gt;&gt; (rw,relatime,user_id=0,group_id=0,allow_other,max_read=131072)<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; [root@ysmha01 /]# time ( find /export/home/jgibbs/.winprofile.V2 -type<br>
&gt; &gt;&gt;&gt; f &gt; /dev/null )<br>
&gt; &gt;&gt;&gt; real 0m57.812s<br>
&gt; &gt;&gt;&gt; user 0m0.118s<br>
&gt; &gt;&gt;&gt; sys 0m0.374s<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; In general, the time to run the command on this particular user can be<br>
&gt; &gt;&gt;&gt; up to 2 minutes. If I run the command on the brick first, then it<br>
&gt; &gt;&gt;&gt; seems the time to run on the mounted gluster volume is lower like in<br>
&gt; &gt;&gt;&gt; the example above. I assume some caching in preserved.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; This particular user has 13,216 files in his roaming profile, which<br>
&gt; &gt;&gt;&gt; adds up to about 452MB of data.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; The server performance over samba for copying big files (both read and<br>
&gt; &gt;&gt;&gt; write) is great, I can almost max out the gigabit connections on the<br>
&gt; &gt;&gt;&gt; desktops.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Reading from samba share on the server and writing to local drive:<br>
&gt; &gt;&gt;&gt; 111MB/s (Copying a 650MB iso file)<br>
&gt; &gt;&gt;&gt; Reading from local drive and writing to server samba share: 94MB/s<br>
&gt; &gt;&gt;&gt; (Copying a 3.2GB ISO file)<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; The servers are connected to the network with 10Gbit adapters and also<br>
&gt; &gt;&gt;&gt; use separate adapters; one 10 Gbit adapter is used for services, and<br>
&gt; &gt;&gt;&gt; other for the backend storage communication.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; The servers have hardware raid controllers and the samba shares are on<br>
&gt; &gt;&gt;&gt; top of an Areca ARC-1882 controller, with a volume made out of 12 2TB<br>
&gt; &gt;&gt;&gt; drives in raid 6.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; If you can provide any steps to better troubleshoot this problem and<br>
&gt; &gt;&gt;&gt; fix the issue, I will really appreciate it.<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Diego<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Further details about the machines below:<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; [root@ysmha01 /]# cat /etc/redhat-release<br>
&gt; &gt;&gt;&gt; CentOS Linux release 7.1.1503 (Core)<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; [root@ysmha01 /]# gluster volume info export<br>
&gt; &gt;&gt;&gt; Volume Name: export<br>
&gt; &gt;&gt;&gt; Type: Replicate<br>
&gt; &gt;&gt;&gt; Volume ID: b4353b3f-6ef6-4813-819a-8e85e5a95cff<br>
&gt; &gt;&gt;&gt; Status: Started<br>
&gt; &gt;&gt;&gt; Number of Bricks: 1 x 2 = 2<br>
&gt; &gt;&gt;&gt; Transport-type: tcp<br>
&gt; &gt;&gt;&gt; Bricks:<br>
&gt; &gt;&gt;&gt; Brick1: 10.0.1.7:/bricks/hdds/brick<br>
&gt; &gt;&gt;&gt; Brick2: 10.0.1.6:/bricks/hdds/brick<br>
&gt; &gt;&gt;&gt; Options Reconfigured:<br>
&gt; &gt;&gt;&gt; performance.io-cache: on<br>
&gt; &gt;&gt;&gt; performance.io-thread-count: 64<br>
&gt; &gt;&gt;&gt; nfs.disable: on<br>
&gt; &gt;&gt;&gt; cluster.server-quorum-type: server<br>
&gt; &gt;&gt;&gt; performance.cache-size: 1024MB<br>
&gt; &gt;&gt;&gt; server.allow-insecure: on<br>
&gt; &gt;&gt;&gt; cluster.server-quorum-ratio: 51%<br>
&gt; &gt;&gt;&gt;<br>
&gt; &gt;&gt;&gt; Each server has dual Intel(R) Xeon(R) CPU E5-2620 0 @ 2.00GHz with<br>
&gt; &gt;&gt;&gt; 32GB of memory.<br>
&gt; &gt;&gt;<br>
&gt; &gt;&gt; _______________________________________________<br>
&gt; &gt;&gt; Gluster-users mailing list<br>
&gt; &gt;&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; &gt;&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; --<br>
&gt; &gt; This message is intended only for the addressee and may contain<br>
&gt; &gt; confidential information. Unless you are that person, you may not<br>
&gt; &gt; disclose its contents or use it in any way and are requested to delete<br>
&gt; &gt; the message along with any attachments and notify us immediately.<br>
&gt; &gt; &quot;Transact&quot; is operated by Integrated Financial Arrangements plc. 29<br>
&gt; &gt; Clement&#39;s Lane, London EC4N 7AE. Tel: (020) 7608 4900 Fax: (020) 7608<br>
&gt; &gt; 5300. (Registered office: as above; Registered in England and Wales<br>
&gt; &gt; under number: 3727592). Authorised and regulated by the Financial<br>
&gt; &gt; Conduct Authority (entered on the Financial Services Register; no. 190856).<br>
&gt; &gt;<br>
&gt; &gt; .<br>
&gt; &gt;<br>
&gt; &gt; _______________________________________________<br>
&gt; &gt; Gluster-users mailing list<br>
&gt; &gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; &gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; _______________________________________________<br>
&gt; Gluster-users mailing list<br>
&gt; <a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
&gt; <a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;<br>
_______________________________________________<br>
Gluster-users mailing list<br>
<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a><br>
<a href="http://www.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
</blockquote></div>