» Back to table of contents

measuring system performance

Once the system is running with a full load, check the system activity for signs of trouble. This can be done by using sar (system activity reporter).

With the maximum number of users actively using the system, run this command:
$ sar -o sarfile 5 60

This takes 60 samples, each one five seconds apart (for a total of five minutes), saving the binary output to sarfile. sar puts very little load on the system, so taking these samples is not disruptive for the users. sar prints the CPU utilization at each sample, while saving the system data in sarfile.

After sar has collected the data, produce a report using the command:
$ sar -Af sarfile>sar.report

sar reads the binary sarfile and creates a sar.report file. Option -A means all.

You may want to collect system statistics to help in tuning the kernel configuration parameters for optimal performance. Run a script once during peak system usage, and once during medium usage of the system.

Run the script while there are active users on the system. The script should collect system statistics for several minutes. Ideally, the users would be running the same programs that comprise their normal daily activity.

To analyze system performance, review the listing of the final report.

For more details about kernel parameters, see the appendix System Parameters, in the HP manual System Administration Tasks

interpreting the performance report

Examine sar.report, looking for the following signs of trouble. Check the report in the following order, because some symptoms mask others. For example, a system that is memory bound will have excessive disk activity due to swapping, but the solution is not to adjust the disks. Once you have a diagnosis, do not proceed to the next step in the process. For example, fix a memory bound system by adding memory, then make a new sar run to check for other performance problems.

  1. If swpot/s (swapouts per second) is frequently greater than one, the system is memory bound. If swpocc (percent swap queue is occupied) is greater than five, the system is memory bound. In either case, add more memory to the system.

  2. If %rcache is frequently less than 90 or %wcache is frequently less than 65, the buffer cache is too small. Increase the value of the kernel's bufpages parameter and generate a new kernel.

  3. If %busy is greater than 50 for any disk, that disk has become a bottleneck. (Another way to identify a disk bottleneck is to use "avque >= 2".) Move one or more files or file systems from that disk to a lesser used disk or to a new disk. See the Disk Bottleneck Due to a Single Hot File section in this chapter.

  4. If %idle is frequently equal to zero, or if runq-sz (runqueue size) is frequently high (eight or more), the system is CPU bound. If system throughput is less than desired, upgrade to a faster processor or reduce computational load on the system.

  5. Check the capacity of the system tables for processes, inode cache, and file descriptors. These are labeled proc-sz, inod-sz, and file-sz. If the current utilization is too close to the maximum available, increase the corresponding HP-UX kernel parameter (nproc, ninode, or nfile). When increasing nfile, increase nflocks proportionally.

additional notes
  • You can determine if you are swapping by using glance (refer to the man page on glance for information). Memory utilization is one of the dynamically updated bar graphs at the top of the main screen.

  • Increasing the size of the buffer cache takes memory away from the pool of free memory, so be sure that you do not force the system to start swapping or paging. Thus, increasing the size of the buffer cache may require installing more memory on the system.

  • You can reduce computational load on the system by changing some operational procedures (such as doing backups at night) or tuning the application to make it more efficient. Profile the application software using -eprof to look for performance bottlenecks

using vmstat

The vmstat utility gives you statistics on virtual memory utilization. The po field indicates the number of pages paged out in the last interval. It is reasonable to set a five second interval, using the command vmstat 5. Watch this display for a few minutes. If po is consistently non-zero, you could have a problem with memory pressure. Add memory, or decrease the size and/or number of applications or users.

using netstat Use netstat to look at socket connections when running your application.
Example: netstat -d tcp

» Please let us know additional information you'd like to see in the programmer's guide.

Java™ and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. Hewlett-Packard is independent of Sun Microsystems, Inc.