<div dir="ltr">Hi Ben,<div><br></div><div>That means if i will not attach the SSD in to brick...even not install glusterfs on the server...it gives me throughput about 300mb/s but once i will install glusterfs and add this ssd in to glusterfs volume it gives me 16 mb/s...</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 10, 2015 at 9:32 PM, Ben Turner <span dir="ltr">&lt;<a href="mailto:bturner@redhat.com" target="_blank">bturner@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">----- Original Message -----<br>
&gt; From: &quot;Punit Dambiwal&quot; &lt;<a href="mailto:hypunit@gmail.com">hypunit@gmail.com</a>&gt;<br>
</span><div><div class="h5">&gt; To: &quot;Ben Turner&quot; &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt;<br>
&gt; Cc: &quot;Vijay Bellur&quot; &lt;<a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a>&gt;, <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt; Sent: Thursday, April 9, 2015 9:36:59 PM<br>
&gt; Subject: Re: [Gluster-users] Glusterfs performance tweaks<br>
&gt;<br>
&gt; Hi Ben,<br>
&gt;<br>
&gt; But without glusterfs if i run the same command with dsync on the same<br>
&gt; ssd...it gives me good throughput...all setup (CPU,RAM,Network are same)<br>
&gt; the only difference is no glusterfs...<br>
&gt;<br>
&gt; [root@cpu09 mnt]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; 4096+0 records in<br>
&gt; 4096+0 records out<br>
&gt; 268435456 bytes (268 MB) copied, 0.935646 s, 287 MB/s<br>
&gt; [root@cpu09 mnt]#<br>
&gt;<br>
&gt; [image: Inline image 1]<br>
&gt;<br>
&gt; But on the top of the glusterfs it gives too slow performance....i run the<br>
&gt; ssd trim every night to clean the garbage collection...i think there is<br>
&gt; something need to do from gluster or OS side to improve the<br>
&gt; performance....otherwise no use to use the ALL SSD with gluster because<br>
&gt; with all SSD you will get the performance slower then SATA....<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Fri, Apr 10, 2015 at 2:12 AM, Ben Turner &lt;<a href="mailto:bturner@redhat.com">bturner@redhat.com</a>&gt; wrote:<br>
&gt;<br>
&gt; &gt; ----- Original Message -----<br>
&gt; &gt; &gt; From: &quot;Punit Dambiwal&quot; &lt;<a href="mailto:hypunit@gmail.com">hypunit@gmail.com</a>&gt;<br>
&gt; &gt; &gt; To: &quot;Vijay Bellur&quot; &lt;<a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a>&gt;<br>
&gt; &gt; &gt; Cc: <a href="mailto:gluster-users@gluster.org">gluster-users@gluster.org</a><br>
&gt; &gt; &gt; Sent: Wednesday, April 8, 2015 9:55:38 PM<br>
&gt; &gt; &gt; Subject: Re: [Gluster-users] Glusterfs performance tweaks<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hi Vijay,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; If i run the same command directly on the brick...<br>
<br>
</div></div>What does this mean then?  Running directly on the brick to me means running directly on the SSD.  The command below is the same thing as above, what changed?<br>
<span class="HOEnZb"><font color="#888888"><br>
-b<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; [root@cpu01 1]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; &gt; &gt; 4096+0 records in<br>
&gt; &gt; &gt; 4096+0 records out<br>
&gt; &gt; &gt; 268435456 bytes (268 MB) copied, 16.8022 s, 16.0 MB/s<br>
&gt; &gt; &gt; [root@cpu01 1]# pwd<br>
&gt; &gt; &gt; /bricks/1<br>
&gt; &gt; &gt; [root@cpu01 1]#<br>
&gt; &gt; &gt;<br>
&gt; &gt;<br>
&gt; &gt; This is your problem.  Gluster is only as fast as its slowest piece, and<br>
&gt; &gt; here your storage is the bottleneck.  Being that you get 16 MB to the brick<br>
&gt; &gt; and 12 to gluster that works out to about 25% overhead which is what I<br>
&gt; &gt; would expect with a single thread, single brick, single client scenario.<br>
&gt; &gt; This may have something to do with the way SSDs write?  On my SSD at my<br>
&gt; &gt; desk I only get 11.4 MB / sec when I run that DD command:<br>
&gt; &gt;<br>
&gt; &gt; # dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; &gt; 4096+0 records in<br>
&gt; &gt; 4096+0 records out<br>
&gt; &gt; 268435456 bytes (268 MB) copied, 23.065 s, 11.4 MB/s<br>
&gt; &gt;<br>
&gt; &gt; My thought is that maybe using dsync is forcing the SSD to clean the data<br>
&gt; &gt; or something else before writing to it:<br>
&gt; &gt;<br>
&gt; &gt; <a href="http://www.blog.solidstatediskshop.com/2012/how-does-an-ssd-write/" target="_blank">http://www.blog.solidstatediskshop.com/2012/how-does-an-ssd-write/</a><br>
&gt; &gt;<br>
&gt; &gt; Do your drives support fstrim?  It may be worth it to trim before you run<br>
&gt; &gt; and see what results you get.  Other than tuning the SSD / OS to perform<br>
&gt; &gt; better on the back end there isn&#39;t much we can do from the gluster<br>
&gt; &gt; perspective on that specific DD w/ the dsync flag.<br>
&gt; &gt;<br>
&gt; &gt; -b<br>
&gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On Wed, Apr 8, 2015 at 6:44 PM, Vijay Bellur &lt; <a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a> &gt;<br>
&gt; &gt; wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; On 04/08/2015 02:57 PM, Punit Dambiwal wrote:<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Hi,<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I am getting very slow throughput in the glusterfs (dead slow...even<br>
&gt; &gt; &gt; SATA is better) ... i am using all SSD in my environment.....<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; I have the following setup :-<br>
&gt; &gt; &gt; A. 4* host machine with Centos 7(Glusterfs 3.6.2 | Distributed<br>
&gt; &gt; &gt; Replicated | replica=2)<br>
&gt; &gt; &gt; B. Each server has 24 SSD as bricks…(Without HW Raid | JBOD)<br>
&gt; &gt; &gt; C. Each server has 2 Additional ssd for OS…<br>
&gt; &gt; &gt; D. Network 2*10G with bonding…(2*E5 CPU and 64GB RAM)<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Note :- Performance/Throughput slower then Normal SATA 7200 RPM…even i<br>
&gt; &gt; &gt; am using all SSD in my ENV..<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Gluster Volume options :-<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; +++++++++++++++<br>
&gt; &gt; &gt; Options Reconfigured:<br>
&gt; &gt; &gt; performance.nfs.write-behind- window-size: 1024MB<br>
&gt; &gt; &gt; performance.io-thread-count: 32<br>
&gt; &gt; &gt; performance.cache-size: 1024MB<br>
&gt; &gt; &gt; cluster.quorum-type: auto<br>
&gt; &gt; &gt; cluster.server-quorum-type: server<br>
&gt; &gt; &gt; diagnostics.count-fop-hits: on<br>
&gt; &gt; &gt; diagnostics.latency- measurement: on<br>
&gt; &gt; &gt; nfs.disable: on<br>
&gt; &gt; &gt; user.cifs: enable<br>
&gt; &gt; &gt; auth.allow: *<br>
&gt; &gt; &gt; performance.quick-read: off<br>
&gt; &gt; &gt; performance.read-ahead: off<br>
&gt; &gt; &gt; performance.io-cache: off<br>
&gt; &gt; &gt; performance.stat-prefetch: off<br>
&gt; &gt; &gt; cluster.eager-lock: enable<br>
&gt; &gt; &gt; network.remote-dio: enable<br>
&gt; &gt; &gt; storage.owner-uid: 36<br>
&gt; &gt; &gt; storage.owner-gid: 36<br>
&gt; &gt; &gt; server.allow-insecure: on<br>
&gt; &gt; &gt; network.ping-timeout: 0<br>
&gt; &gt; &gt; diagnostics.brick-log-level: INFO<br>
&gt; &gt; &gt; +++++++++++++++++++<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Test with SATA and Glusterfs SSD….<br>
&gt; &gt; &gt; ———————<br>
&gt; &gt; &gt; Dell EQL (SATA disk 7200 RPM)<br>
&gt; &gt; &gt; —-<br>
&gt; &gt; &gt; [root@mirror ~]#<br>
&gt; &gt; &gt; 4096+0 records in<br>
&gt; &gt; &gt; 4096+0 records out<br>
&gt; &gt; &gt; 268435456 bytes (268 MB) copied, 20.7763 s, 12.9 MB/s<br>
&gt; &gt; &gt; [root@mirror ~]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; &gt; &gt; 4096+0 records in<br>
&gt; &gt; &gt; 4096+0 records out<br>
&gt; &gt; &gt; 268435456 bytes (268 MB) copied, 23.5947 s, 11.4 MB/s<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; GlsuterFS SSD<br>
&gt; &gt; &gt; —<br>
&gt; &gt; &gt; [root@sv-VPN1 ~]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; &gt; &gt; 4096+0 records in<br>
&gt; &gt; &gt; 4096+0 records out<br>
&gt; &gt; &gt; 268435456 bytes (268 MB) copied, 66.2572 s, 4.1 MB/s<br>
&gt; &gt; &gt; [root@sv-VPN1 ~]# dd if=/dev/zero of=test bs=64k count=4k oflag=dsync<br>
&gt; &gt; &gt; 4096+0 records in<br>
&gt; &gt; &gt; 4096+0 records out<br>
&gt; &gt; &gt; 268435456 bytes (268 MB) copied, 62.6922 s, 4.3 MB/s<br>
&gt; &gt; &gt; ————————<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; Please let me know what i should do to improve the performance of my<br>
&gt; &gt; &gt; glusterfs…<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; What is the throughput that you get when you run these commands on the<br>
&gt; &gt; disks<br>
&gt; &gt; &gt; directly without gluster in the picture?<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; By running dd with dsync you are ensuring that there is no buffering<br>
&gt; &gt; anywhere<br>
&gt; &gt; &gt; in the stack and that is the reason why low throughput is being observed.<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; -Vijay<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt; -Vijay<br>
&gt; &gt; &gt;<br>
&gt; &gt; &gt;<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" target="_blank">http://www.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt; &gt;<br>
&gt;<br>
</div></div></blockquote></div><br></div>