bman212121
[H]ard|Gawd
- Joined
- Aug 18, 2011
- Messages
- 1,815
This is definitely a long standing issue with Samba. It's has nothing to do with the hardware, it's simply an issue of scaling in software. I've chased this issue many times since the P4 days trying to get gigabit to perform at full speed. Anything samba/SMB based will not scale well. Take an XP or older client and you will hit at a wall around 30% or ~30MBps. Take a Vista/Windows 7 server 2003 R2 or Server 2008 client and server and you will be able to hit 100% usage. I have yet to see any Linux client ever peak a gig connection with samba. I've heard a few people say they could, but no one has been able to provide any details. The default configuration simply won't do it. I have an Althon 1800+ on a software RAID 0 card with 2 sata drives and a Linksys PCI gigabit card running on Server 2008. It will hit 50MBps in both directions and could go higher if the cpu wasn't at 100%. Can take a dual core box with an flavor of Linux and it won't break that 30 - 35MBps barrier.
I can easily back up the same configurations that everyone else is having. 85% when Windows 7 is the host, and 35% when Samba is the host. Using Windows 7 and Samba 3.4.12 on Gentoo.
FWIW CIFS is Common Internet File System, the common name for Server Message Block (SMB) which is what Microsoft calls it. OSX 10.7 Lion now has SMBX which is their implementation of SMB2. From what I've heard it should scale much better than their prior Samba based clients would.
Shame that Samba 3.6 doesn't seem to help for people. I was going to attempt to install it myself but there are some dependency issues to get around to upgrade my box. Guessing that it's not completely implemented on the server side yet and only support faster reads from a Windows host.
If you're running Linux boxes then NFS might be a better protocol for you. Haven't tested it but it probably scales better than Samba. If you're primarly Windows use a Windows box for SMB2 and it will run much better.
EDIT: One more thing that is pretty noteworthy. I know this is true of Windows XP and is likely true of Samba. It's not the server as a whole issue, it's per data connection. I know that if you have 2 hard drives in one XP box and 2 hard drives in another XP box; do one copy from A to A and one from B to B at the same time. You will see double the bandwidth used. So if you have the storage subsystem capable of multiple connections you can just do 2 transfers at once and it should double the speed.
I can easily back up the same configurations that everyone else is having. 85% when Windows 7 is the host, and 35% when Samba is the host. Using Windows 7 and Samba 3.4.12 on Gentoo.
FWIW CIFS is Common Internet File System, the common name for Server Message Block (SMB) which is what Microsoft calls it. OSX 10.7 Lion now has SMBX which is their implementation of SMB2. From what I've heard it should scale much better than their prior Samba based clients would.
Shame that Samba 3.6 doesn't seem to help for people. I was going to attempt to install it myself but there are some dependency issues to get around to upgrade my box. Guessing that it's not completely implemented on the server side yet and only support faster reads from a Windows host.
If you're running Linux boxes then NFS might be a better protocol for you. Haven't tested it but it probably scales better than Samba. If you're primarly Windows use a Windows box for SMB2 and it will run much better.
EDIT: One more thing that is pretty noteworthy. I know this is true of Windows XP and is likely true of Samba. It's not the server as a whole issue, it's per data connection. I know that if you have 2 hard drives in one XP box and 2 hard drives in another XP box; do one copy from A to A and one from B to B at the same time. You will see double the bandwidth used. So if you have the storage subsystem capable of multiple connections you can just do 2 transfers at once and it should double the speed.
Last edited: