|
When I evaluate
what might be done to maximize the performance of a computer system,
whether that be a system already in use or one I might be specifying for
order (i.e., specifying the hardware with a particular level of
performance in mind for the intended application) I look at several key
factors.
The most critical factor is how much system
RAM is available (if you are ordering a new system then you can also
order faster RAM and be cognizant of addressing issues). I will state
flatly that, all factors being equal, the more RAM available, the faster
your computer system will operate. In the same vein, if you want to
make full use of that system RAM, get an external graphics card with its
own RAM so you don't force your system to share RAM with the video
display. If you are specifying a new computer, get the fastest FSB
(front side bus) speed you can afford with the microprocessor and then
match the RAM bus speed to take advantage of that high bus speed. Don't
let a computer maker fool you with a low system price while handing off
old slow RAM to you when the motherboard and processor would support
faster bus speed RAM. New systems will always use DDR RAM, so that
should not be a consideration (and older systems will not be able to use
it).
Don't be confused by discussions of virtual
memory and page files. If you have a large amount of RAM (1 GB or more
with Windows XP-3 or 4 GB with Vista, the OS memory hog of all time),
your system will rarely need to page out process memory onto the hard
drive paging file. You can check that in Task Manager (hit CTRL SHIFT
ESC or CTRL ALT DEL or right click the Task Bar and select Task Manager)
by looking at the Performance tab and the Physical Memory Total in
conjunction with the Commit Charge. The Physical Memory Total is the
amount of RAM you have in your system. The Commit Charge is the total
memory allocated to programs and the operating system. If the Commit
Charge (Total or Peak) doesn't exceed the amount of RAM, then the hard
drive pagefile is rarely if ever being used and your system should be
running at full RAM speed without hard drive performance issues (except
when loading the OS and starting an application, etc.).
You can also use Performance Monitor (Start,
Administrative Tools, Performance) and look at the Memory, Pages
Output/Sec parameter. Even if the amount of committed memory exceeds
available RAM, if the actual Pages Output/ Sec is low or zero most of
the time (quoting Microsoft) there is no significant performance problem
related to available RAM. I doubt there would be any reason for the
typical home user to require a 64 bit computer in order to utilize
sufficient RAM.
The second most critical factor is the
performance of the hard drive, i.e., the amount of utilization of your
hard drive (present or anticipated for the application), the speed at
which the drive platters rotate, and the speed of the interface to your
hard drive. You never want to reach 50% of capacity of your hard drive.
The more data you have on a hard drive the farther the disk drive
read/write head has to move inward on the spinning platter to get to the
data (on the average). This increases the seek time, the time required
for the read/write head to position itself over the desired concentric
data track on the spinning disk platter. So, use a hard drive with
sufficient storage that you do not exceed 40% or so of the storage
capacity (high performance server hard drives often are destroked or
short stroked, i.e., limited to 40% or less so as to keep the data on
the outer edge of the platters where it can be quickly reached).
|
Once the
read/write head reaches a track then the rotational speed of the platter
comes into play, introducing latency, the time required for the desired
sector of the track to rotate into position beneath the head. How do
you reduce latency? Get a hard drive that spins as fast as you can
afford. Most desktop hard drives now spin at 7200 RPM (don't let them
slip you a 5400 RPM drive on your desktop or your laptop!). If your
drive has a slower RPM, you can increase performance by purchasing a
7200 RPM drive. Note that high performance server drives spin at 10,000
and 15,000 RPM, but those drives are expensive.
If you are evaluating a replacement drive (or
specifying the hard drive in a new system), look at the access time
parameter for the drive. This will generally be around 11 milliseconds
for 7200 RPM desktop PC ATA/SATA drives. The access time will include
seek time and rotational latency. As for the type of interface, ATA
drives (which peaked at around 133 MB/sec interface performance, setting
aside internal data rate of around 60 MB/s and PCI bus rate
considerations) are no longer offered, so you will see SATA (serial ATA)
drives in a new computer. I wouldn't bother attempting to replace an
ATA drive in an old PC with a SATA drive. You would need a SATA
controller card as well as SATA drive and you might as well just
purchase a new computer.
The current SATA interface rate is 3 Gbps (the
initial SATA interface was 1.5 Gbps), i.e., 3 gigabits per second. That
translates to approximately 300 MB/sec. However, the actual rate that
the read head can read the data off the spinning platter of the drive is
closer to 100 MB/sec (the internal data rate). You therefore can
benefit by having a drive with a large cache memory, where a large
amount of data has been read internally by the hard drive before the
interface is accessed, at which time the interface can burst perform at
the full interface speed of 3 Gbps/300 MB/sec. I note that even the
expensive server grade SCSI and SAS drives have about that same external
interface transfer rate, i.e., 300 - 320 MB/sec, so their increased
performance is coming directly from the high rotational speeds (10 - 15
K) and fast seeks, giving access times of 3 - 5 ms vs. 11 ms or so for
desktop SATA drives. Defragmenting your drive regularly will help keep
the drive operating at peak efficiency.
A less critical factor is the speed of the
microprocessor itself (FSB considerations aside as they relate to RAM
access speed). A faster microprocessor or a dual or quad core processor
will allow applications, their processes and threads to execute faster
(to actually run the microprocessor instructions of which a program is
composed) once the instructions and data reach the microprocessor.
So, if you have processing intensive
applications like video or music (studio) production and editing (or
scientific number crunching), faster and more core processors will speed
things up considerably, but only if you have plenty of RAM and a high
performance hard drive.
This article has been obtained from APCUG
with the author's permission for publication by APCUG member groups; all
other uses require the permission of the author (see e-mail address
above).
|