Server (computer)

From Citizendium
Revision as of 09:39, 22 February 2007 by imported>ZachPruckowski
Jump to navigation Jump to search

A server is a computer that is used to "serve" content to other computers. There are many types of servers, including file servers, web servers, and database servers. A server responds to the requests of a client. The client communicates with a server by using a protocol to request and receive information.

A server can consist of any sort of computer, from an personal computer to a multi-thousand dollar server. A server is primarily defined by its function and software rather than any particular hardware.

Components

The primary components of a server are similar to the primary components of a personal computer or most other computers. However, a server is generally designed to do a single task as efficiently as possible, whereas most other computers are designed to be general-purpose.

Servers often try to use redundant components. In high-end servers, it is not uncommon to find redundant power-supplies or other components that are not normally redundant in personal computers or workstations.

Each server function uses hardware differently. For instance, a file server often does not need as powerful a processor as a database server.

Processor

For more information, see: Central processing unit.

Unlike personal computers, many servers use more than one socket. This means that servers often use multiprocessor-enabled processors like Intel Xeons and AMD Opterons. Servers can use as few as 1 and as many as 16 sockets (generally in multiples of 2). As the number of sockets increase, bandwidth becomes a crucial factor as several processors need to communicate with the RAM, the peripherals, and each other. Hypertransport is extremely useful in multi-socket configurations to deal with bandwidth problems, and is supported in PowerPC and AMD chips.

Hard Drives

For more information, see: Hard disk.

Hard drives are important in servers, because they store the content that the servers provide. In addition to storage capacity, hard drive speed and reliability play a large role in servers. Hard drive bandwidth, as measured in MB/s is a crucial benchmark, especially for web servers or database servers. Additionally, servers which require random hard drive reads/writes (as opposed to sequential reads/writes) are heavily dependent on speed as measured in RPMs.

Servers using external storage make use of Fibre Channel, eSATA, or network storage.

Servers frequently make use of RAIDs to achieve maximum performance or reliability.

Memory

For more information, see: Primary storage.

Servers often favor higher memory bandwidth to memory latency, and as a result use technologies like quad-channel RAM and Fully-Buffered DIMMs. Additionally, servers using 64-bit CPUs often have large RAM capacities, up to 64 GB. Servers often use RAM to cache content they serve, since has a much lower access latency than hard drives.

Networking

A server's primary role is providing content, and thus networking is essential. Most servers have two to four gigabit Ethernet ports, and the highest-end servers have one or more 10-gigabit ports. Multiple ports are used both for redundancy, and to allow the servers to link directly to each other as well as to the rest of the network.

Form Factors

Servers can come in all different shapes and sizes, but most servers fall into three categories.

Tower

Rackmount

Blade

Functions

Webserver

For more information, see: webserver.


Database Server

A database server stores and provides access to a relational database for use by another program, which may or may not be located on the server. For instance, a database server might handle requests for information from a webserver, or might provide information to a business application. Database servers commonly use SQL-based databases such as PostgreSQL, MySQL, or Microsoft SQL Server.

File Server

A file server stores and provides access to files to other computers. This is critical in an environment when multiple people need to access a large pool of files (such as in a business). File servers use a variety of protocols, including SMB, CIFS, AFP, NFS, and others.

Network Services Server