After reading AEM documentation about how to do performance optimization that I came to know 5 simplest rules you should follow when you are doing AEM projects.
Let me explain in simple ways.
1. Planning for Optimization
Once you are "live", performance optimization is not over. This is the point in time when you experience the "real" load on your system. It is important to plan for additional adjustments after the launch.
The actual performance optimization requirements will depend on the level of complexity of a project and the experience of the development team.
2. Simulate Reality
How much effort you will reasonably want to invest into getting "real" depends on the nature of your project. "Real" means not just "real code" and "real traffic", but also "real content", especially regarding content size and structure.
3. Establish Solid Goals
Establishing good, solid performance goals is really one of the trickiest areas. It is often best to collect real life logs and benchmarks from a comparable website.
4. Stay Relevant
It is important to optimize one bottleneck at a time. If you try to do things in parallel without validating the impact of the one optimization, you will lose track of which optimization measure actually helped.
5. Agile Iteration Cycles
The developer implementing the optimization should have a quick way to tell if the optimization has already reached the goal. This is valuable information, because when the goal is reached, optimization is over.
Your best friends during a usual performance optimization exercise are:
a) the request.log
b) component based timing
c) last but not least a java profiler.
- Planning for Optimization
- Simulate Reality
- Establish Solid Goals
- Stay Relevant
- Agile Iteration Cycles
Let me explain in simple ways.
1. Planning for Optimization
Once you are "live", performance optimization is not over. This is the point in time when you experience the "real" load on your system. It is important to plan for additional adjustments after the launch.
The actual performance optimization requirements will depend on the level of complexity of a project and the experience of the development team.
2. Simulate Reality
How much effort you will reasonably want to invest into getting "real" depends on the nature of your project. "Real" means not just "real code" and "real traffic", but also "real content", especially regarding content size and structure.
3. Establish Solid Goals
Establishing good, solid performance goals is really one of the trickiest areas. It is often best to collect real life logs and benchmarks from a comparable website.
4. Stay Relevant
It is important to optimize one bottleneck at a time. If you try to do things in parallel without validating the impact of the one optimization, you will lose track of which optimization measure actually helped.
5. Agile Iteration Cycles
The developer implementing the optimization should have a quick way to tell if the optimization has already reached the goal. This is valuable information, because when the goal is reached, optimization is over.
Your best friends during a usual performance optimization exercise are:
a) the request.log
b) component based timing
c) last but not least a java profiler.