Site Optimization Framework To Boost Your Website Performance Using AEM

DZone 's Guide to

Site Optimization Framework To Boost Your Website Performance Using AEM

Read on!

· Performance Zone ·
Free Resource

I often found that there are issues observed post-implementation due to not following the best practices recommended by Adobe.

What Causes Performance Issues

  1. Thread contention — long-running requests such as slow searches, write-heavy background jobs, moving of whole branches of site content, etc.
  2. High CPU utilization.
  3. Expensive requests such as expensive searches or inefficient application code, components, etc.
  4. Lack of proper maintenance.
  5. Insufficient dispatcher caching.
  6. Lack of CDN.
  7. Lack of browser caching.
  8. Too many scripts loaded on-page and loaded at top of the page.
  9. CSS loaded throughout the page instead of in the HTML head.
  10. Insufficient server sizing or incorrect architecture.
  11. Unoptimized taxonomy and DAM assets.

Solution — Site Optimization Framework shows how to boost your website performance.

site optimization framework

I came across an article the other day about website optimization performance technique and thought of sharing some of the interesting facts.

1. Let Others Eat the Junk (Do Not Enter Each Fast Food Restaurant You Come Across)

Cache the incoming requests via a Content Delivery Network (CDN) such as Akamai, Varnish and even a Dispatcher before the AEM environment can help to cache e.g. generating merged and minified Client Libraries for CSS and JavaScript.

2. Do Intensive Sports Regularly; Run Fast Until You Reach Your Limit

Use SSD discs for performant I/O and try to keep the Index in Memory. Leverage caching for repository intense operations that retrieve data, you can store the results and only update them via a listener on the affected nodes. If you are already on an Oak based implementation and search items using custom properties, remember to create Oak Index entries for them.

3. Do Not Argue or Make Excuses for Not Exercising in the Past but Instead, Use That Time for Sports!

Disable Versioning on replication if not needed. Also, disable the generation of audit entries if not needed. This will reduce the amount of I/O generated. We advise the editors to deliberately create a new version with a proper comment when they want to store a version.

4. Make No Excuses About Being Too Busy, Instead, Focus on the Most Important Stuff and Only That, so You Are Freed up for Sports

Keep your amount of Inbox entries low! Especially Granite TouchUI will not render when entries with more than 200.000 characters occur. Also, the retrieval of these entries, in general, is still in constant optimization so it is good practice to regularly go through them to reduce their number.

5. Lost Weight and Gained Power? Move on to the Next Level!

Optimize Java VM settings regarding Garbage Collection and Heap sizing regularly. Each release should have required load tests that are compared with the previous version. Monitor and check GC Logs and see how these compare over versions. In case a lot of Garbage Collection events occur, it is crucial to take heap dumps and analyze them. Leverage the power of profilers to learn about bottlenecks in your implementation.

Reference links-



Further Reading

Tips for Optimizing Your Site for Multiple Browsers and Devices

Web Performance Optimization: Top 3 Performance Tips

Using Image Processing in Website Load Optimization - Automatically Generate CSS Sprites

adobe aem ,cdn optimization ,image optimization ,page performance ,page speed checker ,performance ,site optimization

Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}