Re: [Samba] Samba Transfer Efficiency (undocumented perf hint for Win7 gives 10X write speeds)

2010-06-21 Thread Holger Rauch
Hi Linda,

thanks a lot for sharing your params; IMHO it's very useful to them in
combination (Win registry, Samba config, Linux sysctls).
Would you mind telling us a bit about your client and server HW,
the Samba server OS and version you use so that your test results
obtained with dd appear in some context and can be judged better?

Thanks in advance  Kind regards,

Holger


signature.asc
Description: Digital signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Re: [Samba] Samba Transfer Efficiency (undocumented perf hint for Win7 gives 10X write speeds)

2010-06-21 Thread Linda W

Holger Rauch wrote:

Hi Linda,

thanks a lot for sharing your params; IMHO it's very useful to them in
combination (Win registry, Samba config, Linux sysctls).
Would you mind telling us a bit about your client and server HW,
the Samba server OS and version you use so that your test results
obtained with dd appear in some context and can be judged better?




Both client machines are connected with Gb ethernet.
XP client with an Intel 5000XVN based motherboard with Dual Xeon 
Core2 Duo's @ 3.2G, w/ 3GB of 667MHz memory.


Win7-64 client is an based on the  Intel 5020SC w/24GB memory 
with 1 Quad Core processor @ 2.7GH, with 1333MHz DDR3 RAM.


Server is a Dell PowerEdge T610 with same processor and memory as 
the workstation, running Suse 11.2, w/vanilla 2.6.34 kernel compiled 
for the machine.
The disks probably don't come into play with the server's cache, 
but we're testing Samba's transfer speed over the network -- so I 
tried to minimize the effect of the disks, anyway.  If you care, 
my my disks transfer speeds are 5x-15x my network transfer speeds 
(depending on if you are looking at the low or high end of the

network speeds).

I allocated large buffers to TCP because I have few clients 
that would be doing things simultaneously and because the server 
isn't too worried about memory.


File system is 'xfs' -- which is best for large multi-terabyte file system.

It also supports NT's ACLs, which I extensively.

Out of curiosity -- I tried using a 256MB transfer size on my
Win7 client -- it made a difference.  For this test, I made sure the
remote file was in the local buffer cache before attempting to read it
so as to only test Samba's efficiency.


Read:
/l dd if=test1 of=/dev/null bs=256M count=16
16+0 records in
16+0 records out
4294967296 bytes (4.3 GB) copied, 39.024 s, 110 MB/s

Write:
/l dd of=test1 if=/dev/zero bs=256M count=16 conv=notrunc oflag=direct
16+0 records in
16+0 records out
4294967296 bytes (4.3 GB) copied, 37.37 s, 115 MB/s


In both cases, running 'xosview' showed the expected network bandwidth being
used.

Does that answer your questions?

linda


--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba Transfer Efficiency

2010-06-20 Thread Linda W

Henri Cook wrote:

Afternoon all,
I'm running a transfer setup as follows:
A - B - C - fairly simple, B initiates a transfer from A to C - B is a 
vital intermediary as it bridges two otherwise seperate networks.
All machines have onboard Gigabit ethernet, A+B are connected via 
Crossover and B-C is connected by very fast switch (i.e. all 
connections should be able to use the full gig if they wanted to)
I see an average of about 23-25% usage in both the crossover (A-B) and 

---
That's about the maximum I see for reads.  I get about 30MB/s for
writes from a Win7 client to a samba server. 



I had faster using 9K jumbo packets, BUT, I had too many multimedia
drop-outs on Win7 (never a problem on WinXP).  So I scaled back to the
standard 1500 byte packets and slower speeds.  The Windows client stacks
aren't that fast, in my experience. 



Make sure your tcp stack is tuned on your linux server.  My distro had set my 
max TCP window size and memory usage set way lower than needed for good Gigabit 
performance.

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


Re: [Samba] Samba Transfer Efficiency

2010-06-20 Thread Holger Rauch
Hi Linda,

On Sun, 20 Jun 2010, Linda W wrote:

 [...] 
 Make sure your tcp stack is tuned on your linux server.  My distro had set my 
 max TCP window size and
 memory usage set way lower than needed for good Gigabit performance.

Could you please share your parameters (sysctl values, etc.) for tuning you 
Linux server's
TCP/IP stack?

Thanks in advance  kind regards,

   Holger


signature.asc
Description: Digital signature
-- 
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba

Re: [Samba] Samba Transfer Efficiency (undocumented perf hint for Win7 gives 10X write speeds)

2010-06-20 Thread Linda W

I can share what I have, but won't claim they are optimal for
everyone.  For win7, they give near theoretical performance on
writes (with win7 tuned correctly as well). 


Will only mention a few pertinent items.  Standard
disclaimers concerning your software, work load and hardware 
all need to be considered when evaluating params.


Biggest thing is in reserving enough memory.

I just remeasured linear performance -- using a single task, using 
'dd' to/from a server file of 1 or 4GB in size.


I also figured out my Win7 performance was way below par -- and
tried a WinXP performance improvement on it -- and had it work --
even though it's widely said around the net to no longer work in
Vista or above.

First the linux params, then the other params.

linux:
/proc/sys/net/ipv4 
(same methods may work for ipv6, but haven't tested them)

Comparing my distro's defaults to my modified values:

*(don't know if this is important, as I don't think
congestion enters into play in my setup, but:) 


default:
 tcp_allowed_congestion_control=cubic reno
 tcp_available_congestion_control=cubic reno
 tcp_congestion_control=cubic
 tcp_ecn=0
 tcp_timestamps=1
mod:
 tcp_allowed_congestion_control=htcp reno
 tcp_available_congestion_control=htcp reno scalable
 tcp_congestion_control=htcp
 tcp_ecn=1
 tcp_timestamps=0

Then memory for tcp:
default:
 tcp_mem: 47136 62848 95272
 tcp rmem 4096 87380 2011136
 tcp wmem 4096 87380 2011136
mod:
 tcp_mem 2097152 8338608 268435456
 tcp_rmem 1048576 4194304 134217728
 tcp_wmem 1048576 4194304 134217728

Also, in /etc/samba/smb.conf:
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=4194304 SO_RCVBUF=4194304
(also, not sure if they are as important, but also use:)
aio read size=65536
aio write size=65536
min recievefile size=65536
max xmit=66576

---
On my clients, under the HKLM/currentcontrolset, under

TcpIp/Parameters I have (both DWORDS): 
 TcpMaxWindowSize=1048576 
 GlobalMaxTcpWindowSize 1048576


AND I have those same two DWORDS under my active Interface 
key (under Parameters).   I looked for the one that corresponded 
to my client's active interface.


---

Notes:
In writing up these params I did some benchmark testings.

Win7 (without the TCPMaxWindowSize) changes in the registry), 
gave 10MB/s reads and 12MB/s writes.


WinXP (didn't already had those changes) came in at
35MB/s reads and 73MB/s writes.

Putting in the MaxWinSize words in my Win7 registry (though
several places around the net claim this param was no longer
used, from Vista on), gives:
70MB/s reads
108MB/s writes.

Note -- these are measured not just in terms of the execution
time of 'dd', but also looking at xosview running (actually 
running remotely over X -- i.e. using up some of that file

transfer bandwidth!).  I.e. Xosview showed 108MB/s when I measured
108MB/s in 'dd'.  So it wasn't a related to cache timings.

Am glad you posted your question, as I wouldn't have experimented
with the TCPMaxWinSize -- as every place I looked claimed that param
was no longer used from Vista on -- so I had not previously tried it
(being gullible enough to believe all the sites that claimed it was
no longer supported.  C'est la vi!).

Hope this helps,
Linda

--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba


[Samba] Samba Transfer Efficiency

2010-06-02 Thread Henri Cook

Afternoon all,
I'm running a transfer setup as follows:
A - B - C - fairly simple, B initiates a transfer from A to C - B is a 
vital intermediary as it bridges two otherwise seperate networks.
All machines have onboard Gigabit ethernet, A+B are connected via 
Crossover and B-C is connected by very fast switch (i.e. all 
connections should be able to use the full gig if they wanted to)
I see an average of about 23-25% usage in both the crossover (A-B) and 
the connection (B-C) - are there any tricks you can recommend for me to 
speed up my transfers?

Box A is the box running Samba 3.5.1-42.el5
Box B is Win Server 2003
Box C is a NAS (BSD)
I've found a lot of what seems to be outdated information online like 
changing my SNDBUF to 8192 so I thought i'd drop an email to the list 
for more up to date information.

Many thanks,
Henri
--
To unsubscribe from this list go to the following URL and read the
instructions:  https://lists.samba.org/mailman/options/samba