Linux Performance Tuning
I deal with Red Hat EL 3&4 Linux.
Does anyone have any good ideas on tuning my servers for optimum performance? eg1: How to resolve High I/O issues, how do I identify the culprits? eg2: CPU Bound performance issues - how to diagnose them? eg3: How to resolve Memory bound performance issues? eg4: How to resolve Network bound performance issues? |
Just another note:
We run IBM xSeries and Dell servers both running on intel CPU's |
With RHEL you should have "sysstat" - look into that. Not much you can do about 1), but the rest is just a matter of looking at the data.
|
Here ya go: http://www.redhat.com/magazine/011sep05/features/tools/ :)
|
sysstat, iostat, vmstat, top, hdparm, sdparm, tune2fs, readprofile, oprofile... are all important tools for monitoring and tuning systems.
Theres a commercial host monitoring product that graphs alot of this stuff for you with 1HZ sample rates @ muldex.net. I prefer something like this since I don't have to login and run commandline-based inefficient stats collectors while the server is in production and already stressed... I also tend to not be watching programs like iostat or vmstat when performance issues happen, rather someone complains via email the next day. Archiving the statistics continuously and looking at graphs after the fact is alot more flexible. There are free tools out there that do similar things (nagios and zabbix come to mind) but I havent seen anything as efficient while providing a high sample rate, and it takes just a few minutes to get setup. |
and you can tweak /etc/security/limits.conf with CPU, Processes, Open Files etc.. limits so your apps and users don't bring down the server
|
Don't forget collectl
see - http://collectl.sourceforge.net/ and it also addresses many of the comments pengaru made.
It can monitor many of the different types of data that the listed tools can do and do it in one tool. It's lightweight (<.1% cpu load) and so you can keep it running all the time and if you're not watching the terminal when a problem occurs, no problem - you can play the data back for the time frame you're interested from the logs it collects. And finally, if you're into graphs, collectl can generate output in a form easily plotted by gnuplot or loadable into a spreadsheet that supports plotting. -mark |
All times are GMT -5. The time now is 12:53 PM. |