There is no "silver bullet" that optimizes the
performance of a UNIX system. Performance tuning is usually done in a panic without a
thorough understanding of what is going on.
There are any number of costly products in the
market place that say, "buy me". They are usually cumbersome and worthless
unless they are properly installed, configured and maintained. In fact, the overhead
involved in running the tool may be worse than the reason that you bought the tool in the
Here are some common sense guidelines to help you keep your system at peak performance:
- Be Realistic. Before you purchase a
system, write down the purpose of the system, the number of users, amount of expected disk
space to be used, the type of applications (client-server, database, web server), etc.
This serves as a baseline and helps provide justification when preparing recommendations
for upgrades to senior management.
- Good Systems Administration.
that is well maintained will typically show signs of pending problems before panic sets
in. Your system administrator must know your system. Many times, what appears to be a
performance problem on a UNIX system is really a problem somewhere else. If your network
is not properly configured and maintained, overall performance will degrade.
- Read the Manual. At least two weeks
before the planned installation of any package, have your system administrator read the
manual and plan the installation. Have him or her confer with the vendor's technical
support team to make sure that there are not any issues that would impact the
installation. Sometimes patches need to be installed or kernel parameters need to be
changed or the package is not certified to run on your system. The vendor's sales force is
not the most knowledgeable group in your vendor's company and your system administrator
knows better than anyone else what questions to ask, etc. Make sure that your system
administrator installs the software - not the vendor, not the DBA, not the developer.
Make sure that your system administrator has a written installation plan. The
written plan will keep the focus on what has to be done and when and will help identify
problems before they become unmanageable.
- Keep Patches Up to Date.
A lot of
performance problems have already been resolved for you by the system
manufacturer. All you have
to do is, on a scheduled basis, update your patches to the latest levels.
Set up schedule of installing patches in development, then test, then
production. Try to run through a full production cycle on the test
server before installing the patch on the production server. Before
installation, read the documentation for the patch. Sometimes there
may be special installation instructions or dependencies. Try to use
patches from the vendor that have been proven in the field. There may be a
problem with a very small routine deep within the kernel. No amount of memory or number of
CPUs will fix it. Besides, it is a lot more cost effective to keep up with the
patches on a scheduled basis.
- Monitor Metrics Consistently.
people's idea of performance monitoring is to take a single snapshot after the
event that caused the symptom and make a judgment based on that. UNIX performance metrics
are gathered at intervals. If an event occurs between intervals, your snapshot won't pick
it up. If you collect data on a routine basis and then review it, chances are that you
will see some abnormality. The system can collect metrics by using
sophisticated products HP's Measureware
products or BMC's Patrol or the generic sar utility.
- Monitor The Hardware. Monitor the
hardware status of your system. If you are getting a lot of memory errors or disk errors,
you have a problem that must be addressed. A system will usually try several times to read
data from a disk before aborting. These repeated attempts contribute to unnecessary
overhead. There are tools that help monitor systems. Some are
very expensive and some are home-grown. You can write scripts that can
do some monitoring and send you an email or page you via a basic modem and
- Don't Run Performance Tools.
performance data adds overhead to your system. Don't let anyone but the system
administrator run performance tools. There is no reason for the average user to run
"top" or "Glance" to see what is going on. Even with the information
provided by these tools, the user doesn't have all the information necessary to make an
informed decision. Also, these tools add substantial overhead to the system, impairing its
- Schedule Regular Downtime and Make It a Priority.
Every system needs to be rebooted on a regular basis. This reboot process will get rid
of all the fragmented memory, zombie processes, etc. Not all programs and software clean
up after themselves when they terminate. Having memory that is highly fragmented is like
having no memory at all.
The foregoing won't make your system fly as fast as a jet fighter but it will go a long
way toward providing exceptional performance all the time at a nominal cost in terms of
dollars and sanity.