by Jay Milne
Server Performance:
Benchmarking, Monitoring and Avoiding Bottlenecks
Common Tips and Tricks
If you have the luxury of being able to design a server from scratch, here are a few tips that will make sure that the server will be able to grow with your needs.
CPU
Choosing processor is an easier decision than determining how many to use. Currently, the Pentium Pro 200 MHz with 512 KB is the best performer in the Intel arsenal. You have your choice of single, dual, quad, six-way and eight-way and up. For most file and print services, a single CPU is more than adequate. If your CPU is constantly at 60 percent to 70 percent utilization, it might indicate the need for a bigger/faster CPU or more CPUs. But don't be worried if you periodically spike at 100% that your system is overloaded. CPU's don't wear out and you want your application to take full advantage of
the hardware underneath. If you are running a CPU-intensive application, such as a database with complex queries, or a messaging package, then a good option is a dual-processor system. The dual-processor systems offer a good combination of value and performance. You can get the dual processor system initially with one CPU and add on another as you need it, spreading the cost of the system over time. The quad (four way) servers are the current muscle machines, offering tremendous performance at a reasonable cost. But don't be misled into thinking that having a high powered system is all you need, since other components must be considered in equal light.
Disk
Often, the disk subsystem is the last thing considered. But the disk is what feeds the system with data. If the system can not read or write data because the disks subsystem is too busy, performance will suffer. Get as many spindles as possible if performances is critical. Also, try and get the disks with the fastest rotational rate and lowest seek time. But just because you bought the drives with the best specifications, you are not guaranteed the best performance. Other factors such as the firmware on the drives or the operating system level disk drivers also impact performance.
How much disk should you get? Estimate you current needs, double that and add 10% more. Why so much? Servers have a tendency to attract data and the cost and time to add more storage later on isn't worth it. (This may change somewhat with the new disk array subsystems on the market now that can be dynamically expanded without having to delete and recreate the logical drives.)
Peripheral adapters
Peripheral adapters allow the server to connect to the network and to other devices such as disks, CD-ROM's, and tape drives. But putting these adapters into your system without considering their impact can be a big mistake. Many of the newer servers provide two or three PCI buses and often either an EISA or ISA bus that is daisy changed off one o
f the PCI buses. There are two main designs of PCI implementation. The first is the bridged approach, where the first PCI bus is connect to a second PCI bus via a PCI bridge chip. The first PCI bus is then connected to the server. The second approach, and one that usually appears on higher-end servers, is the dual PCI bus--where both PCI buses are connected to the server directly.
Application Tuning
Application tuning is more of an art than exact science. If one were to write on how to tune your database or messaging application, it would be a very long book.
In a database application, memory is very important. Preventing the application from going to disk to retrieve information will maintain performance. With Microsoft's SQL Server 6.5, there is a memory setting that allocates memory to SQL Server in 2 KB blocks. By allocating as much as possible, you increase the chance of a cache hit. Each database has its own set of parameters and one mis-set setting will have an impact. We found in our testing that setting the SMP Concurrency to -1 for our dual SMP server allowed the database to utilize all of the processor. When set to 0, the default, the CPU remained "stuck" at 65%.
Server Performance
Benchmarking
Bottlenecks
Monitoring Tools
Updated May 21, 1997
Print This Page
E-mail this URL
|