Re: Poor write performance -- Xen hypervisor issue?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Thanks for the reply Steve.

I was just typing a follow-up... I was able to get good performance
with wsize=2048. Going to 4096 or using the higher default would tank
performance.

# dd if=/dev/zero of=Asgard/test bs=256K count=10
10+0 records in
10+0 records out
2621440 bytes (2.6 MB) copied, 0.267181 seconds, 9.8 MB/s

Smaller wsize is counterintuitive to me. I'm not sure, but I'm
guessing the issue is that the hypervisor has very limited RAM? or
maybe the old kernel has limitations that don't work well with the
default wsize?

While I'm sure that there's goodness with newer kernels, going from 32
KB/s to 9.8 MB/s puts me in the "good enough" ballbark. :)

On Fri, Apr 26, 2013 at 5:06 PM, Steve French <smfrench@xxxxxxxxx> wrote:
> You are running a very old kernel - although you would probably be
> fine with the latest RHEL updates (since they include some backports
> of performance improvements).  See below note (reposted):
>
> You will need a more recent kernel (probably based on the 3.2 kernel
> or later) to see the dramatic improvements in cifs
> read speeds (with the redesign of the read code
> to add more parallelism on i/o to the same file) although RedHat may
> have backported some of Jeff's excellent performance improvements to
> some of the older distros.  See slides 21 through 26 of my
> presentation at
>
>  http://www.snia.org/sites/default/files2/SDC2012/presentations/Revisions/SteveFrench_Linux_CIFS-SMB2-year-in-review-revision.pdf
>
> Slides 23 and 24 list the cifs performance and functional enhancements
> by kernel release.  Buffered, sequential read (e.g. file copy from a
> server) got much faster in 3.2 kernel, especially to Samba and other
> server which support the Unix extensions (due to support for larger
> i/o sizes than 64K).
>
> Similarly note that cifs write speed was dramatically improved
> starting at kernel version 3.0 (1.5 to 2 years ago) due to the
> addition of more async parallelism to the design of the cifs write
> code (writing to the server from the cifs client) by making the i/o
> sizes larger and allowing more async dispatch of writes (previously to
> use a network interface fully you would need to be reading and or
> writing to multiple different files simultaneously).
>
> On Fri, Apr 26, 2013 at 2:43 PM, David Coppit <david@xxxxxxxxxx> wrote:
>> Hi all,
>>
>> I'm trying to figure out why write performance to a cifs mount is so
>> very very bad:
>>
>> # dd if=/dev/zero of=mount/test bs=256K count=10
>> 10+0 records in
>> 10+0 records out
>> 2621440 bytes (2.6 MB) copied, 73.5463 seconds, 35.6 kB/s
>>
>> Ouch!
>>
>> Read performance is fine:
>>
>> # dd if=mount/test of=/dev/null bs=256K count=10
>> 10+0 records in
>> 10+0 records out
>> 2621440 bytes (2.6 MB) copied, 0.0222379 seconds, 118 MB/s
>>
>> I can also hop on the Windows machine and use psftp to transfer a
>> large file from the Linux box fairly quickly.
>>
>> One possible issue is that the Linux machine is a Xen hypervisor, and
>> the Windows machine is actually a VM. I can mount the same Windows
>> share on a Linux VM running on the same hypervisor and performance is
>> fine (8.3 MB/s).
>>
>> The Windows box is running Windows Server 2008 R2. Here are specs for
>> the problematic Xen hypervisor:
>>
>> # uname -r
>> 2.6.32.12-0.7.1.xs1.4.90.530.170661xen
>>
>> # mount.cifs -V
>> mount.cifs version: 1.12RH
>>
>> # yum list | grep samba
>> samba.i386                                3.0.33-3.39.el5_8            installed
>> samba-client.i386                         3.0.33-3.39.el5_8            installed
>> samba-common.i386                         3.0.33-3.39.el5_8            installed
>> samba-swat.i386                           3.0.33-3.39.el5_8            base
>> samba3x.i386                              3.6.6-0.129.el5              base
>> samba3x-client.i386                       3.6.6-0.129.el5              base
>> samba3x-common.i386                       3.6.6-0.129.el5              base
>> samba3x-doc.i386                          3.6.6-0.129.el5              base
>> samba3x-domainjoin-gui.i386               3.6.6-0.129.el5              base
>> samba3x-swat.i386                         3.6.6-0.129.el5              base
>> samba3x-winbind.i386                      3.6.6-0.129.el5              base
>> samba3x-winbind-devel.i386                3.6.6-0.129.el5              base
>> sblim-cmpi-samba.i386                     1:1.0-49.el5                 base
>> sblim-cmpi-samba-devel.i386               1:1.0-49.el5                 base
>> sblim-cmpi-samba-test.i386                1:1.0-49.el5                 base
>> system-config-samba.noarch                1.2.41-5.el5                 base
>>
>> I just installed this version of samba-client with yum. For
>> comparison, here's the Linux VM:
>>
>> # uname -r
>> 2.6.32-279.9.1.el6.x86_64
>>
>> # mount.cifs -V
>> mount.cifs version: 4.8.1
>>
>> # yum list | grep samba
>> samba.x86_64                          3.5.10-125.el6           @base
>> samba-client.x86_64                   3.5.10-125.el6           @base
>> samba-common.x86_64                   3.5.10-125.el6           @base
>> samba-winbind-clients.x86_64          3.5.10-125.el6           @base
>> samba4-libs.x86_64                    4.0.0-23.alpha11.el6     @base/$releasever
>> samba.x86_64                          3.6.9-151.el6            base
>> samba-client.x86_64                   3.6.9-151.el6            base
>> samba-common.i686                     3.6.9-151.el6            base
>> samba-common.x86_64                   3.6.9-151.el6            base
>> samba-doc.x86_64                      3.6.9-151.el6            base
>> samba-domainjoin-gui.x86_64           3.6.9-151.el6            base
>> samba-swat.x86_64                     3.6.9-151.el6            base
>> samba-winbind.x86_64                  3.6.9-151.el6            base
>> samba-winbind-clients.i686            3.6.9-151.el6            base
>> samba-winbind-clients.x86_64          3.6.9-151.el6            base
>> samba-winbind-devel.i686              3.6.9-151.el6            base
>> samba-winbind-devel.x86_64            3.6.9-151.el6            base
>> samba-winbind-krb5-locator.x86_64     3.6.9-151.el6            base
>> samba4.x86_64                         4.0.0-55.el6.rc4         base
>> samba4-client.x86_64                  4.0.0-55.el6.rc4         base
>> samba4-common.x86_64                  4.0.0-55.el6.rc4         base
>> samba4-dc.x86_64                      4.0.0-55.el6.rc4         base
>> samba4-dc-libs.x86_64                 4.0.0-55.el6.rc4         base
>> samba4-devel.i686                     4.0.0-23.alpha11.el6     base
>> samba4-devel.x86_64                   4.0.0-55.el6.rc4         base
>> samba4-libs.i686                      4.0.0-23.alpha11.el6     base
>> samba4-libs.x86_64                    4.0.0-55.el6.rc4         base
>> samba4-pidl.x86_64                    4.0.0-55.el6.rc4         base
>> samba4-python.x86_64                  4.0.0-55.el6.rc4         base
>> samba4-swat.x86_64                    4.0.0-55.el6.rc4         base
>> samba4-test.x86_64                    4.0.0-55.el6.rc4         base
>> samba4-winbind.x86_64                 4.0.0-55.el6.rc4         base
>> samba4-winbind-clients.x86_64         4.0.0-55.el6.rc4         base
>> samba4-winbind-krb5-locator.x86_64    4.0.0-55.el6.rc4         base
>> sblim-cmpi-samba.i686                 1.0-1.el6                base
>> sblim-cmpi-samba.x86_64               1.0-1.el6                base
>> sblim-cmpi-samba-devel.i686           1.0-1.el6                base
>> sblim-cmpi-samba-devel.x86_64         1.0-1.el6                base
>> sblim-cmpi-samba-test.x86_64          1.0-1.el6                base
>>
>> Should I be concerned about the samba-client versus samba3x-client?
>> Should I try to get yum to install a newer version of mount.cifs, or
>> build it from source? Sorry, I'm a bit clueless here.
>>
>> Thanks,
>> David
>> --
>> To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
>> the body of a message to majordomo@xxxxxxxxxxxxxxx
>> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
>
>
> --
> Thanks,
>
> Steve
--
To unsubscribe from this list: send the line "unsubscribe linux-cifs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux