From: Stan Hoeppner on
Igor put forth on 1/21/2010 6:04 PM:
> Hello Stan,

Hello Igor,

> I don't find it strange at all. Your computer is acting as a traffic
> proxy between two samba servers. If you have 100Mb network interface
> your bandwidth should split exactly in two.

Which should be 5.5MB/s instead of 4MB/s for each stream. I included this
example for comparison, as an additional data point. It is not the thrust of my
post, merely supporting data, as this should in theory be _two_ streams.

> FTP is a different protocol. You might find the answer if you look at
> the percentage the carrying protocol like SAMBA consumes out of the
> traffic to support protocol integrity. You may find out that the rest 2Mb
> (you should actually have no more than 10Mb/s at 100Mb interface) are
> used by the carrying protocol itself. That somehow "though the protocol
> itself allows" but "for the sake of connectivity" the maximum size of
> the packet is set to 64ë. Which is not surprising as far as Microsoft goes.

I don't think you read my post thoroughly, or possibly I didn't state my case
thoroughly or eloquently. _Two_ concurrent Windows file copy streams to/from
the Samba share peak iftop at 92Mb/s. A single FTP get/put to the same share
filesystem peaks iftop at 92Mb/s. A _single_ Windows file copy peaks iftop at
65Mb/s. I've performed these tests over 10 times with the same results.

Why will _one_ Windows file copy stream to/from the Samba share not peak the
interface? Why do _two_ concurrent streams peak the interface but not _one_?

> I'm sure people around here might provide you with some data
> about SAMBA efficiency, but just remembering what a big difference
> 1000Mb Ethernet produces over 100Mb as far as SAMBA is concerned -
> well my best guess it's not more that 80% of all traffic. 20% goes
> for protocol support.

Protocol efficiency doesn't even come into play here AFAICT. A single stream
should easily max a 100Mbit pipe. I'm only able to max the pipe using two or
more concurrent streams from the same host. One stream won't do it. I don't
know if the problem is with Windows or with Samba, but I'd sure like to find out
and fix it. My testing has eliminated both operating systems, their storage,
and the raw network performance as degrading factors. The only thing left if
the SMB/CFS engines on both systems, which seem to have no trouble at all
clogging the pipe with multiple streams, but run along lazily at 65% of peak
when only one stream is present.

--
Stan
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Stan Hoeppner on
Volker Lendecke put forth on 1/24/2010 5:04 AM:
> On Sat, Jan 23, 2010 at 02:11:04PM -0600, Stan Hoeppner wrote:
>> The 11MB/s was a different test, which I clearly stated.
>> It consisted of two concurrent single stream file copies
>> _from_ the Samba server _to_ a Win2K workstation using
>> standard Windows Explorer as the file copy program. This
>> test saturated one leg of the 100FDX ethernet connection
>> at ~11.5MB/s.
>
> Just a quick hint: Single stream performance really heavily
> depends on the concrete client behaviour. smbclient from 3.2
> and higher should give you good performance. And watch out
> which program on the Windows client you use to do the copy.
> xcopy, robocopy and the Windows explorer on some OS version
> give dramatically different results. The difference comes
> from overlapping requests or their absence.

I just tested xcopy with the previously mentioned 600MB+ file between my Win2K
Pro workstation and the WinXP workstation, single stream, both directions. I
also did the same xcopy tests between the Win2K Pro workstation and the Samba
server. The b/w results are identical to the previous Windows Explorer file
copy tests, 8MB/s up/down to Samba, and a little over 10MB/s up/down to the
WinXP machine.

Are overlapping requests the cause of the single stream performance issue here?
If so, are overlapping requests something that is negotiated in the SMB
protocol between the hosts or is it statically configured, or something compiled
into the client code? I.e. if overlapping requests is the issue, why do the two
Windows machines seem to do it correctly between themselves, but the
Windows/Samba combination does not?

Is there something I can manually configure on Win2K Pro to overlap requests
to/from Samba?

Thanks for the assistance, insight, and education.

