What is the difference between a server and a regular desktop, is it just the software?
Essentially, yes, it’s just the software, though some machines / OS configurations are better suited to use as servers. When you hear somebody refer to a “server” they mean a machine that, well, serves something. That is, it takes requests from other machines and returns the information. It does this by having programs also often reffered to as “servers” running on them (not very imaginitive, are we?). For instance, the boards.straightdope.com machine has a program called a “webserver” running on it, which accepts the request from your browser, and hands back the HTML page.
Basically the software and probably some hardware to handle the extra data traffic.
And nothing says a server has to be a PC/Pentium/486/386/286/whatever. It can be a Unix machine designed to be a server, an Apple Macintosh with the proper soft/hardware, or an IBM mainframe.
A computer can be a doorstop too. Just remove all of the software and hardware and place in front of an open door. :D:D
I know of a whole purchase of DEC Rainbows by the US Navy in the mid-80’s that became plant stands. :D:D
Addendum - for instance, you will note that a lot of cable modem and residential DSL service providers have a clause in their contract that says “no servers”. It’s there because there is essentially nothing to stop you from setting up an HTTP, FTP or mail server on your machine and supplying uploads to the world. They don’t want to see all that traffic in that direction from a residential machine - I prefer ISP’s who simply say that they don’t want you to generate too much traffic, and don’t mind if you set up a low traffic server.
If you do wish to set up a simple webserver on your home machine, I have a recommendation, BTW - Xitami. Much easier for the novice to configure than something like Apache, it’s free and reliable, and perfectly adequate for a medium traffic site. I worked for an appserver company that packaged Xitami as the “toy” webserver to use if you didn’t have one, or to use for testing without having to set up your “industrial strength” server on your test environment.
We’ve got a nice new dual Pentium 1GHz processor and 1Gig RAM in our lab that we run linux on. It kicks for number crunching and I was just curious if it could handle something like these message boards or if it would need additional hardware.
Simulpost, what is your definition of low medium and high traffic?
I’d hesitate to answer the question on the machine authoritatively, but I would say that a 1 gig dual Pentium is easily adequate CPU power to run a substantial message board, though not a huge one, which would need to be distributed across multiple servers, and gets complex fast.
There are many other factors to consider though, such as your network, file system usage (you’ll need a LOT of disk space), the fact that board software might mean you’re installing a DB server, etc. Running a board on the machine means quite a bit of tuning and configuring, and the bottlenecks when you do get traffic are likely to be something other than swamping the CPU cycles on that machine.
I’m speaking off the top of my head here. Good advice might be to go to the outfit that sells the software they use here, and investigate their requirements, and the kind of claims they make regarding throughput:
Their prices for single webserver licenses seem quite reasonable.
More to the point, running a board on the machine requires a lot of day-to-day administration attention because of the human element, as illustrated by the work the mods do on this one.
While technically you could use a desktop machine as a server, servers are usually purpose-built. For example, many servers these days use SMP (symmetric multiprocessing; basically means more than one CPU). While you can buy a desktop machine with more than one CPU (I have one myself, that I built), you’d rarely have more than two. Server applications are ideally suited to SMP, where you may have several or several thousand users each doing different things (think of the servers that run a big website like eBay or Yahoo). These different operations can run on different CPUs simultaneously. For the x86 (Intel) platform, I believe 8 is the maximum number of CPUs available in an SMP system. When you go to other architectures, that number can increase dramatically. For example, Compaq (formerly DEC) has a system based on the Alpha CPU which can support 64 processors. Wouldn’t want to run Windows on it, though.
Additionally, servers have other bits of high-performance hardware that would be out of place on a desktop. Servers typically use SCSI rather than ATA (EIDE) disks because they’re faster and put less of a load on a CPU (yes, some desktops use SCSI, but it’s becoming less and less common these days). RAID (Redundant Array of Inexpensive Disks) is also common to prevent failure of one disk from taking down the whole server. RAID usually also allows you to swap out a defective disk with a new one without bringing the system down. More sophisticated servers have hot-swap PCI slots that actually allow you to exchange PCI cards without shutting down. They might also have redundant hardware in the form of additional network cards, disk controllers, power supplies and even extra fans. Servers will also usually have more expansion slots than desktops.
Going one step above that is a cluster, which lets you have more than one machine connected together so that if one fails completely, the other can take over its tasks with a minimum of downtime. Some software (such as Oracle) can even run on multiple machines within a cluster, taking advantage of the processing power of the entire cluster, and if one machine should go down, it will continue to run on the remaining machines.
For running a message board, I’d venture to say that in terms of power you could do it with the machine that you mentioned (assuming you were running SCSI disks; I wouldn’t try it with IDE), but in terms of long-term stability I wouldn’t…
>What is the difference between a server and a regular >desktop, is it just the software?
A server is simply a computer that allows you to share resources. You can set up win 95 / dos with file sharing, but quite frankly the OS is not very good at it. The primary apps (that I can think of) for servers are file sharing (by far the most important function IMHO), print serving (fancy file serving), running databases, security (involving the other apps), and handling some type of internet content.
It doesnt really matter what hardware or software you use. The more money you spend on hardware, will generally correlate to better response time. With software I find this to be a matter of religious belief. Do you worship windows, happy macs or castrated men…
BTW I do have a home PC with 256MB of memmory and a scsi raid so I dont think that these items are restricted to servers… Although in my religion ide is quite evil.
John
Any piece of software that recieves and fulfills requests. It provides a service, just like you were told in elementary school economics. Goods and Services, ya know?
At one point in my torrid career I worked with rather large servers. The largest I ever worked on was a Sun Ultra 10000, with 64 processors and 20+ gigs of memory. One of these things alone was capable of handling around 10000 users of a multi-tiered, complex, customer database (we’re talking all of AT&T’s Local Telefone customers billing info for a rather large state). It retailed for around 2 million bucks, and had an average uptime of 99%.
The biggest cluster of computers on the other hand is in the tens of thousands, being able to do complex math calculations rather quickly, but rather laggy on the database type, disk access side.
A machine strong enough to run a board like this would probably not need too much processor speed, as it would disk space. After all, this whole board is based on text, neatly arranged, with little to no converion involved. Text is rather easy to handle, and requires little overhead. The entire operation is nothing more than authenticate, store/get, simple. I’m not saying you could run this board on a 486, but you wouldn’t need to spend big bucks either. Remember, there are tons of ways to slow things down coming in, like queueing/buffering, and the like, to ease process cycles.