Troubleshooting performance problems

Often, performance problems are a combination of several factors. Use the application profiling feature to determine whether performance problems are the result such things as:

  • long processing times by the application
  • poor query plans
  • contention for shared hardware resources such as CPU or disk I/O
  • contention for database objects
  • suboptimal database design

The first task in a performance troubleshooting scenario is to determine whether the application or the database server is the primary cause of any observed slowdown. If the time that the application client spends processing data it receives accounts for most of the total run time, the database server may be idle much of the time relative to the application. This can be detected by looking at the Details tab in the application profiling tool (choose to filter the results by a single connection). Observe whether there are large gaps of time between different requests from that connection. If so, then the primary delay is within the application client itself.

If the database server accounts for the majority of the slowdown, the next step is to identify the specific cause of the slowdown.

See also