(Continued from page 4)

or database design, some resources are used inefficiently or shared inequitably.

  • Adjust the resource's usage patterns.  If the machine is busy during the day but relatively idle at night, perhaps some of the processing could be rescheduled.
  • Offload the resource to another resource.  As an example, a cache uses the memory resource to reduce the utilization of I/O resources.
  • Tune the resource's parameters.  Sometimes a performance bottleneck is self-imposed because a resource is not configured properly for the workload.
  • Add additional resources.  If the resource is well-tuned and its usage is legitimate, then maybe all that is needed is more of the same (increased capacity).

The following changes were made at the client site to relieve the CPU bottleneck:

  • The number of servers was increased from two to four and the number of connected sessions was decreased from 175 to 100.  This reduced the number of users that could be impacted by a CPU-intensive query yet kept the overall session counts roughly the same.  The company was adding more users daily so the recommendation was made to add a new server for every 100 users.   (This recommendation does not apply to versions of Ingres that implement native operating system threads).
  • The quantum parameter was decreased from 1.0 to 0.1 seconds.  This reduced the amount of time that sessions had to wait for the CPU resource.  However, it did add

(Continued on page 6)

                                        previous.gif (4291 bytes)        next.gif (4461 bytes)