<div dir="auto">Where did you read 2k IOPS?<div dir="auto"><br></div><div dir="auto">Each disk is able to do about 75iops as I&#39;m using SATA disk, getting even closer to 2000 it&#39;s impossible</div></div><div class="gmail_extra"><br><div class="gmail_quote">Il 13 ott 2017 9:42 AM, &quot;Szymon Miotk&quot; &lt;<a href="mailto:szymon.miotk@gmail.com">szymon.miotk@gmail.com</a>&gt; ha scritto:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Depends what you need.<br>
2K iops for small file writes is not a bad result.<br>
In my case I had a system that was just poorly written and it was<br>
using 300-1000 iops for constant operations and was choking on<br>
cleanup.<br>
<br>
<br>
On Thu, Oct 12, 2017 at 6:23 PM, Gandalf Corvotempesta<br>
&lt;<a href="mailto:gandalf.corvotempesta@gmail.com">gandalf.corvotempesta@gmail.<wbr>com</a>&gt; wrote:<br>
&gt; So, even with latest version, gluster is still unusable with small files ?<br>
&gt;<br>
&gt; 2017-10-12 10:51 GMT+02:00 Szymon Miotk &lt;<a href="mailto:szymon.miotk@gmail.com">szymon.miotk@gmail.com</a>&gt;:<br>
&gt;&gt; I&#39;ve analyzed small files performance few months ago, because I had<br>
&gt;&gt; huge performance problems with small files writes on Gluster.<br>
&gt;&gt; The read performance has been improved in many ways in recent releases<br>
&gt;&gt; (md-cache, parallel-readdir, hot-tier).<br>
&gt;&gt; But write performance is more or less the same and you cannot go above<br>
&gt;&gt; 10K smallfiles create - even with SSD or Optane drives.<br>
&gt;&gt; Even ramdisk is not helping much here, because the bottleneck is not<br>
&gt;&gt; in the storage performance.<br>
&gt;&gt; Key problems I&#39;ve noticed:<br>
&gt;&gt; - LOOKUPs are expensive, because there is separate query for every<br>
&gt;&gt; depth level of destination directory (md-cache helps here a bit,<br>
&gt;&gt; unless you are creating lot of directories). So the deeper the<br>
&gt;&gt; directory structure, the worse.<br>
&gt;&gt; - for every file created, Gluster creates another file in .glusterfs<br>
&gt;&gt; directory, doubling the required IO and network latency. What&#39;s worse,<br>
&gt;&gt; XFS, the recommended filesystem, doesn&#39;t like flat directory sturcture<br>
&gt;&gt; with thousands files in each directory. But that&#39;s exactly how Gluster<br>
&gt;&gt; stores its metadata in .glusterfs, so the performance decreases by<br>
&gt;&gt; 40-50% after 10M files.<br>
&gt;&gt; - complete directory structure is created on each of the bricks. So<br>
&gt;&gt; every mkdir results in io on every brick you have in the volume.<br>
&gt;&gt; - hot-tier may be great for improving reads, but for small files<br>
&gt;&gt; writes it actually kills performance even more.<br>
&gt;&gt; - FUSE driver requires context switch between userspace and kernel<br>
&gt;&gt; each time you create a file, so with small files the context switches<br>
&gt;&gt; are also taking their toll<br>
&gt;&gt;<br>
&gt;&gt; The best results I got were:<br>
&gt;&gt; - create big file on Gluster, mount it as XFS over loopback interface<br>
&gt;&gt; - 13.5K smallfile writes. Drawback - you can use it only on one<br>
&gt;&gt; server, as XFS will crash when two servers will write to it.<br>
&gt;&gt; - use libgfapi - 20K smallfile writes performance. Drawback - no nice<br>
&gt;&gt; POSIX filesystem, huge CPU usage on Gluster server.<br>
&gt;&gt;<br>
&gt;&gt; I was testing with 1KB files, so really small.<br>
&gt;&gt;<br>
&gt;&gt; Best regards,<br>
&gt;&gt; Szymon Miotk<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Oct 6, 2017 at 4:43 PM, Gandalf Corvotempesta<br>
&gt;&gt; &lt;<a href="mailto:gandalf.corvotempesta@gmail.com">gandalf.corvotempesta@gmail.<wbr>com</a>&gt; wrote:<br>
&gt;&gt;&gt; Any update about this?<br>
&gt;&gt;&gt; I&#39;ve seen some works about optimizing performance for small files, is<br>
&gt;&gt;&gt; now gluster &quot;usable&quot; for storing, in example, Maildirs or git sources<br>
&gt;&gt;&gt; ?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; at least in 3.7 (or 3.8, I don&#39;t remember exactly), extracting kernel<br>
&gt;&gt;&gt; sources took about 4-5 minutes.<br>
&gt;&gt;&gt; ______________________________<wbr>_________________<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://lists.gluster.org/mailman/listinfo/gluster-users" rel="noreferrer" target="_blank">http://lists.gluster.org/<wbr>mailman/listinfo/gluster-users</a><br>
</blockquote></div></div>