<div dir="ltr">Can you get the volume profile dumps for both the runs and compare them?<div><br></div><div>Avati</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 17, 2013 at 10:46 PM, kane <span dir="ltr">&lt;<a href="mailto:stef_9k@163.com" target="_blank">stef_9k@163.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I have already used &quot;kernel oplocks = no&quot; in the smb.conf, next is my original smb.conf file global settings:<br>

<div class="im">[global]<br>
&nbsp; &nbsp; &nbsp; &nbsp; workgroup = MYGROUP<br>
&nbsp; &nbsp; &nbsp; &nbsp; server string = DCS Samba Server<br>
&nbsp; &nbsp; &nbsp; &nbsp; log file = /var/log/samba/log.vfs<br>
&nbsp; &nbsp; &nbsp; &nbsp; max log size = 500000<br>
</div><div class="im">&nbsp; &nbsp; &nbsp; &nbsp; aio read size = 262144<br>
&nbsp; &nbsp; &nbsp; &nbsp; aio write size = 262144<br>
&nbsp; &nbsp; &nbsp; &nbsp; aio write behind = true<br>
</div><div class="im">&nbsp; &nbsp; &nbsp; &nbsp; security = user<br>
&nbsp; &nbsp; &nbsp; &nbsp; passdb backend = tdbsam<br>
&nbsp; &nbsp; &nbsp; &nbsp; load printers = yes<br>
&nbsp; &nbsp; &nbsp; &nbsp; cups options = raw<br>
&nbsp; &nbsp; &nbsp; &nbsp; read raw = yes<br>
&nbsp; &nbsp; &nbsp; &nbsp; write raw = yes<br>
&nbsp; &nbsp; &nbsp; &nbsp; max xmit = 262144<br>
&nbsp; &nbsp; &nbsp; &nbsp; socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=262144 SO_SNDBUF=262144<br>
</div># &nbsp; &nbsp; &nbsp; max protocol = SMB2<br>
<div class="im">&nbsp; &nbsp; &nbsp; &nbsp; kernel oplocks = no<br>
&nbsp; &nbsp; &nbsp; &nbsp; stat cache = no<br>
<br>
</div>thank you<br>
<span class="HOEnZb"><font color="#888888">-Kane<br>
$B:_(B 2013-9-18$B!$2<8a(B1:38$B!$(BAnand Avati &lt;<a href="mailto:avati@redhat.com">avati@redhat.com</a>&gt; $B<LF;!'(B<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
&gt; On 9/17/13 10:34 PM, kane wrote:<br>
&gt;&gt; Hi Anand,<br>
&gt;&gt;<br>
&gt;&gt; I use 2 gluster server , this is my volume info:<br>
&gt;&gt; Volume Name: soul<br>
&gt;&gt; Type: Distribute<br>
&gt;&gt; Volume ID: 58f049d0-a38a-4ebe-94c0-086d492bdfa6<br>
&gt;&gt; Status: Started<br>
&gt;&gt; Number of Bricks: 2<br>
&gt;&gt; Transport-type: tcp<br>
&gt;&gt; Bricks:<br>
&gt;&gt; Brick1: 192.168.101.133:/dcsdata/d0<br>
&gt;&gt; Brick2: 192.168.101.134:/dcsdata/d0<br>
&gt;&gt;<br>
&gt;&gt; each brick use a raid 5 logic disk with 8*2TSATA hdd.<br>
&gt;&gt;<br>
&gt;&gt; smb.conf:<br>
&gt;&gt; [gvol]<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; comment = For samba export of volume &nbsp;test<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; vfs objects = glusterfs<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; glusterfs:volfile_server = localhost<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; glusterfs:volume = soul<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; path = /<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; read only = no<br>
&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; guest ok = yes<br>
&gt;&gt;<br>
&gt;&gt; this my testparm result:<br>
&gt;&gt; [global]<br>
&gt;&gt; workgroup = MYGROUP<br>
&gt;&gt; server string = DCS Samba Server<br>
&gt;&gt; log file = /var/log/samba/log.vfs<br>
&gt;&gt; max log size = 500000<br>
&gt;&gt; max xmit = 262144<br>
&gt;&gt; socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=262144<br>
&gt;&gt; SO_SNDBUF=262144<br>
&gt;&gt; stat cache = No<br>
&gt;&gt; kernel oplocks = No<br>
&gt;&gt; idmap config * : backend = tdb<br>
&gt;&gt; aio read size = 262144<br>
&gt;&gt; aio write size = 262144<br>
&gt;&gt; aio write behind = true<br>
&gt;&gt; cups options = raw<br>
&gt;&gt;<br>
&gt;&gt; in client mount the smb share with cifs to dir /mnt/vfs,<br>
&gt;&gt; then use iozone executed in the cifs mount dir &quot;/mnt/vfs&quot;:<br>
&gt;&gt; $ ./iozone -s 10G -r 128k -i0 -i1 -t 4<br>
&gt;&gt; File size set to 10485760 KB<br>
&gt;&gt; Record Size 128 KB<br>
&gt;&gt; Command line used: ./iozone -s 10G -r 128k -i0 -i1 -t 4<br>
&gt;&gt; Output is in Kbytes/sec<br>
&gt;&gt; Time Resolution = 0.000001 seconds.<br>
&gt;&gt; Processor cache size set to 1024 Kbytes.<br>
&gt;&gt; Processor cache line size set to 32 bytes.<br>
&gt;&gt; File stride size set to 17 * record size.<br>
&gt;&gt; Throughput test with 4 processes<br>
&gt;&gt; Each process writes a 10485760 Kbyte file in 128 Kbyte records<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 initial writers = &nbsp;534315.84 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 initial writers = &nbsp;519428.83 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp;133154.69 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp;134341.05 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp;133578.96 KB/sec<br>
&gt;&gt; Min xfer = 10391296.00 KB<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 rewriters = &nbsp;536634.88 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 rewriters = &nbsp;522618.54 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp;133408.80 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp;134721.36 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp;134158.72 KB/sec<br>
&gt;&gt; Min xfer = 10384384.00 KB<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 readers = &nbsp; 77403.54 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 readers = &nbsp; 77402.86 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp; 19349.42 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp; 19353.42 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp; 19350.88 KB/sec<br>
&gt;&gt; Min xfer = 10483712.00 KB<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for 4 re-readers = &nbsp; 77424.40 KB/sec<br>
&gt;&gt; Parent sees throughput for 4 re-readers = &nbsp; 77423.89 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp; 19354.75 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp; 19358.50 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp; 19356.10 KB/sec<br>
&gt;&gt; Min xfer = 10483840.00 KB<br>
&gt;&gt;<br>
&gt;&gt; then the use the same command test in the dir mounted with glister fuse:<br>
&gt;&gt; File size set to 10485760 KB<br>
&gt;&gt; Record Size 128 KB<br>
&gt;&gt; Command line used: ./iozone -s 10G -r 128k -i0 -i1 -t 4<br>
&gt;&gt; Output is in Kbytes/sec<br>
&gt;&gt; Time Resolution = 0.000001 seconds.<br>
&gt;&gt; Processor cache size set to 1024 Kbytes.<br>
&gt;&gt; Processor cache line size set to 32 bytes.<br>
&gt;&gt; File stride size set to 17 * record size.<br>
&gt;&gt; Throughput test with 4 processes<br>
&gt;&gt; Each process writes a 10485760 Kbyte file in 128 Kbyte records<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 initial writers = &nbsp;887534.72 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 initial writers = &nbsp;848830.39 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp;220140.91 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp;223690.45 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp;221883.68 KB/sec<br>
&gt;&gt; Min xfer = 10319360.00 KB<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 rewriters = &nbsp;892774.92 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 rewriters = &nbsp;871186.83 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp;222326.44 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp;223970.17 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp;223193.73 KB/sec<br>
&gt;&gt; Min xfer = 10431360.00 KB<br>
&gt;&gt;<br>
&gt;&gt; Children see throughput for &nbsp;4 readers = &nbsp;605889.12 KB/sec<br>
&gt;&gt; Parent sees throughput for &nbsp;4 readers = &nbsp;601767.96 KB/sec<br>
&gt;&gt; Min throughput per process = &nbsp;143133.14 KB/sec<br>
&gt;&gt; Max throughput per process = &nbsp;159550.88 KB/sec<br>
&gt;&gt; Avg throughput per process = &nbsp;151472.28 KB/sec<br>
&gt;&gt; Min xfer = 9406848.00 KB<br>
&gt;&gt;<br>
&gt;&gt; it shows much higher perf.<br>
&gt;&gt;<br>
&gt;&gt; any places i did wrong?<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; thank you<br>
&gt;&gt; -Kane<br>
&gt;&gt;<br>
&gt;&gt; $B:_(B 2013-9-18$B!$2<8a(B1:19$B!$(BAnand Avati &lt;<a href="mailto:avati@gluster.org">avati@gluster.org</a><br>
&gt;&gt; &lt;mailto:<a href="mailto:avati@gluster.org">avati@gluster.org</a>&gt;&gt; $B<LF;!'(B<br>
&gt;&gt;<br>
&gt;&gt;&gt; How are you testing this? What tool are you using?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Avati<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; On Tue, Sep 17, 2013 at 9:02 PM, kane &lt;<a href="mailto:stef_9k@163.com">stef_9k@163.com</a><br>
&gt;&gt;&gt; &lt;mailto:<a href="mailto:stef_9k@163.com">stef_9k@163.com</a>&gt;&gt; wrote:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;Hi Vijay<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;I used the code in<br>
&gt;&gt;&gt; &nbsp; &nbsp;<a href="https://github.com/gluster/glusterfs.git" target="_blank">https://github.com/gluster/glusterfs.git</a> with the lasted commit:<br>
&gt;&gt;&gt; &nbsp; &nbsp;commit de2a8d303311bd600cb93a775bc79a0edea1ee1a<br>
&gt;&gt;&gt; &nbsp; &nbsp;Author: Anand Avati &lt;<a href="mailto:avati@redhat.com">avati@redhat.com</a> &lt;mailto:<a href="mailto:avati@redhat.com">avati@redhat.com</a>&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;Date: &nbsp; Tue Sep 17 16:45:03 2013 -0700<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;Revert &quot;cluster/distribute: Rebalance should also verify free<br>
&gt;&gt;&gt; &nbsp; &nbsp;inodes&quot;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;This reverts commit 215fea41a96479312a5ab8783c13b30ab9fe00fa<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; &nbsp;Realized soon after merging, &hellip;.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;which include the patch you mentioned last time improve read perf,<br>
&gt;&gt;&gt; &nbsp; &nbsp;written by Anand.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;but the read perf was still slow:<br>
&gt;&gt;&gt; &nbsp; &nbsp;write: 500MB/s<br>
&gt;&gt;&gt; &nbsp; &nbsp;read: 77MB/s<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;while via fuse :<br>
&gt;&gt;&gt; &nbsp; &nbsp;write 800MB/s<br>
&gt;&gt;&gt; &nbsp; &nbsp;read 600MB/s<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;any advises?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;Thank you.<br>
&gt;&gt;&gt; &nbsp; &nbsp;-Kane<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;$B:_(B 2013-9-13$B!$2<8a(B10:37$B!$(Bkane &lt;<a href="mailto:stef_9k@163.com">stef_9k@163.com</a><br>
&gt;&gt;&gt; &nbsp; &nbsp;&lt;mailto:<a href="mailto:stef_9k@163.com">stef_9k@163.com</a>&gt;&gt; $B<LF;!'(B<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Hi Vijay$B!$(B<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp;thank you for post this message, i will try it soon<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; -kane<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; $B:_(B 2013-9-13$B!$2<8a(B9:21$B!$(BVijay Bellur &lt;<a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a><br>
&gt;&gt;&gt; &nbsp; &nbsp;&lt;mailto:<a href="mailto:vbellur@redhat.com">vbellur@redhat.com</a>&gt;&gt; $B<LF;!'(B<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; On 09/13/2013 06:10 PM, kane wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Hi<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; We use gluster samba vfs test io,but the read performance via<br>
&gt;&gt;&gt; &nbsp; &nbsp;vfs is<br>
&gt;&gt;&gt;&gt;&gt;&gt; half of write perfomance,<br>
&gt;&gt;&gt;&gt;&gt;&gt; but via fuse the read and write performance is almost the same.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; this is our smb.conf:<br>
&gt;&gt;&gt;&gt;&gt;&gt; [global]<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; workgroup = MYGROUP<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; server string = DCS Samba Server<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; log file = /var/log/samba/log.vfs<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; max log size = 500000<br>
&gt;&gt;&gt;&gt;&gt;&gt; # &nbsp; &nbsp; &nbsp; use sendfile = true<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; aio read size = 262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; aio write size = 262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; aio write behind = true<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; min receivefile size = 262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; write cache size = 268435456<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; security = user<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; passdb backend = tdbsam<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; load printers = yes<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; cups options = raw<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; read raw = yes<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; write raw = yes<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; max xmit = 262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; socket options = TCP_NODELAY IPTOS_LOWDELAY<br>
&gt;&gt;&gt; &nbsp; &nbsp;SO_RCVBUF=262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; SO_SNDBUF=262144<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; kernel oplocks = no<br>
&gt;&gt;&gt;&gt;&gt;&gt; &nbsp; &nbsp; &nbsp; stat cache = no<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; any advises helpful?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; This patch has shown improvement in read performance with libgfapi:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; <a href="http://review.gluster.org/#/c/5897/" target="_blank">http://review.gluster.org/#/c/5897/</a><br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Would it be possible for you to try this patch and check if it<br>
&gt;&gt;&gt; &nbsp; &nbsp;improves performance in your case?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; -Vijay<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;_______________________________________________<br>
&gt;&gt;&gt; &nbsp; &nbsp;Gluster-users mailing list<br>
&gt;&gt;&gt; &nbsp; &nbsp;<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a> &lt;mailto:<a href="mailto:Gluster-users@gluster.org">Gluster-users@gluster.org</a>&gt;<br>
&gt;&gt;&gt; &nbsp; &nbsp;<a href="http://supercolony.gluster.org/mailman/listinfo/gluster-users" target="_blank">http://supercolony.gluster.org/mailman/listinfo/gluster-users</a><br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;<br>
&gt; Please add &#39;kernel oplocks = no&#39; in the [gvol] section and try again.<br>
&gt;<br>
&gt; Avati<br>
&gt;<br>
<br>
<br>
</div></div></blockquote></div><br></div>