UsMan's WoRkSpAce

Tuesday, May 30, 2006

Static performance tuning for Unix/Linux

Dynamic performance tuning is performed when a system shows signs of degradation under stress or load. Static performance tuning is done regardless of the load on the server. It serves to address issues different from those caused by high CPU, disk or network utilization. Static tuning is about health of system configuration and architecture.

Name service problems can show in the form of hanging logins for telnet, ftp etc services, slow connections for mail and related services and browser and new windows hanging. Both NIS+ and DNS support hierarchical namespace, while NIS has a flat structure. NIS+ may not have more than five replicas. Recursive groups should be avoided. NIS_PATH variable should be simple. Domain names should be simple (not many subdomains) in /etc/resolv.conf. It may be useful to disable name server cache daemon (nscd) for troubleshooting name service problems.

Avoid NFS nested mounting, particularly if they are from different servers.

Networks wise, fewer hops from client to server are better. Response times in a few milliseconds are usually WAN links. Traceroute can be used for ordering of name servers at client end. Solaris brings up all interfaces mentioned in /etc/hostname.* entries, so avoid disable interfaces. netstat -i shows input and output error rates. Output errors usually are due to faulty hardware or cables. Output error rate should be 0 or less than 0.25%.

Fault resiliency may mask hardware failures. For SUN Enterprise Servers, system will attempt to reboot after disabling failed CPU as part of Automatic System Recovery (ASR). Sun management console and configuration service tracker can be used for hardware status monitoring. Modern disks fault repair mechanisms can also affect performance in the long run. iostat -E shows disk errors. Negotiated transfer speed for SCSI devices can be shown by prtconf -v command. SCSI options can be disabled by using scsi-options parameter in /etc/system file. Browse the file /usr/include/sys/scsi/conf/autoconf.h to understand scsi options.

Finally patches may be released to improve existing performance. Search SunSolve patch database by the keyword 'performance' or 'slow' to find performance patches.

0 Comments:

Post a Comment

<< Home