Analyzing an application's performance problem is basically a case of identifying where the majority of the time for a particular task to complete is being spent, and measuring/comparing that time to what is normal and/or acceptable for that type of task.
Generally speaking, performance issues can be attributed to one of the following five areas, in order of decreasing likelihood:
Server processing time delay
Application turns delay
Network path latency
Bandwidth congestion
Data transport (TCP) issues
Client processing time is usually a relatively small component of overall response time—except perhaps for some compute-extensive desktop applications, which leaves the focus on the network and server environments and any performance-affecting application design characteristics.