NOTE: This is currently just a few quick notes while I try to solve a performance problem on a server. This may or may not ever get finished.
Having searched the internet for some simple tips and tricks on performance tuning, and coming up with 0 (so far), I thought I’d start to write my own archive of the gems of knowledge I was picking up. These range from the tools that you need to work out where performance is lacking, as well as other ideas on what can be “tuned” for the good (without impacting on other parts of the system).
The most well-known measure of how well your system is performing is called “load”. This can be viewed using “uptime” or by using “top”. A load of less than one is what is normally quoted as “good”. What precisely this measure is of, I don’t yet know (I will, obviously, update this as time goes by)
In your arsenal of fighting high load, take a look at these tools:
This handy tool lists a lot of perfomance information in the top half of the screen, ranging from iowait to system load. It also shows the processess that are mostly using these resources. This is a great help in tracking down which process is causing your high load
This is part of the sysstat package. Sar (providing the cron job for recording the information is set up, see the sar website for more details) give you percentage usage of various details over time. This might help you track down random high loads to at least a time-frame.
This allows you to see which drivers are getting the most read and write accessess. This might point you to a slow drive, or slow raid array that might need some tuning.
give a quick output summary of stats of the machine. Helpful if you don’t want to keep top running
the most useful form (that I’ve found) is hdparam -Tt /dev/hda this will give you a read and write performance measure of your hard-drive.
virtual memory statistics, mostly looking at swap and memory usage.
Useful Converstion Website
Useful Network Tuning Website
Linux Performance Tuning Form Post
If you have been searching for linux performance tuning information, this is probably the one website you will have found. It’s posted here, though it doesn’t really have much information on it. http://www.linuxforums.org/desktop/linux_performance_tuning.html
Postgres Tuning (including explenation of the kernel.sh* values)
A nice introduction to Performance Tuning, and problem solving