Wednesday, February 18, 2015

Top 5 Performance Improvement Tips for Web Applications on AWS Cloud


Most of us are using AWS Cloud for developing and deploying web applications with a huge concern on the performance. A good performance is critical to ensure better user experience because faster performance leads to more user engagement on your web applications.
Here are the top 5 simple tips for improving your web applications performance and scalability.
  1. Elastic Load Balancer Level SSL Termination Many web applications use SSL for securely transmitting information from browser to web servers. However, SSL requires multiple handshakes, content encryption/decryption for each request. So, it would put an additional load on your web servers. If your web application is using SSL and deployed on AWS cloud then we recommend you to terminate SSL at Elastic Load Balancer (ELB) layer instead of your web/application servers. This will reduce the CPU load on your web servers and improve application response times.
  2. Enable Compression For Static Resources - Whether you are serving static content like images, JS, CSS or JSON/text files via CloudFront CDN or web servers, it’s recommended to ensure that static content compression is enabled. With content compression on server side, the static file sizes will be reduced to improve the download performance and help you save on bandwidth costs as well.
  3. Enable Browser Caching Headers - Modern browsers support client side caching so web applications can cache static resources (header images, logos, style sheets, javascripts etc) on browser side without downloading them from servers on every request. We recommend you to enable caching headers for all your static content whether it’s served via CloudFront or backend web servers. With client side caching headers, your web application can use browser side caching and reduce the load on backend infrastructure to improve application performance.
  4. Leverage Browser Parallelism - Most of the modern web browsers can make 3 to 6 parallel connections to a particular domain at a given point. If your application uses many static resources like images, files, styles etc, then it’s recommended to use multiple domains like images1.myappdomain.com,images2.myappdomain.comstatic.myappdomain.com to parallelise browser download of resources. All these domain can point to the same backend infrastructure like CloudFront distribution or ELB but browsers will essentially make more parallel connections to fetch resources as you are using multiple domains aliases for static resources and make your web application load faster.
  5. Performance Review Your Web Application - You should use tools like YSlow, PageSpeed, DynaTrace etc to analyse your web application performance and implement the recommended best practices. Many web application optimisation techniques are easy to implement and will help you in achieving a better user experience.
You can do this and lot more with this SaaS product named Botmetric, you can get started with a 14-day free trial.

Any feedback, good or bad is most welcome.

Name

Email *

Message *