Web Application Performance for Business Success

Preview:

Citation preview

Web Application Performance for

Business Success

How often have you come across web applications and websites that run so slowly it’s almost painful?

Speed/performance issues seem like small details, but they can result in the loss of a potential customer, and – with that – a loss for the business.

The faster the loading time, the better the conversion rate.

Evidence? Let’s take a look.

+ Dynatrace showed that when the page load time decreases from 8 to 2 seconds the conversion rate increases to 74%.

+ Amazon saw a 1% revenue increase for every 100-ms improvement.

What could be done to improve web application performance? There are several tools and methods available out there.Check out our dev’s selection.

+ To determine what’s working too slowly we can use a tool that everybody has – DevTools in Google Chrome.

+ The most important element for us is the Network panel, which records each network operation made on a page, including detailed timing data, HTTP request and response headers, cookies and more. DevTools

+ <200ms time to first byte,+ <500ms to render above

the fold content,+ <2000ms for a complete

page load

Here are some guidelines that define an efficient page:

The next step depends on what the problem is in our case. In general, there are two key areas for improvement:+ Time to First Byte+ Client-side performance

1) Time To First Byte (TTFB)

+ TTFB defines how much work a server needs to do. Retrieving a lot of data from the database or a dynamic generation of contents can increase response time.

+ If possible, we should use caching and minimize amount of tasks needed to be done on the server.

+ We need to check if our database server isn’t overloaded, check the SQL queries and indexes in database.

+ A good choice is to use additional noSQL databases to store key-value data (because they are faster than SQL queries).

+ If possible, we should also use cache to store static result for some time.

+ Hardware is important too. We need to be sure that our web server has enough resources (CPU, RAM) to handle the traffic.

+ Sometimes there’s a need to engage a load balancer and additional resources.

2) Client-side performance

+ It’s about minimizing the payload (image sizes, stylesheets and JS minification etc.) and the number of requests.

+ It’s important to minimize the blocking of Javascript code by moving JS parts to the end of the page source.

There are several tools that help to investigate the health of our web app or site.

+ When we have lot of images or static resources we can use CDN (Content Delivery Network) to improve timings. Images should be optimized to minimize the amount of bytes needed to be downloaded.

Tools

+ Google PageSpeed Insights

+ Yahoo! YSlow

It’s all about response time, but what if the website or application is down?

To prevent disaster, consider using a monitoring service that will periodically check website availability..

Some helpful tools:

+ Google Analytics, which measure website response time and publish a chart

+ Hyperspin or Uptime Robot to monitor and alert you if app becomes unreachable

+ New Relic to analyze your hardware resources.

In business, the importance of measuring is key.

It’s about picking the metrics that count, like customer satisfaction and performance.

authors: Jens-Antti Andersen & Filip Chmarzyński @espeo_software

ed. Natalia Brzozowska

VISIT OUR WEBSITE AND BLOGFOR MORE ON WEB APPLICATIONS!

www.espeo.eu

Espeo Software

180 Sansome Street (RocketSpace suites)

San Francisco, CA 94104

Recommended