177
Chapter 13:
Network Servers: Everything You Wanted to Know but Were Afraid to Ask
NOTE
These days, some processors have multiple processor cores on the same chip. The values
given for the number of allowed Windows server processors are for the number of processor chips
(in other words, the sockets on the motherboard).
If you plan to use UNIX, then it depends--some versions of UNIX support multiple
processors; others do not.
Another factor to consider is the job that the server does and whether the server's
tasks are presently bottlenecked by the processor. File and print servers may not need
multiple processors. While they benefit from fast processors, the advantage is not as great
as you might think. It's far more important for a file and a print server to have a lot of
random access memory (RAM) and a fast disk subsystem. Database servers, on the other
hand, are processor-hungry and definitely benefit from as many processors as possible
running at the fastest possible speed. (It's also important for the database server software
to be configured in such a way that it can make optimal use of multiple processors.) Web
servers tend to be modest in their processor requirements--they rely on fast buses, fast
network connections, a lot of RAM, fast disks, and that's about it. A fast processor (or
multiple processors) is nice on most web servers, but it also might be overkill.
Managing multiple processors requires a lot of overhead work on the part of the
operating system. Because of this, having twice as many processors in a computer
doesn't double its processing capability; instead, doubling the processors might improve
the computer's speed by only about 50 percent. Depending on your operating system,
there is also a point of diminishing returns, past which additional processors won't give
you much additional performance. Part of this has to do with how the operating system
handles multiple processors. Another part has to do with the number of threads doing
work in the operating system. (Threads cannot be shared between processors, so if only
two main threads are doing all the work on the system, more than two processors won't
improve your performance by any meaningful amount.)
DEFINE-IT! What's a Thread?
Operating systems that multitask often do so using a mechanism called a thread.
In fact, all modern operating systems use threads, including Windows (from
Windows 95 on up), NetWare, and some versions of UNIX. In operating systems
that make use of threads, each running program runs as a process, which has its
own memory resources and is kept separate from other processes in the computer.
However, the process is divided into different units of work, called threads. These
threads have access to all the resources of the process in which they run and are the
actual "agents of work" within the process. For example, a word processor such
as Microsoft Word might have a thread that accepts typed input from the user and
displays it on the screen, another that handles any printing chores, and others that
constantly check spelling and grammar in the background as the user works. In
this example, the application Word is a single process with multiple threads. In a
multithreaded operating system, every process always has at least one thread.