--
Stan
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Stan Hoeppner on
Volker Lendecke put forth on 1/24/2010 6:51 AM:
> On Sun, Jan 24, 2010 at 02:09:51PM +0200, Michael Wood wrote:
>> Except that he said "I can copy files between the Win2K and WinXP
>> machines at just over 10MB/s in a single stream and max out the 11MB/s
>> with two streams." I am assuming he used the same client in that test
>> as he did with the test against Samba. So from what he's said it
>> seems that he gets more speed with a Windows server than with Samba
>> for the same client.
>
> So what we need is a full network trace of both cases.

Exactly how would I perform such a task? With what utilities? Do you mean
something like tcpdump on the Linux side? I'm not familiar with a Windows tool
for the same. Can the Windows network monitor do this? I've never really used it.

--
Stan
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Stan Hoeppner on
Volker Lendecke put forth on 1/24/2010 6:51 AM:
> On Sun, Jan 24, 2010 at 02:09:51PM +0200, Michael Wood wrote:
>> Except that he said "I can copy files between the Win2K and WinXP
>> machines at just over 10MB/s in a single stream and max out the 11MB/s
>> with two streams." I am assuming he used the same client in that test
>> as he did with the test against Samba. So from what he's said it
>> seems that he gets more speed with a Windows server than with Samba
>> for the same client.
>
> So what we need is a full network trace of both cases.

Actually I'll give you something slightly different, and more to the original
question. I've taken two tcp captures on the Samba server machine. Both
transfers were performed using the Windows 2000 cli "copy" command pulling a
36MB avi file from a share on the Samba server. The first test was a single
stream copy. The second test was a dual stream copy of the same file
concurrently to two different destination directories. I also had iftop running
during the tests. The single stream transfer maxed out at just over 64Mb/s.
The dual stream test maxed out at 92Mb/s. Following are the two tcpdump output
files using "tcpdump -p -s 0 -w FILE port 445":

http://www.hardwarefreak.com/smb_single_stream
http://www.hardwarefreak.com/smb_dual_stream

The file sizes are 38MB and 76MB respectively. The raw outbound link speed
behind which my web server sits is only 512Kb/s so it'll take a few minutes to
pull the files, probably about 30-35 minutes or so for both files. My apologies
for any inconvenience this may cause.

--
Stan
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Stan Hoeppner on
Volker Lendecke put forth on 1/25/2010 1:28 AM:
> On Mon, Jan 25, 2010 at 12:14:36AM -0600, Stan Hoeppner wrote:
>> Volker Lendecke put forth on 1/24/2010 6:51 AM:
>>> On Sun, Jan 24, 2010 at 02:09:51PM +0200, Michael Wood wrote:
>>>> Except that he said "I can copy files between the Win2K and WinXP
>>>> machines at just over 10MB/s in a single stream and max out the 11MB/s
>>>> with two streams." I am assuming he used the same client in that test
>>>> as he did with the test against Samba. So from what he's said it
>>>> seems that he gets more speed with a Windows server than with Samba
>>>> for the same client.
>>>
>>> So what we need is a full network trace of both cases.
>>
>> Actually I'll give you something slightly different, and more to the original
>> question. I've taken two tcp captures on the Samba server machine. Both
>> transfers were performed using the Windows 2000 cli "copy" command pulling a
>> 36MB avi file from a share on the Samba server. The first test was a single
>> stream copy. The second test was a dual stream copy of the same file
>> concurrently to two different destination directories. I also had iftop running
>> during the tests. The single stream transfer maxed out at just over 64Mb/s.
>> The dual stream test maxed out at 92Mb/s. Following are the two tcpdump output
>> files using "tcpdump -p -s 0 -w FILE port 445":
>>
>> http://www.hardwarefreak.com/smb_single_stream
>> http://www.hardwarefreak.com/smb_dual_stream
>
> The dual-stream one is kindof limited help. The interesting
> piece is how Win->Win does its thing faster, so we need to
> see that one.

I think something is wrong. I downloaded Wireshark Win32. When running

tshark -p -w smb-winwin-single-stream port 445

the transfer rate is half what it is without Wireshark running. What am I doing
wrong?

Thanks.

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