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 view 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.