According to surveys done by Akamai and Gomez.com, nearly half of web users expect a site to load in 2 seconds or less, and they tend to abandon a site that isn’t loaded within 3 seconds.
79% of web shoppers who have trouble with web site performance say they won’t return to the site to buy again and around 44% of them would tell a friend if they had a poor experience shopping online.
If your website is slow and your user’s abandonment rate is high, we have gathered 9 common reasons that might be causing performance bottlenecks.
External Network latency
Network latency is the time it takes from a source sending a packet to the destination receiving it.
You can measure latency by launching a command prompt and typing in Ping followed by the domain, or IP address you wish to test.
When your browser requests a web page, the time it takes for the request to reach the edge of the website’s network, usually the Load Balancer, is your external network latency.
DNS resolver performance
Domain Name System (DNS) servers translate domain names to IP addresses.
DNS entries are usually cached on multiple servers for a period of time determined partially by the TTL (Time To Iive) setting in the domain’s zone file.
If your domain is using slow DNS servers, or using a TTL that is too short, resolving the domain might take longer.
Internal network latency
Internal network include the network between the Load Balancers and the application servers.
Application that is too “chatty” can cause the internal network to become busy and increase its latency.
Load Balancer performance
Load Balancers balance traffic between different application servers and play a big role in the overall performance of your website.
Load Balancers can also encrypt and compress traffic, which might overload their processing power.
Application / Database server performance
This is biggest factor in overall page speed. How fast is your application?
Inverted Software can help fine tune your code and eliminate any bottlenecks.
HTTP server performance
HTTP servers are responsible for all of your static files such as stylesheets, scripts and images.
Static files are usually bundled together to minimize network calls and minified.
Minification is the process of removing all unnecessary characters from the source code.
Many applications use CDNs (Content delivery Networks) to insure static content is served from the geographically closest data center, minimizing network latency.
HTML loading time
HTML loading time is the time it takes your browser to download your page’s HTML using the HTTP/S protocol and load it into the DOM (Document Object Model) The Dom is an in memory tree like structure that contains all of your page’s HTML elements.
Resources loading time
Similar to the HTML your static and external files are loaded into the browser in separate parallel calls.
Each browser can perform a small number of parallel calls, so bundling your resources together insure they are loaded in one network request.
The browser’s rendering engine will start parsing the HTML document and convert elements to DOM nodes in a tree called the “content tree”.
The engine parses the styles in both external CSS files and in style elements.
Styling information together with visual instructions in the HTML will be used to create another tree: the render tree.
After the construction of the render tree it goes through a “layout” process, giving each node the exact coordinates where it should appear on the screen.
The render tree will then be traversed and each node will be painted using the UI backend layer.
When this process is done, your page is ready to be viewed and interacted with.
The key to solving performance issues is measuring the bottlenecks, applying fixes and measuring again.
We will publish a list of some of our favorite performance troubleshooting tools at a later post.
Need troubleshooting for your application?
Contact us and let us know how we can help.