samba login speed (was: samba and nt domains)

David Collier-Brown David.Collier-Brown at canada.sun.com
Mon Nov 13 17:52:58 GMT 2000


Ahmed Atef wrote:
> I'm sorry for bothering you again but i have small question 
> regarding the performance of SAMBA and its scalability ...

	Don't apologize, you ask good questions (;-))

	I'm ccing this to the list as people will want
	to know, and the subject hasn't come up for 
	over a year, when an academic site worried about
	classes all logging in at once.

> Total number of user login to SAMBA at the same time is 40 users 
> and all will login at the same time also all will log-out at the 
> same time ... everyone expected to have roaming profile around 
> 30MB so long time will be taken to upload and download these 
> huge profiles ... how is SAMBA expected to behave in this case ???

	Ok, you can simulate this pretty easily with smbclient
	and a script.  And it's better than you'd expect...

	Some experiments for you and the mailing-list to look at: 
   
First experiment: 40 clients log in, transfer a size-zero file from
the server's local disk to /dev/null and log out, 
---
$ ls -l ~/foo
-rw-r--r--   1 davecb   staff          0 Nov 13 09:54 foo 
make_login_load 40 //elsbeth/davecb get foo /dev/null
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.0-alpha0]
smb: \> smb: \> elsbeth> 
---
and it ended at approximately  Mon Nov 13 10:07:45 EST 2000, for
17 seconds, with a maximum number of SMBDs of 3.  So far so good.

Then I improved the script (attached) and did 1, 10, 20, 30
and 40 clients each doing a get of a 30MB file, measuring high
and low times, giving us:

Clients	Fastest	Slowest  MB/S
1	5.9	5.9      5.08
10	13.5	29.6    10.14
20	31.2	47.4    12.66
30	41.5	64      14.06 
40	43.1	90      13.33

This is an upper bound (worst case) on the 
performance of my small server:
it includes the time to disconnect again!  



More information about the samba mailing list