<---- template headericclude ----->
Help: Samba slow (~6MB/s) - FTP fast (30MB/s) - Why?
FedoraForum.org - Fedora Support Forums and Community
Results 1 to 8 of 8
  1. #1
    bomix Guest

    Question Help: Samba slow (~6MB/s) - FTP fast (30MB/s) - Why?

    Until today I was under the impression that I had som kind of network driver/cabling/switch/NIC problem getting my gigabit LAN to work at an acceptable speed. I have tried (almost) everything, but sadly no gigabit speed...

    Then today I discovered that an FTP-transfer over the same network can transfer at about 30 MB/s. Wow! Finally! Gigabit speed confirmed! I wasn't going mad afterall

    Of course that leaves me wondering what's wrong with the Samba filesharing. Why is it so slow?

    I have checked smb.conf and I can't see anything wrong with it.
    Can anyone give me some pointers to what could be the problem?
    Or is it just that Samba is slow?

    Thanks!

  2. #2
    nandowong Guest
    im no expert, but maybe posting your samba.conf could help someone figure out whats wrong

  3. #3
    Join Date
    Sep 2004
    Posts
    2,006
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    ftp is the fastest of all the protocols, it has less overhead than smb, although it shouldn't make that much difference.

    and 30mbps is not gigabit, i get 30-50mbps from 100baset.

    is the ftp server a unix machine and smb server a windows machine? which way are the transfers going? you really haven't given us any useful information.

  4. #4
    bomix Guest
    Ok, I can see now that I didn't give you much information to work with.
    Let me try to be a little more specific...

    My hardware-setup is this: 2 pc's. 1 Linux FC4 server + 1 Windowx XP (client), connected through a switch. Gigabit capability everywhere

    I did some further testing and I found a couple of things.
    First, the server had a heating problem that made network performance go down. I opened the pc-case and had a huge fan blowing a whole lot of air right onto the motherboard. That helped a lot
    Second, tweaking the socket options in smb.conf also helped. A little bit. I still can't get samba to transfer files as fast as FTP.

    Speed-testing Samba and FTP (both ways) with some 1-2GB files gave me these results:

    1. Samba: FROM server (linux) TO client (windows): ~15MB/s. The speed is a little erratic over time (from ~2MB/s to ~25MB/s) but averages at about the 15MB/s.
    2. Samba: FROM client TO server: Fairly consistent speed at about 25/MBs.
    3. FTP: FROM server TO client: ~30MB/s. Again the speed is a little erratic (15-45MB/s).
    4. FTP: FROM client TO server: Again, fairly consistent speed at about 17MB/s.


    Conclusion (with the current configuration):
    Samba is best at uploading files TO the server.
    FTP is best at downloading files FROM the server.

    I'm no expert at configuring samba, so there's probably still something to be tweaked in my smb.conf. I have concentrated my own tweaking on the socket options and name resolve order (since I only have 2 pc's on the network and they have static (internal) IPs, I changed the search order to use the lmhosts file). Feel free to take a look at the file:

    Code:
    #======================= Global Settings =====================================
    [global]
    
    # workgroup = NT-Domain-Name or Workgroup-Name
    	workgroup = MyWorkgroup
    
    # server string is the equivalent of the NT Description field
    	server string = Workgroup Server
    
    # 
    	hosts allow = 10.0.0. 127.
    
    # if you want to automatically load your printer list rather
    # than setting them up individually then you'll need this
    	printcap name = /etc/printcap
    	load printers = no
    
    # It should not be necessary to spell out the print system type unless
    # yours is non-standard. Currently supported print systems include:
    # bsd, sysv, plp, lprng, aix, hpux, qnx
    ;   printing = cups
    
    # This option tells cups that the data has already been rasterized
    	cups options = raw
    
    # Uncomment this if you want a guest account, you must add this to /etc/passwd
    # otherwise the user "nobody" is used
    ;  guest account = pcguest
    
    # this tells Samba to use a separate log file for each machine
    # that connects
    	log file = /var/log/samba/%m.log
    # all log information in one file
    #   log file = /var/log/samba/log.smbd
    
    # Put a capping on the size of the log files (in Kb).
    	max log size = 50
    
    # Security mode. Most people will want user level security. See
    # security_level.txt for details.
    ;	security = user
    # Use password server option only with security = server
    ;   password server = <NT-Server-Name>
    
    # Password Level allows matching of _n_ characters of the password for
    # all combinations of upper and lower case.
    ;  password level = 8
    ;  username level = 8
    
    # You may wish to use password encryption. Please read
    # ENCRYPTION.txt, Win95.txt and WinNT.txt in the Samba documentation.
    # Do not enable this option unless you have read those documents
    ;  encrypt passwords = yes
    ;  smb passwd file = /etc/samba/smbpasswd
    
    # The following are needed to allow password changing from Windows to
    # update the Linux system password also.
    ;  unix password sync = Yes
    ;  passwd program = /usr/bin/passwd %u
    ;  passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
    
    # Unix users can map to different SMB User names
    ;  username map = /etc/samba/smbusers
    
    # Using the following line enables you to customise your configuration
    # on a per machine basis. The %m gets replaced with the netbios name
    # of the machine that is connecting
    ;   include = /etc/samba/smb.conf.%m
    
    # Most people will find that this option gives better performance.
    # See speed.txt and the manual pages for details
    	socket options = IPTOS_LOWDELAY TCP_NODELAY SO_RCVBUF=16384 SO_SNDBUF=16384
    
    # Configure remote browse list synchronisation here
    #  request announcement to, or browse list sync from:
    #	a specific host or from / to a whole subnet (see below)
    ;   remote browse sync = 192.168.3.25 192.168.5.255
    # Cause this host to announce itself to local subnets here
    ;   remote announce = 192.168.1.255 192.168.2.44
    
    # Browser Control Options:
    # set local master to no if you don't want Samba to become a master
    # browser on your network. Otherwise the normal election rules apply
    ;   local master = no
    
    # OS Level determines the precedence of this server in master browser
    # elections. The default value should be reasonable
    ;   os level = 33
    
    # Domain Master specifies Samba to be the Domain Master Browser. This
    # allows Samba to collate browse lists between subnets. Don't use this
    # if you already have a Windows NT domain controller doing this job
    ;   domain master = yes
    
    # Preferred Master causes Samba to force a local browser election on startup
    # and gives it a slightly higher chance of winning the election
    ;   preferred master = yes
    
    #
    ; name resolve order = wins lmhosts bcast
    	name resolve order = lmhosts bcast
    
    # Windows Internet Name Serving Support Section:
    # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
    ;   wins support = yes
    
    # WINS Server - Tells the NMBD components of Samba to be a WINS Client
    #	Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
    ;   wins server = w.x.y.z
    
    # WINS Proxy - Tells Samba to answer name resolution queries on
    # behalf of a non WINS capable client, for this to work there must be
    # at least one	WINS Server on the network. The default is NO.
    ;   wins proxy = yes
    
    # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
    # via DNS nslookups. The built-in default for versions 1.9.17 is yes,
    # this has been changed in version 1.9.18 to no.
    	dns proxy = no
    
    #============================ Share Definitions ==============================
    	idmap uid = 16777216-33554431
    	idmap gid = 16777216-33554431
    	template shell = /bin/false
    	winbind use default domain = no
    	username map = /etc/samba/smbusers
    ;	encrypt passwords = yes
    ;	guest ok = no
    ;	guest account = nobody
    [homes]
    	comment = Home Directories
    	browseable = no
    	writeable = yes
    
    # NOTE: If you have a BSD-style print system there is no need to
    # specifically define each individual printer
    [printers]
    	comment = All Printers
    	path = /var/spool/samba
    	browseable = no
    # Set public = yes to allow user 'guest account' to print
    ;	guest ok = no
    ;	writeable = no
    	printable = yes
    
    [me]
    	path = /home/me
    	writeable = yes
    	browseable = yes
    	valid users = me

  5. #5
    bomix Guest
    Quote Originally Posted by sej7278
    ... 30mbps is not gigabit, i get 30-50mbps from 100baset.
    No, not mbps! It's 30 MB/s I'm talking about. Mega-Bytes per second - i.e. about 300 mbps.

    I don't expect to get more performance than about the 40-45 MB/s at the most. That's what my FTP-server can deliver. I don't think my harddisks (ATA100/133) at either end can deliver/receive data faster than this. If I can get samba up close to this, I'll be satisfied.

  6. #6
    Join Date
    Sep 2004
    Posts
    2,006
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    sorry, didn't note the capitalisation.

    300mbps is not a bad speed at all, i've only ever seen about 700mbps with some expensive sparc and quad xeon servers over fibre, regular pc's/switches/cat6 do well to get 200mbps.

    oh and to stop the irratic speed, try transferring heavily compressed files like mp3s or videos instead of text-based files.

  7. #7
    bomix Guest
    Quote Originally Posted by sej7278
    sorry, didn't note the capitalisation.
    No problem, dude

    300mbps is not a bad speed at all...
    I agree. It's the ~15-17MB/s download-from-server speed I'm wondering about. If I can upload at ~25MB/s to the server, I'd expect to be able to download at the same speed. Maybe there's something with the samba-buffers that is not totally optimized yet.

    oh and to stop the irratic speed, try transferring heavily compressed files like mp3s or videos instead of text-based files.
    Actually, it was some mpg's and xvid's I used to measure the transfer-speed with. Why would that matter? Is there some kind of compression going on in the lower OSI layers or something?

  8. #8
    GoodOmens Guest
    Quote Originally Posted by sej7278
    ftp is the fastest of all the protocols, it has less overhead than smb, although it shouldn't make that much difference.

    and 30mbps is not gigabit, i get 30-50mbps from 100baset.

    is the ftp server a unix machine and smb server a windows machine? which way are the transfers going? you really haven't given us any useful information.
    Hes getting 30MB not Megabit ... or 240mbits which i think is faster then 100baseT ;-)

    If your going from windows -> FC4 there is a lot of overhead with converting from a windows file format to a unix style file format ....

Similar Threads

  1. FC7: WinXP -> Samba Slow, but smbclient FAST
    By beatmag in forum Servers & Networking
    Replies: 7
    Last Post: 3rd September 2007, 12:54 PM
  2. Samba : upload file fast but download file slow
    By pratchaya in forum Servers & Networking
    Replies: 0
    Last Post: 7th May 2007, 05:26 PM
  3. slow connection fast net
    By Gallan in forum Servers & Networking
    Replies: 7
    Last Post: 2nd September 2006, 10:16 AM
  4. Very slow internet - but fast in VMWare
    By steve_waters in forum Servers & Networking
    Replies: 7
    Last Post: 31st January 2006, 11:03 AM
  5. Fast downloads but VERY slow uploads
    By Ned in forum Servers & Networking
    Replies: 3
    Last Post: 9th September 2004, 10:39 PM

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[[template footer(Guest)]]