<div dir="ltr">Hi,<div><br></div><div>Does the gluster team have any feedback about this? Resolving the &quot;Found anomalies&quot; issues may be key to resolving dir list speed issues.<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><br>Sincerely,<br>Artem<br><br>--<br>Founder, <a href="http://www.androidpolice.com" target="_blank">Android Police</a>, <a href="http://www.apkmirror.com/" style="font-size:12.8px" target="_blank">APK Mirror</a><span style="font-size:12.8px">, Illogical Robot LLC</span></div><div dir="ltr"><a href="http://beerpla.net/" target="_blank">beerpla.net</a> | <a href="http://twitter.com/ArtemR" target="_blank">@ArtemR</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 30, 2020 at 10:36 PM Strahil Nikolov &lt;<a href="mailto:hunter86_bg@yahoo.com">hunter86_bg@yahoo.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On April 30, 2020 9:05:19 PM GMT+03:00, Artem Russakovskii &lt;<a href="mailto:archon810@gmail.com" target="_blank">archon810@gmail.com</a>&gt; wrote:<br>
&gt;I did this on the same prod instance just now.<br>
&gt;<br>
&gt;&#39;find&#39; on a fuse gluster dir with 40k+ files:<br>
&gt;1st run: 3m56.261s<br>
&gt;2nd run: 0m24.970s<br>
&gt;3rd run: 0m24.099s<br>
&gt;<br>
&gt;At this point, I killed all gluster services on one of the 4 servers<br>
&gt;and<br>
&gt;verified that that brick went offline.<br>
&gt;<br>
&gt;1st run: 0m38.131s<br>
&gt;2nd run: 0m19.369s<br>
&gt;3rd run: 0m23.576s<br>
&gt;<br>
&gt;Nothing conclusive really IMO.<br>
&gt;<br>
&gt;Sincerely,<br>
&gt;Artem<br>
&gt;<br>
&gt;--<br>
&gt;Founder, Android Police &lt;<a href="http://www.androidpolice.com" rel="noreferrer" target="_blank">http://www.androidpolice.com</a>&gt;, APK Mirror<br>
&gt;&lt;<a href="http://www.apkmirror.com/" rel="noreferrer" target="_blank">http://www.apkmirror.com/</a>&gt;, Illogical Robot LLC<br>
&gt;<a href="http://beerpla.net" rel="noreferrer" target="_blank">beerpla.net</a> | @ArtemR &lt;<a href="http://twitter.com/ArtemR" rel="noreferrer" target="_blank">http://twitter.com/ArtemR</a>&gt;<br>
&gt;<br>
&gt;<br>
&gt;On Thu, Apr 30, 2020 at 9:55 AM Strahil Nikolov &lt;<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>&gt;<br>
&gt;wrote:<br>
&gt;<br>
&gt;&gt; On April 30, 2020 6:27:10 PM GMT+03:00, Artem Russakovskii &lt;<br>
&gt;&gt; <a href="mailto:archon810@gmail.com" target="_blank">archon810@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;Hi Strahil, in the original email I included both the times for the<br>
&gt;&gt; &gt;first<br>
&gt;&gt; &gt;and subsequent reads on the fuse mounted gluster volume as well as<br>
&gt;the<br>
&gt;&gt; &gt;xfs<br>
&gt;&gt; &gt;filesystem the gluster data resides on (this is the brick, right?).<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;On Thu, Apr 30, 2020, 7:44 AM Strahil Nikolov<br>
&gt;&lt;<a href="mailto:hunter86_bg@yahoo.com" target="_blank">hunter86_bg@yahoo.com</a>&gt;<br>
&gt;&gt; &gt;wrote:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; On April 30, 2020 4:24:23 AM GMT+03:00, Artem Russakovskii &lt;<br>
&gt;&gt; &gt;&gt; <a href="mailto:archon810@gmail.com" target="_blank">archon810@gmail.com</a>&gt; wrote:<br>
&gt;&gt; &gt;&gt; &gt;Hi all,<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;We have 500GB and 10TB 4x1 replicate xfs-based gluster volumes,<br>
&gt;and<br>
&gt;&gt; &gt;the<br>
&gt;&gt; &gt;&gt; &gt;10TB one especially is extremely slow to do certain things with<br>
&gt;(and<br>
&gt;&gt; &gt;&gt; &gt;has<br>
&gt;&gt; &gt;&gt; &gt;been since gluster 3.x when we started). We&#39;re currently on 5.13.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;The number of files isn&#39;t even what I&#39;d consider that great -<br>
&gt;under<br>
&gt;&gt; &gt;&gt; &gt;100k<br>
&gt;&gt; &gt;&gt; &gt;per dir.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;Here are some numbers to look at:<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;On gluster volume in a dir of 45k files:<br>
&gt;&gt; &gt;&gt; &gt;The first time<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;time find | wc -l<br>
&gt;&gt; &gt;&gt; &gt;45423<br>
&gt;&gt; &gt;&gt; &gt;real    8m44.819s<br>
&gt;&gt; &gt;&gt; &gt;user    0m0.459s<br>
&gt;&gt; &gt;&gt; &gt;sys     0m0.998s<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;And again<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;time find | wc -l<br>
&gt;&gt; &gt;&gt; &gt;45423<br>
&gt;&gt; &gt;&gt; &gt;real    0m34.677s<br>
&gt;&gt; &gt;&gt; &gt;user    0m0.291s<br>
&gt;&gt; &gt;&gt; &gt;sys     0m0.754s<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;If I run the same operation on the xfs block device itself:<br>
&gt;&gt; &gt;&gt; &gt;The first time<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;time find | wc -l<br>
&gt;&gt; &gt;&gt; &gt;45423<br>
&gt;&gt; &gt;&gt; &gt;real    0m13.514s<br>
&gt;&gt; &gt;&gt; &gt;user    0m0.144s<br>
&gt;&gt; &gt;&gt; &gt;sys     0m0.501s<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;And again<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;time find | wc -l<br>
&gt;&gt; &gt;&gt; &gt;45423<br>
&gt;&gt; &gt;&gt; &gt;real    0m0.197s<br>
&gt;&gt; &gt;&gt; &gt;user    0m0.088s<br>
&gt;&gt; &gt;&gt; &gt;sys     0m0.106s<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;I&#39;d expect a performance difference here but just as it was<br>
&gt;several<br>
&gt;&gt; &gt;&gt; &gt;years<br>
&gt;&gt; &gt;&gt; &gt;ago when we started with gluster, it&#39;s still huge, and simple<br>
&gt;file<br>
&gt;&gt; &gt;&gt; &gt;listings<br>
&gt;&gt; &gt;&gt; &gt;are incredibly slow.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;At the time, the team was looking to do some optimizations, but<br>
&gt;I&#39;m<br>
&gt;&gt; &gt;not<br>
&gt;&gt; &gt;&gt; &gt;sure this has happened.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;What can we do to try to improve performance?<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;Thank you.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;Some setup values follow.<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;xfs_info /mnt/SNIP_block1<br>
&gt;&gt; &gt;&gt; &gt;meta-data=/dev/sdc               isize=512    agcount=103,<br>
&gt;&gt; &gt;&gt; &gt;agsize=26214400<br>
&gt;&gt; &gt;&gt; &gt;blks<br>
&gt;&gt; &gt;&gt; &gt;         =                       sectsz=512   attr=2,<br>
&gt;projid32bit=1<br>
&gt;&gt; &gt;&gt; &gt;      =                       crc=1        finobt=1, sparse=0,<br>
&gt;&gt; &gt;rmapbt=0<br>
&gt;&gt; &gt;&gt; &gt;         =                       reflink=0<br>
&gt;&gt; &gt;&gt; &gt;data     =                       bsize=4096   blocks=2684354560,<br>
&gt;&gt; &gt;&gt; &gt;imaxpct=25<br>
&gt;&gt; &gt;&gt; &gt;         =                       sunit=0      swidth=0 blks<br>
&gt;&gt; &gt;&gt; &gt;naming   =version 2              bsize=4096   ascii-ci=0, ftype=1<br>
&gt;&gt; &gt;&gt; &gt;log      =internal log           bsize=4096   blocks=51200,<br>
&gt;&gt; &gt;version=2<br>
&gt;&gt; &gt;&gt; &gt;        =                       sectsz=512   sunit=0 blks,<br>
&gt;&gt; &gt;lazy-count=1<br>
&gt;&gt; &gt;&gt; &gt;realtime =none                   extsz=4096   blocks=0,<br>
&gt;rtextents=0<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;Volume Name: SNIP_data1<br>
&gt;&gt; &gt;&gt; &gt;Type: Replicate<br>
&gt;&gt; &gt;&gt; &gt;Volume ID: SNIP<br>
&gt;&gt; &gt;&gt; &gt;Status: Started<br>
&gt;&gt; &gt;&gt; &gt;Snapshot Count: 0<br>
&gt;&gt; &gt;&gt; &gt;Number of Bricks: 1 x 4 = 4<br>
&gt;&gt; &gt;&gt; &gt;Transport-type: tcp<br>
&gt;&gt; &gt;&gt; &gt;Bricks:<br>
&gt;&gt; &gt;&gt; &gt;Brick1: nexus2:/mnt/SNIP_block1/SNIP_data1<br>
&gt;&gt; &gt;&gt; &gt;Brick2: forge:/mnt/SNIP_block1/SNIP_data1<br>
&gt;&gt; &gt;&gt; &gt;Brick3: hive:/mnt/SNIP_block1/SNIP_data1<br>
&gt;&gt; &gt;&gt; &gt;Brick4: citadel:/mnt/SNIP_block1/SNIP_data1<br>
&gt;&gt; &gt;&gt; &gt;Options Reconfigured:<br>
&gt;&gt; &gt;&gt; &gt;cluster.quorum-count: 1<br>
&gt;&gt; &gt;&gt; &gt;cluster.quorum-type: fixed<br>
&gt;&gt; &gt;&gt; &gt;network.ping-timeout: 5<br>
&gt;&gt; &gt;&gt; &gt;network.remote-dio: enable<br>
&gt;&gt; &gt;&gt; &gt;performance.rda-cache-limit: 256MB<br>
&gt;&gt; &gt;&gt; &gt;performance.readdir-ahead: on<br>
&gt;&gt; &gt;&gt; &gt;performance.parallel-readdir: on<br>
&gt;&gt; &gt;&gt; &gt;network.inode-lru-limit: 500000<br>
&gt;&gt; &gt;&gt; &gt;performance.md-cache-timeout: 600<br>
&gt;&gt; &gt;&gt; &gt;performance.cache-invalidation: on<br>
&gt;&gt; &gt;&gt; &gt;performance.stat-prefetch: on<br>
&gt;&gt; &gt;&gt; &gt;features.cache-invalidation-timeout: 600<br>
&gt;&gt; &gt;&gt; &gt;features.cache-invalidation: on<br>
&gt;&gt; &gt;&gt; &gt;cluster.readdir-optimize: on<br>
&gt;&gt; &gt;&gt; &gt;performance.io-thread-count: 32<br>
&gt;&gt; &gt;&gt; &gt;server.event-threads: 4<br>
&gt;&gt; &gt;&gt; &gt;client.event-threads: 4<br>
&gt;&gt; &gt;&gt; &gt;performance.read-ahead: off<br>
&gt;&gt; &gt;&gt; &gt;cluster.lookup-optimize: on<br>
&gt;&gt; &gt;&gt; &gt;performance.cache-size: 1GB<br>
&gt;&gt; &gt;&gt; &gt;cluster.self-heal-daemon: enable<br>
&gt;&gt; &gt;&gt; &gt;transport.address-family: inet<br>
&gt;&gt; &gt;&gt; &gt;nfs.disable: on<br>
&gt;&gt; &gt;&gt; &gt;performance.client-io-threads: on<br>
&gt;&gt; &gt;&gt; &gt;cluster.granular-entry-heal: enable<br>
&gt;&gt; &gt;&gt; &gt;cluster.data-self-heal-algorithm: full<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;Sincerely,<br>
&gt;&gt; &gt;&gt; &gt;Artem<br>
&gt;&gt; &gt;&gt; &gt;<br>
&gt;&gt; &gt;&gt; &gt;--<br>
&gt;&gt; &gt;&gt; &gt;Founder, Android Police &lt;<a href="http://www.androidpolice.com" rel="noreferrer" target="_blank">http://www.androidpolice.com</a>&gt;, APK<br>
&gt;Mirror<br>
&gt;&gt; &gt;&gt; &gt;&lt;<a href="http://www.apkmirror.com/" rel="noreferrer" target="_blank">http://www.apkmirror.com/</a>&gt;, Illogical Robot LLC<br>
&gt;&gt; &gt;&gt; &gt;<a href="http://beerpla.net" rel="noreferrer" target="_blank">beerpla.net</a> | @ArtemR &lt;<a href="http://twitter.com/ArtemR" rel="noreferrer" target="_blank">http://twitter.com/ArtemR</a>&gt;<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Hi Artem,<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Have you checked the same on brick level ? How big is the<br>
&gt;difference<br>
&gt;&gt; &gt;?<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt; &gt;&gt; Best Regards,<br>
&gt;&gt; &gt;&gt; Strahil Nikolov<br>
&gt;&gt; &gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hi Artem,<br>
&gt;&gt;<br>
&gt;&gt; My bad I missed the &#39;xfs&#39; word... Still the difference  is huge.<br>
&gt;&gt;<br>
&gt;&gt; May I ask you to do a test again (pure curiosity) as follows:<br>
&gt;&gt; 1. Repeat the test from before<br>
&gt;&gt; 2. Stop 1 brick  and test again.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; P.S.: You can try it on the test cluster<br>
&gt;&gt;<br>
&gt;&gt; Best Regards,<br>
&gt;&gt; Strahil Nikolov<br>
&gt;&gt;<br>
<br>
Hi Artem,<br>
<br>
I was wondering if the 4th replica  is adding additional overhead (another dir to check), but the test is not very conclusive.<br>
<br>
<br>
Actually the &#39;anomalities&#39; log entries in your pool  could be a symptom of another pdoblem (just like the long listing time).<br>
<br>
I will try to reproduce your setup (smaller scale -  1  brick 50k files)  and then will try with 3 bricks.<br>
<br>
<br>
Best Regards,<br>
Strahil Nikolov<br>
</blockquote></div>