IIS 7.0 and Your Hardware
Before you deploy IIS 7.0, you should
carefully plan the server architecture. As part of your planning, you need to
look closely at pre-installation requirements and the hardware you will use.
IIS 7.0 is no longer the simple solution for hosting Web sites that it once
was. It now provides the core infrastructure for hosting Web servers, Web
applications, and Windows SharePoint Services.
Guidelines for choosing hardware
for Internet servers are much different from those for choosing other types of
servers. A Web hosting provider might host multiple sites on the same computer
and might also have service level agreements that determine the level of
availability and performance required. On the other hand, a busy e-commerce
site might have a dedicated Web server or even multiple load-balanced servers.
Given that Internet servers are used in a wide variety of circumstances and
might be either shared or dedicated, here are some guidelines for choosing
server hardware:
Memory
The amount of random access memory (RAM) that's required depends on many
factors, including the requirements of other services, the size of frequently
accessed content files, and the RAM requirements of the Web applications. In
most installations, I recommend that you use at least 1 gigabyte (GB) of RAM.
High-volume servers should have a minimum of 2 to 4 GB of RAM. More
RAM will allow more files to be cached, reducing disk requests. For all IIS
installations, the operating system paging file size should at least equal the
amount of RAM on the server.
Note
Don't forget that as you add
physical memory, virtual paging to disk grows as well. With this in mind, you
might want to ensure that the Pagefile.sys file is on the appropriate disk
drive, one that has adequate space for the page file to grow, along with
providing optimal input/output (I/O) performance.
-
CPU
The CPU processes the instructions received by the computer. The clock speed of
the CPU and the size of the data bus determine how quickly information moves
among the CPU, RAM, and system buses. Static content, such as HTML and images,
place very little burden on the processor, and standard recommended
configurations should suffice. Faster clock speeds and multiple processors
increase the performance scalability of a Web server, particularly for sites
that rely on dynamic content. 32-bit versions of Windows run on Intel x86 or
compatible hardware. 64-bit versions of Windows run on the x64 family of
processors from AMD and Intel, including AMD64 and Intel Extended Memory 64
Technology (Intel EM64T). IIS provides solid benchmark performance on Intel
Xeon, AMD Opteron, and AMD Athlon processors. Any of these CPUs provide good
starting points for the typical IIS server. You can achieve significant
performance improvements with a large processor cache. Look closely at the L1,
L2, and L3 cache options available—a larger cache can yield much better
performance overall.
-
SMP
IIS supports symmetric multiprocessors (SMPs) and can use additional processors
to improve performance. If the system is running only IIS and doesn't handle
dynamic content or encryption, a single processor might suffice. You should
always use multiple processors if IIS is running alongside other services, such
as Microsoft SQL Server or Microsoft Exchange Server.
-
Disk drives
The amount of data storage capacity you need depends entirely on the size of
content files and the number of sites supported. You need enough disk space to
store all your data plus workspace, system files, and virtual memory. I/O
throughput is just as important as drive capacity. However, disk I/O is rarely
a bottleneck for Web sites on the public Internet—generally, bandwidth limits
throughput. High-bandwidth sites should consider hardware-based redundant array
of independent disks (RAID) solutions using copper or fiber channel–based small
computer system interface (SCSI) devices.
-
Data protection
Unless you can tolerate
hours of downtime, you should add protection against unexpected drive failures
by using RAID. Hardware RAID implementations are always preferred over software
RAID implementations. RAID 0 (disk striping without parity) offers optimal
read/write performance, but if a drive fails, IIS won't be able to continue
operation until the drive is replaced and its contents are restored from
backup. Because of this, RAID 0 isn't the recommended choice. RAID 1 (disk
mirroring) creates duplicate copies of data on separate physical drives,
allowing the server to remain operational when a drive fails, and even while
the RAID controller rebuilds a replacement drive in a failed mirror. RAID 5
(disk striping with parity) offers good protection against single-drive failure
but has poor write performance. Keep in mind that if you've configured
redundant load-balanced servers, you might not need RAID. With load balancing,
the additional servers might offer the necessary fault tolerance.
-
UPS Sudden
power loss and power spikes can seriously damage hardware. To prevent this, get
an uninterruptible power supply (UPS). A properly configured UPS system allows
the operating system to automatically shut down the server gracefully in the
event of a power outage, and it's also important in maintaining system
integrity when the server uses write-back caching controllers that do not have
on-board battery backups. Professional hosting providers often offer UPS
systems that can maintain power indefinitely during extended power outages.
If you follow these hardware guidelines,
you'll be well on your way to success with IIS.
|