Performance issues are important for the system
administrator. The system must be optimized to make it as effective as possible.
This chapter describes how to tune your system and what equipment to buy to obtain an optimized system. It also describes how to detect bottlenecks at both a software and a hardware level, and how the Windows Performance Monitor can help you.
The chapter contains the following sections:
· Checklist for Optimizing Hardware
· Selecting Hardware, Operating System and Protocols · Detecting Bottlenecks
6.1 C
HECKLIST FORO
PTIMIZINGH
ARDWAREThere are many factors that must be considered if you want to get the best performance out of your enterprise business solution. It is not possible to define a single optimal solution, because there are many individual requirements that have to be considered. The information in this chapter will help you assess your requirements, and select the appropriate hardware and software. Once you have established the network, you can optimize the system by tuning the various parameters described in the following sections.
The following table can be used as a checklist when you optimize your installation:
Item Recommendation You can read more about this on: Hard Disk As fast as possible page 131
Controller Fast, secure and battery backed, able to control several hard disks simultaneously
page 131
RAID RAID 1 is preferable page 133
Memory As much as possible, of ECC type or with parity
page 133
Network Adapter As fast as possible page 134
CPU As fast as possible page 134
6.2 S
ELECTINGH
ARDWARE, O
PERATINGS
YSTEM ANDP
ROTOCOLSWhen deciding what kind of network configuration to use, there are several points that are worth considering:
· Security level · Quality · Price
· Required performance level · Number of users
· The network’s ability to be expanded
The optimal network configuration is very dependent on individual requirements because it represents a balance of these criteria. Therefore, identify you network requirements before configuring it.
Choosing the Computers
In a multiuser solution, you can, in principle, use the same type of computer for both the clients and the server. There is a difference, however, in how much CPU power, memory (and memory type) and disk space each will need.
Computers for Clients and Single-User Installations
An important factor to consider is that, in a network, it is the client computers that process the data they retrieve from the database. Consequently, a slow client computer working on a transaction can delay all the other clients until it finishes because it locks certain parts of the database. Thus, it is important to buy powerful client computers with enough computing power not to slow down the network. The faster the computer, the faster the transactions will be processed.
Computers for Servers
The database is stored on the server, making it a critical area of the application since several users can access it at the same time. It is therefore important to select a powerful computer for the server. In addition, there are certain aspects of the server that require further consideration:
· The hard disk and controller · The RAID system
· The memory
· The network adapter · The CPU
The Hard Disk and Controller
The hard disk is the slowest component in a computer because it consists of mechanical parts. Access times to the hard disk are long compared to those to memory (normal access time to memory is less than 60 nanoseconds and access
time to a hard disk is faster than 10 milliseconds). All of the programs and information are stored on the hard disk, so data is continuously read from and written to the disk. Since there is only one read/write head in a hard disk, only one read or write operation can be carried out at a time.
By using more than one disk in your system, you can increase performance dramatically. You must, however, use a hard disk controller that supports control of more than one hard disk at a time without increasing access time to the disks. Furthermore, it is important for the controller to have a high transfer rate so data can travel quickly between the memory and the hard disk. The use of CPU per disk transfer must also be minimized. An example of a controller with these features is the Fast Wide SCSI 2 (Small Computer System Interface) controller.
. . .
WarningDo not use the write-back or lazy-write caching systems that are built into your hard disk controller unless the disk controller has a battery backup. Using a battery- supported hard disk controller will prevent loss of data that might otherwise result if the system suffered a power failure.
You should also be aware of the write-cache facility that most of today’s hard disks use. When you buy a hard disk, be sure that you can disable its write-cache (using software or a jumper on the disk). If a power failure occurs when data is still in this cache, you could lose the data.
It is also necessary to have some sort of error detection unit implemented to allow the controller to determine when a byte of data in the cache is corrupted – for example, from a single-bit error or a defective memory chip.
Furthermore, any errors that occur must be corrected, so some sort of correction scheme must be implemented in the controller. An ECC (Error Correction Code) RAM