Recently one of our customers reported application is slow. Initially it was tough to figure the reason for slowness. Only on quizzing the user we realized that the issue was not faced by the regular users but by one of the user’s contacts in U.S during a demo. This critical point was completely ignored by the user when reporting the issue.
The above critical piece of info helped pinpoint the issue immediately. The application is media heavy with streaming and the servers are hosted in AWS Singapore. The users in US will face higher response times than someone based in Bangalore due to the network delays(latency).
2.Is the server configuration not good enough?
Finding the root cause can be a complex and time consuming task. But with cloud computing it is very easy to check if the issue is related to server configuration. With few clicks you can upgrade the server and observe the performance for couple of days. If the issue is not due to server then you can easily revert back to the old configuration.
3.Is it the web server or database ?
Though webserver’s (e.g Apache , nginx,etc) and database default parameter settings are optimised and work well for typical scenarios sometimes they have to be tweaked to suit a specific environment. There are many tools available to monitor and provide data points that can be used to tweak the parameters(e.g number of threads, buffers , slow queries ,etc).
If the issue is still not getting resolved then the next step should help out.
4.Is it the application ?
Last but not the least. Sometime there can be bottlenecks in the application architecture that is causing performance issues.
For one of our customers the performance issue was due to the application architecture wherein the same DB was being used to store transactions as well as user access logs. This led to contention in accessing tables/records which in turn led to performance degradation. So don’t assume app is not the bottle neck. For all you know the issue may reside there.