Benefits Of Multiple CPUs With Samba?
PirateBek asks: "We're considering putting in a sizable Linux box to serve our entire campus via Samba. We can save quite a bit of money by going with a fast (PIII-800) single CPU, or spending more for dual slower (PIII-667) CPUs. Is going with two slower CPUs worth the inital dough, or will a faster CPU make up for the added benefit? Does Samba tend to like dual CPUs, or does it really matter? Mind you, we're working under a tight budget, and we want to get the most bang for our buck. Any experience/knowledge in this arena would be quite appreciated."
Firstly, that's not proper syntax. It would have had to have been either:
grep "s.m.b." /usr/dict/words
consumable
presumably
resumable
somebody
Or maybe it was
grep "^s.*m.*b.*" /usr/dict/words
scramble
scrambled
scrambler
scrambles
scrambling
semblance
shambles
slumber
slumbered
smokable
smoothbore
somber
somberly
somebody
steamboat
steamboats
stumble
stumbled
stumbles
stumbling
succumb
succumbed
succumbing
succumbs
symbiosis
symbiotic
symbol
symbolic
symbolically
symbolics
symbolism
symbolization
symbolize
symbolized
symbolizes
symbolizing
symbols
No "samba" in my /usr/dict/words. Maybe it was a custom entry, or maybe this is must a myth.
--
Actually, truth be told even an old Pentium-II 233 can keep a Samba network VERY busy.
Mutliple CPU's can be helpful on a minor scale for a couple of reasons:
Your biggest performance improvements will probably come from doing a few basic things right:
sigs are a waste of space
You will gain some performance by using SMP, but if you've got the choice, go with a single-CPU machine with the fastest I/O subsystem you can get for the same cash as the SMP box. It'll give you much more bang for your buck.
The main question here is do you need to do a lot of data processing on this computer? I doubt it if it's a samba server. All samba does is provide the SMB network transport for data to flow across. Dual CPUs won't make a dent in the speed of the traffic. Spend your money more wisely on quality fast NICs and switches. That's where you'll notice the speed difference! -Pete McDonnell
Probably the biggest single factor that will contribute to slow performance is going to be disk I/O and latency, esp. if you're going to have a lot of continuous small file operations.
I'd suggest that you get a single processor, and spend money on a good ultra 2 scsi controller. If you need data protection, run RAID 10 - it's more expensive to implement than RAID 5, but it's faster, and you wouldn't need a fancy shmancy RAID controller with an intelligent cache to keep from suffering a performance hit on writes. Ugh, call me a SCSI nazi, but i wouldn't use ATA for something more than casual use.
I didn't see mention made of how many clients you're expecting to service, but a P3 or Athlon in the 700MHz range should do pretty well. couple that with lots of RAM (1GB) and tune samba accordingly (bigger buffers = faster access). of course, faster network access would remove one more bottleneck.
Actually, I read about it in the beginning of the Oreilly book titled, "Samba". I forgot the actual pattern match, but I remember trying it and it worked (Solaris). I just checked and samba isn't in my /usr/dict/words either, but it is in the Solaris /usr/dict/words on my school network.
Keeping
You're making a file server, and by far you're biggest problem is going to be I/O bottlenecks (disk & network), NOT CPU. In fact, I can keep a 100Mbit connection fully flooded with SMB traffic with a lowly Dual PPro200 system. So the second CPU isn't necessary at all. Here are my recommendations (and I've done this before):
If the machine is doing pure Smaba serving, and you are using external PDCs, get the lowest-speed CPU you can (which will probably mean at least a 500Mhz one). It will be more than sufficient. Use the money for your disk subsystem.
If you want to do something like virus scanning, or PDC work, or even DNS serving, look into a better CPU, especially if your going to be doing Mail on the box (which is a CPU hog). In general, though, I think you'd be better off with sticking to a limited-function box and 1 CPU.
Product Plug: I like Compaq Proliants. They're very Linux-friendly, and they have the nice extras you want in a server. Here's a suggested config:
That runs $11k direct from Compaq (figure you get it cheaper from a reseller). You can knock off $2k if you use 7200RPM drives.
Look for something similar. Having a dual-capable MB is nice, just in case you decide to add crap to the machine later (or re-purpose it).
Best of Luck.
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
Quite simply, if this is going to be just a file server, I'd suggest going for a single cpu. IMHO, SMP is good for big badassed multithreaded apps like 3d modelling/rendering. Network servers are also heavily multithreaded, but they employ many short-lived processes whose overhead shadows the efficiency savings of SMP.. too much context switching and extra hassle. Single is simpler, and simple is fast. But what's more important here is the actual data throughput. Nic's are very important, as well as the I/O bus speed. Wide/LVD Scsi hard drive are ideal, but ATA66/100 is much cheaper and "fast enough". Now I don't know Samba's performance details, but you probably don't need a Xeon 800 to run this unless you're expecting >200 simultaneous requests. Even at 100mbps, a P2-450 with a decent amount of ram should do fine. One thing you should consider (if the guys in charge aren't Intel whores) is the AMD Athlon Thunderbird if you want to get away with it for cheap. Compared to P3's, I find they run just as fine and fast, and price wise it's an obvious winner, which would leave you with more cash left to spend on the truly critical elements : NIC's and hard drives.
-Billco, Fnarg.com
Does anyone know how samba was named?
/usr/dict/words
Give up?
He used:
grep s*m*b*
The coolest word in the resulting list was samba.
First Post?
Keeping
Single CPU?
Program will not execute!
Takes two to samba!
------
------
You are in a twisty little maze of open source licenses, all different.