Terrible SMB performance!?


 
Thread Tools Search this Thread
Operating Systems Solaris Terrible SMB performance!?
# 1  
Old 02-10-2011
Terrible SMB performance!?

Hi, I tried this question on OTN Discussion Forum, but it seems that forum doesn't have as much activity so I thought I'd try here.

I have a big performance problem with Samba server on a fresh install of Solaris Express 11 svn_151a, and a freshly created ZFS pool. I'm getting about 3 to 10 MB/s transfers for large media files (and other large incompressible test files), under controlled testing.

Just prior, I was getting 90 MB/s with OpenSolaris 2009.06 svn_11b (also with minimal tweaking), with same testing and conditions. Nothing changed with hardware or network config...just fresh new Solaris, and fresh new ZPool.

Subjectively too, it absolutely c..r..a..w..l..s, when it used to fly before.

There are many reasons I'm using Samba server rather than the built-in CIFS/SMB, but that is beyond the scope of this question.

Thanks!
-Jim

Specs:

Machine:
- 2*4-core Xeon CPUs
- 16gb ECC RAM
- Onboard e1000g NIC
- 20 hot-swap bays

rpool:
- mirrored 30gb SSDs

Pool "zp3" config:
- LSI SAS1068E-R c9 HBAs
- 6 * 3-way mirrors, 1tb, 7200 RPM enterprise-class SATA
- 2 hot spares
- 2 * 30gb SSD for L2ARC

Pool "zp3" properties:
zp3 version 5 -
zp3 sync disabled local
zp3 com.sun:auto-snapshot true local
zp3 recordsize 128K default
zp3 utf8only on -
zp3 normalization formD -
zp3 casesensitivity insensitive -
zp3 encryption off -
zp3 compression on local
zp3 compressratio 1.07x -
zp3 dedup off local
zp3 logbias throughput local
zp3 used 4.21T -
zp3 usedbysnapshots 311G -
zp3 usedbydataset 3.90T -
zp3 usedbychildren 8.78G -
zp3 usedbyrefreservation 0 -
zp3 available 1.04T -

Type of data and access:
- Mostly large media files (DNG photos, large photoshop project files, high bitrate 1080p video, 32-bit/96khz audio, etc.)
- Plenty of small "office" data files too, but of secondary importance.
- Low usage. Typically accessed by one CIFS/SMB client - and one application - at a time (mix of Windows, Mac, Linux). Needs throughput, not IOPS.
# 2  
Old 02-11-2011
the last time a friend has this kind of problem it was the MTU size. maybe worth a check...
# 3  
Old 02-18-2011
Quote:
Originally Posted by DukeNuke2
the last time a friend has this kind of problem it was the MTU size. maybe worth a check...
Thanks for the suggestion, DukeNuke2.

I tried increasing the MTU. Hours of Googling how to do it, and trial-and-error later, I couldn't get 'er done. (And I have less hair now...as with so many things Solaris it seems...)

To wit: I have an Intel e1000g NIC, so in /kernel/drv/e1000g.conf, I specified:
Code:
ForceSpeedDuplex=7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7;
AutoNegAdvertised=32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32;
MaxFrameSize=3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3;

(I know I technically only needed to populate the first instance for each setting, but I wanted to be sure!)

Then in /etc/hostname.e1000g0, I specified:
Code:
b13 mtu 9000 up

(The latter one seems to be for older versions of Solaris near as I could figure, but did it just in case.)

However, after rebooting, ifconfig continues to e1000g0 yield:
Code:
e1000g0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 5

(Same for IPv6.) So, it doesn't seem to be accepting the change. Furthermore, I now recall having the same problem with OpenSolaris 2009.06 with trying (and failing) to set Jumbo Frames. (But still got good performance without it.)

The strange thing is, the performance problems seem to have gone away. I'm now getting about 40 to 95 MB/s on large sequential reads and writes.

I know it had to be something I did, because my previous tests spanned countless hours of fiddling, tweaking and dozens of reboots. The problem didn't just solve itself, nor as it transient.

(But, since it is working now, I'm going to leave it alone. Forever! Seriously. No patches, nothing. This machine will remain with this exact hardware configuration (even though it is expensive overkill for the job by today's standard), and OS/version, FOREVER. Just swapping out ever-larger disks regularly to continuously grow the pool, replacing failed components with exact replacements, until the horsepower just can't keep up with the growing volume of data any more. In hindsight I should have never upgraded from svn_111b. I've kind of had it with Solaris Smilie. I love ZFS, but for the love of God these kinds of things are killing me. Every little minor thing turns into hours of research, tweaking, trial-and-error, and mish-mashes of "new" but non-*nix-ey commands, and ancient config files, scripts, and commands. When it comes time, I'll replace it with a new machine, running a Linux OS, and Btrfs which should easily be ready by then.)

Anyway, thanks for the suggestion! Although I wasn't able to make your suggestion work, it was at least responsible, somehow, for indirectly improving the performance somehow...


Edit: I should also point out that I'm using a managed switch with jumbo frames support explicitly enabled, and jumbo frames turned on for the other mix of various Windows versions and Linux machines.
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Smb.conf config help

So what i am trying to accomplish is the following: a share that is browse-able by every one on the network with a group of people that can write to it with out ownership problems. I am extremely new to samba/linux and any help would be greatly appreciated. It is a stand alone server running samba... (3 Replies)
Discussion started by: dcs
3 Replies

2. Solaris

Solaris 11.2 - smb with AD

Hello I used the following procedure in S11.1, everything worked. As we reinstalled some servers, i tried the exact same with s11.2. Now i can't join my AD domain, and smb will not allow my users to access files. Procedure: Configured NTP Configured DNS Configured Name Service Switch... (3 Replies)
Discussion started by: embedded
3 Replies

3. SCO

sco visionfs vs smb

i need to copy the entire contents of my sco server 5.0.5 it says its running vision fs 2.01.905 if i access it from windows i would like to be able to access it like a normal file share instead of only thru an ftp service i cannot find vison software on the server /usr/vision does not exist ... (1 Reply)
Discussion started by: crosbymook
1 Replies

4. Shell Programming and Scripting

Having a terrible problem with quotes/single quotes!

Hello. I'm trying to write a bash script that uses GNU screen and have hit a brick wall that has cost me many hours... (I'm sure it has something to do with quoting/globbing, which is why I post it here) I can make a script that does the following just fine: test.sh: #!/bin/bash # make... (2 Replies)
Discussion started by: jondecker76
2 Replies

5. UNIX for Dummies Questions & Answers

nohup has a terrible bad performance compared with interactive command, why?

I have a strange situation. I'm running a shell script containing several data uploads (using Oracle sqlloader utility). This script is being run on a Red Hat server. I tried to run it in background: $ nohup upload.sh & This script uploads some thousands files. After several hours I... (0 Replies)
Discussion started by: viniciov
0 Replies

6. UNIX for Dummies Questions & Answers

smb.conf question

Folks; I know this might sounds stupid, but please help with this: I have share in my smb.conf on my SUSE 10 box. How can i make this share accessible to outside IP range or a specific IP address without need for user/pass? Here's the share as it's written in smb.conf: ; ;comment =... (0 Replies)
Discussion started by: Katkota
0 Replies

7. UNIX for Dummies Questions & Answers

Samba - smb files

I found this tutorial "Setting Samba in 10 min". It says there that command "/etc/rc.d/init.d/smb start or stop, or /sbin/service/smb restart should do this functions. But this doesn't work for me. Wrong dir. I don't even have "rc.d" dir. Where should I look for this samba files? In samba dir all... (1 Reply)
Discussion started by: salvor_hardin
1 Replies

8. News, Links, Events and Announcements

Announcing collectl - new performance linux performance monitor

About 4 years ago I wrote this tool inspired by Rob Urban's collect tool for DEC's Tru64 Unix. What makes this tool as different as collect was in its day is its ability to run at a low overhead and collect tons of stuff. I've expanded the general concept and even include data not available in... (0 Replies)
Discussion started by: MarkSeger
0 Replies

9. Programming

terrible time using gcc

I'm trying the 'hello world' program. This is my code: $ more helloworld.c main() { printf("Hello world.\n"); } $ This is the output I get when trying to compile using gcc: $ gcc -v helloworld.c -o helloworld Reading specs from... (3 Replies)
Discussion started by: skinnell
3 Replies
Login or Register to Ask a Question