To diagnose a slow application, you’ve got to start with knowing something about how the application functions.
What protocols does it use (UDP or TCP)? What are the packet flows like (small, equally spaced packet flows like in VoIP or big encrypted data packets)? Does the application need real-time performance (again, like VoIP and video) or does it need to move a lot of data? Is QoS required? Do other applications run on the endpoints, competing for bandwidth, CPU, memory, and disk I/O? Where are the endpoints and what is the path between them? What is the application’s server architecture?
We should start by dividing the problems into groups:
- Client-side processing -- things that happen on the client endpoint
- Network transport -- factors that impact applications on the network
- Server-side architecture -- application architecture and implementation factors
- Multifunction interactions -- interactions between multiple groups that degrade applications
In this part, we’ll examine the first two groups. The second part will cover the final two groups.
Read the complete article here: