From: Stan Hoeppner on
Mahmud Siddiqi put forth on 3/29/2010 5:40 PM:
> Hello everyone,
>
> Quoting from Samba Team Blog #2 (25 Sept 2009):
>
> "Volker showed how to get more than 700MB/sec from Samba using
> smbclient and a modern Samba server, which shows what you can
> really do when you understand the protocol thoroughly and don't feel
> you have to invent a new one (SMB2 :-)."
>
> Would it be possible to get a complete accounting of how this was achieved?

First off, that's a misprint, unless this test was done with 10GbE ethernet,
which I highly doubt. The test was likely done with 1 GbE. Thus it should
read 700 Mb/s in that quote. Big B is Bytes, small b is bits.

Streaming 700 Mb/s, or 700/8 = 87.5 MB/s, with decent GbE cards with TCP
offload, such as the Intel GbE NICs, a decent managed GbE switch, along with
enough RAM and a relatively fast disk, low end striped array, or SSD, should
be fairly easily achievable by most anyone. It may or may not require jumbo
frames. I've not tried this myself. If it does require jumbo frames, then
the setup wouldn't be all that useful to most people as there is no IEEE
802.x standard for jumbo frames, and networking gear that fully supports
jumbo frames tends to be relatively expensive.

The tweaks in smbd and smbclient to make best use of the available network
bandwidth are relatively trivial. What really counts in this scenario is
having decent quality GbE hardware, quality cabling, and enough horsepower
in the host on each end to push and digest the TCP stream. Modern Linux
kernels auto tune the TCP stack so there's little to do there as well. Once
you've got the decent hardware, tuning out the minor software bottlenecks is
relatively straightforward. Achieving these results in a mixed Linux,
Windows, *BSD, Mac OS network is probably much trickier. Linux-Linux should
be relatively easy.

--
Stan
--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Volker Lendecke on
On Mon, Mar 29, 2010 at 08:59:06PM -0500, Stan Hoeppner wrote:
> Mahmud Siddiqi put forth on 3/29/2010 5:40 PM:
> > Hello everyone,
> >
> > Quoting from Samba Team Blog #2 (25 Sept 2009):
> >
> > "Volker showed how to get more than 700MB/sec from Samba using
> > smbclient and a modern Samba server, which shows what you can
> > really do when you understand the protocol thoroughly and don't feel
> > you have to invent a new one (SMB2 :-)."
> >
> > Would it be possible to get a complete accounting of how this was achieved?
>
> First off, that's a misprint, unless this test was done with 10GbE ethernet,
> which I highly doubt. The test was likely done with 1 GbE. Thus it should
> read 700 Mb/s in that quote. Big B is Bytes, small b is bits.

In that test I did see >700 megabytes per second, certainly
over 10GbE on pretty powerful hardware. One of those raw tcp
throughput testers showed the hardware does around 800
megabytes per second. The trick was to read from a huge RAM
disk together with a well-tuned smbclient from 3.2 to do
multi-issue of SMB requests. This was really a test to see
how much overhead smbd alone does.

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

> In that test I did see >700 megabytes per second, certainly
> over 10GbE on pretty powerful hardware. One of those raw tcp
> throughput testers showed the hardware does around 800
> megabytes per second. The trick was to read from a huge RAM
> disk together with a well-tuned smbclient from 3.2 to do
> multi-issue of SMB requests. This was really a test to see
> how much overhead smbd alone does.
>
> Volker


I figured that 10GbE was used. Was that throughput to a single client, or was
it aggregate at the server?

More details on my situation --

I typically see 35MB/sec over my current 1GbE lines. Clients are WinXP32,
WinXP64, and soon Win7. Disk rates exceed 500MB/sec (RAIDs). Server is Samba
3.0.2x on Mac OSX Server with XRAID SAN.

I would really like to see 80-90 MB/sec with my current setup, which I could
reach before XP SP3 (we'll put in 10GbE lines sooner or later). I am seriously
considering bringing up a new Linux server running Samba 3.5 for performance
and other reasons, since Apple is in no hurry to update Samba in OSX. However,
I am by no means an SMB expert, so any advice for tuning either my current
clients and server, or the potential new server would be greatly appreciated
(e.g., how would I set Windows for multi-issue of SMB requests?).

I have implemented the relevant tweaks for Windows clients that I've found in
the Samba documentation, but no performance increase was seen. I am also in the
enviable position of having a network with no packet loss, virtually no
latency, and virtually no collisions, so the usual buffering tweaks don't
help....

Mahmud


--
To unsubscribe from this list go to the following URL and read the
instructions: https://lists.samba.org/mailman/options/samba
From: Volker Lendecke on
On Tue, Mar 30, 2010 at 05:42:27PM +0000, Mahmud Siddiqi wrote:
> I figured that 10GbE was used. Was that throughput to a single client, or was
> it aggregate at the server?

Single smbclient get request.

> I typically see 35MB/sec over my current 1GbE lines. Clients are WinXP32,
> WinXP64, and soon Win7. Disk rates exceed 500MB/sec (RAIDs). Server is Samba
> 3.0.2x on Mac OSX Server with XRAID SAN.
>
> I would really like to see 80-90 MB/sec with my current setup, which I could
> reach before XP SP3 (we'll put in 10GbE lines sooner or later). I am seriously
> considering bringing up a new Linux server running Samba 3.5 for performance
> and other reasons, since Apple is in no hurry to update Samba in OSX. However,
> I am by no means an SMB expert, so any advice for tuning either my current
> clients and server, or the potential new server would be greatly appreciated
> (e.g., how would I set Windows for multi-issue of SMB requests?).
>
> I have implemented the relevant tweaks for Windows clients that I've found in
> the Samba documentation, but no performance increase was seen. I am also in the
> enviable position of having a network with no packet loss, virtually no
> latency, and virtually no collisions, so the usual buffering tweaks don't
> help....

Performance really very closely depends on the applications
you are using. Last year for example I have seen a dramatic
difference in behaviour between drag and drop using the
Windows 7 explorer application compared to using xcopy on
the same client host. I have also done consulting at a
customer where suddenly a report run on a database ran 10
times slower than before. It turned out that they had a
second concurrent user on the database which invalidated the
oplocks. So, for performance tuning is really not simple.

Volker