Samba/FTP slow write fast read

George Toft george at georgetoft.com
Sat Nov 3 20:56:33 MST 2012


Here are the cases I had:
Win7 client 1 (VMware host) using Windows Explorer, read fast, write slow
Win7 client 1 using FTP, read fast, write slow
Win7 samba client 2 using Windows Explorer, read fast, write fast
Linux client 1 using FTP, read fast, write fast
Linux client 1 using smbclient, read fast, write fast

As you can see, anything that had to do with writes from Win7 client 1, 
which was the VMware host, went slow.

And this did have a large virtual drive - it was 500GB.  That was 
probably the problem :)

I've since moved the client from VMware to proxmox-ve on a difference 
system and life is good.  I won't be able to pursue this any further.  
Same config files and it works very well.

Regards,

George Toft

On 11/3/2012 8:16 PM, Lisa Kachold wrote:
> Hi George,
>
> On Sat, Oct 27, 2012 at 6:01 PM, George Toft <george at georgetoft.com 
> <mailto:george at georgetoft.com>> wrote:
>
>     Spent several hours researching this one - can't find a solution.
>      I hope someone here can hit me with a clue-by-four.
>
>     CentOS 6.3 64-bit virtual running under VMware 2.0.2 fresh install
>     with FTP/Samba/NFS running.  I copied 500+GB of data from the old
>     computer to the new one using NFS at full network speed (11+
>     MB/sec).  Life's good.
>
>     Now here it is a day later, and my samba write speed is a blazing
>     80KB/sec (up from 40KB/s when I started troubleshooting).  I read
>     samba should approach FTP speed and I verified it does - FTP
>     writes to the new machine at about the same speed.  Reads still
>     take place a full speed (now it's on a 1Gbps network) - 33MB/sec.
>      Writes . . . 99.8% slower.  I did not have this problem on the
>     previous samba server (CentOS 4.8 32-bit).
>
>     I added memory (it now has 1GB RAM, 1 GB swap) and it has 2 CPU's.
>     This had no effect.
>
>     In summary, NFS works at full speed both ways.  Samba/FTP are fast
>     on reads but snail slow on writes.
>
>     My next thought is to install ClearOS, test it, and copy their
>     smb.conf.  Or install CentOS 5.x and see if it has the same problems.
>
>     Any ideas where to look on this one?  smb.conf necessary.
>
>     -- 
>     Regards,
>
>     George Toft
>
> Microsoft 7 uses smb 2.2, btw --> protocol step down might add to the 
> lag?
> What is your smb version on each node? CIFS clients?
>
> http://www.codefx.com/CIFS_Explained.htm
>
> A given client and server may implement different sets of protocol 
> variations which they negotiate before starting a session.
>
> There are a great many considerations for this problem:
>
> 0) Samba in VMware:
> http://www.vmware.com/support/ws45/doc/network_samba_ws.html
>
> 1) Active .vs Passive FTP:
> http://www.youtube.com/watch?v=bqrlBicM8lE
>
> 2) Disk type:
>
> Dynamically allocated VMware virtual disks are extremely slow with 
> writes.  Huge virual disks over say 300 gb are also really really slow 
> for writes.
> Raid 5 or greater on VVware is also extremely slow with writes, 
> depending on the version of VMware.
>
> 3) What kind of network are you using?
>
> By default there are three virtual networks created on a VMware 
> server. They are: VMnet0 -- Bridged VMnet1 -- Host-only VMnet8 -- NAT
>
> 4) Networking UDP packets for SMB:
>
> SMB uses UDP which is a connection-less protocol. In other words it 
> simply broadcasts.
>
> UDP uses a simple communication model without implicit transmission 
> checks for guaranteeing reliability, sequencing, or datagram 
> integrity. Though these factors might seem to suggest that UDP is not 
> a useful protocol, it is still widely used in particular areas where 
> speed, more than reliability, is of utmost importance. With UDP, error 
> checks and corrections are carried out in the communicating 
> application, not at the network layer. However, if error checks and 
> corrections are needed at the network layer, the application can use 
> Transmission Control Protocol (TCP) or Stream Control Transmission 
> Protocol (SCTP), which are specifically formulated for this reason. 
>  Since UDP does not have the overhead of checking whether the data has 
> reached the destination every time it is sent, it makes the protocol 
> that much faster and more efficient. UDP is often used for time 
> sensitive applications where missing data is preferred to late 
> arriving data.
>
> UDP packets can also create broadcast storms (NFS 3), therefore it's 
> not suggested that SMB or  older NFS3
>
> 5) Putting it all together: Using Samba for File Sharing on a 
> Host-only Network
>
> On a Linux host computer, VMware ESX Server can automatically install 
> and configure a Samba server to act as a file server for Microsoft 
> Windows guest operating systems. You can then use Windows Explorer in 
> the virtual machine to move and copy files between virtual machine and 
> host --- or between virtual machines on the same network --- just as 
> you would with files on physical computers that share a network 
> connection.
>
> The lightly modified Samba server installed by VMware ESX Server runs 
> over the VMware ESX Server virtual Ethernet and the Samba traffic 
> between different operating systems is isolated from actual local area 
> networks. The source code diffs for the changes, based on Samba 2.0.6, 
> are available from VMware.
>
>
>     Adding User Names and Passwords to the VMware ESX Server Samba
>     Password File
>
> You may add user names and passwords to the VMware ESX Server Samba 
> password file at any time from a terminal window on your Linux host 
> computer.
>
>  1. Log in to the root account by typing the following command at the
>     prompt:
>     su
>  2. Run the VMware ESX Server Samba password command.
>     vmware-smbpasswd vmnet1 -a <username>
>
>     where <username> is the user name you want to add.
>
>  3. Follow the instructions on the screen.
>
>     *Note:* vmware-smbpasswd is based on the standard Samba password
>     program. If you are familiar with the options used in smbpasswd,
>     you may use any of them in vmware-smbpasswd.
>
>  4. Log out of the root account.
>     exit
>
>     If you receive an error message that says Unknown virtual
>     interface "vmnet1", this indicates your machine is not using the
>     VMware ESX Server Samba server. If your installation of VMware ESX
>     Server does not include the VMware ESX Server Samba server and you
>     want to set it up, log in to the root account on your host
>     computer, then run vmware-config.pl <http://vmware-config.pl> from
>     a terminal window on the host. When the configuration script asks
>     Do you want this script to automatically configure your system to
>     allow your virtual machines to access the host file system?,
>     answer Yes.
>
>
>     If You Are Already Running Samba
>
> If you already have Samba configured on your Linux host, the 
> recommended approach is to modify that configuration so it includes 
> the IP subnet used by the VMware ESX Server virtual Ethernet adapter, 
> VMnet1. In this case, you should *not* install the VMware ESX Server 
> Samba server when you are installing VMware ESX Server on your host. 
> When the configuration script prompts you Do you want this script to 
> automatically configure your system to allow your virtual machines to 
> access the host file system?, answer No.
>
> To determine what subnet is being used by VMnet1, run /sbin/ifconfig 
> vmnet1.
>
> It may also be possible to run both your existing Samba server and the 
> VMware ESX Server Samba server at the same time. In order to do this, 
> your current Samba server must be version 2.0.6 or higher and must be 
> configured correctly.
>
> To determine the version of your Samba server, run
>
> smbd -V
>
>
> Tool for evaluation: http://visualsniffer.software.informer.com/
> References: 
> http://chrissanders.org/2011/11/packet-carving-with-smb-and-smb2/
>
> It's  probably going to be best for you to upgrade to ESXi 5 (requires 
> specific hardware - see the compatibility list at VMware).
> -- 
> (503) 754-4452 Android
> (623) 239-3392 Skype
> (623) 688-3392 Google Voice
> **
> it-clowns.com <http://it-clowns.com>
> Chief Clown
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ---------------------------------------------------
> PLUG-discuss mailing list - PLUG-discuss at lists.plug.phoenix.az.us
> To subscribe, unsubscribe, or to change your mail settings:
> http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.PLUG.phoenix.az.us/pipermail/plug-discuss/attachments/20121103/3385883c/attachment.html>


More information about the PLUG-discuss mailing list