What Can Cause an Application to Run Slowly?

Problem scenario
You support an existing application and its servers. It is experiencing slowness as the users are complaining about its performance. What are some potential root causes of this slowness?

Possible Solutions

  • The slowness is caused by the client. A user's workstation has something wrong with it (e.g., malware, or it is trying to run too many applications at once).
  • Network congestion between the client and the server.
  • The server's disk IO activity, CPU activity or RAM utilization is too high.
  • Overloaded application; there is a spike in application's demand (e.g., a temporal business reason is causing the application to be heavily utilized beyond normal conditions). Scaling horizontally with load balancers could help remedy this.
  • There is a DNS configuration issue. DNS cacheing and or new misconfigurations can cause an application to be slow.
  • A change to a load balancer (e.g., HAProxy, an F5 load balancer or an AWS application load balancer) introduced a misconfiguration which is potentially causing the slowness.
  • There could be a denial of service attack. Malware or hackers could be the culprit.
  • If the server was moved, there may be a lack of caching. Some web server accelerators could have been the basis of a highly performant server. A sever being in a new geographic location could put it in a suboptimal region for the users.
  • A relevant database tier could have a backup routine, stored procedure or other maintenance job could be running. Was there an email about an outage? Poorly crafted SQL statements can cause problems. For tips on tuning a relational database, see this posting.
  • Check the logs of the application and other components. There may be something obvious.

Leave a comment

Your email address will not be published. Required fields are marked *