||Analyze Request Flow
You can use standard HTTP request analysis in the browser to analyze the request flow. For more info on how to do this on Chrome, see:
||Are requests coming from external hosts?
||You can use standard HTTP request analysis in the browser to analyze the request flow. See the above links on how to do this on Chrome.
||Can the requests be cached?
||For more information on cacheable requests and general Dispatcher performance optimization advice, see
Dispatcher Performance Optimization
||Are requests coming from the Dispatcher?
||Is the Dispatcher trying to authenticate each request via AEM?
||Check if the dispatcher sends
requests to AEM for authentication before delivering the cached resource. You can do this by looking for
requests in the AEM
. For more information, see
||Is the geographic location of the Dispatcher far away from the users?
||Move the Dispatcher closer to the users.
||Is the network layer of the Dispatcher OK?
|| Investigate the network layer for saturation and latency issues.
||Is the slowness reproducible with a local instance?
to replicate "real world" conditions from the production instances. If this is not realistic for the slace of your development, make sure to test the production instance (or an identical staging one) in a different network context.
||Is the geographical location of the server far away from the users?
||Move the server closer to the users.
|Steps 10 and 29
||Investigate network layer
Investigate the network layer for saturation and latency issues.
For the author tier, it is recommended that the latency does not surpass 100 milliseconds.
For more information on performance optimization tips, see
||Move server closer or add one per region
||Troubleshoot AEM server
||Check the following sub steps in the diagram for more information.
||Check hardware requirements
||Check the documentation on
Hardware Sizing Guidelines
||Check for frequent causes of performance issues
||Find slow requests
You can check for slow requests by analysing the
or by using
For more information about using rlog.jar, see this page.
||Find slow methods in profiling
||Common scenarios of profiling
Analyzing Specific Scenarios
in the Performance Optimization section.
||Out of memory
- Out Of Memory
- My application throws out-of-memory errors
- Analyze Memory Problems on Helpx.
section in the Monitoring and Maintaining documentation.
|Steps 22 and 22.1
Calculating the Dispatcher Cache Ratio
||Best Practices for Queries and Indexing
- Assets Synchronization Service
- Multiple DAM Instances
- Performance tuning tips articles
||Move dispatcher closer (add one per "region"?)
||Use CDN in front of dispatcher
||Using Dispatcher with a CDN
||Use session management at the dispatcher level to offload AEM server
||Make requests cacheable
- General Dispatcher Configuration
- Configuring the Dispatcher Cache
How to improve cache ratio; make requests cache-able (Dispatcher best practices)
Also, take into consideration the below settings in order to optimize your caching configurations
- Set a no-cache rule for HTTP requesrst that are not GET
- Configure query strings to not be cacheable
- Do not cache URLs with missing extensions
- Cache authentication headers (possible since Dispatcher version 4.1.10)
||Upgrade dispatcher version
You can download the latest Dispatcher version at this location:
||Configuring the Dispatcher
||Check cache invalidation
|Steps 37 and 38
||See the Gem Session on AEM Web Performance.
||Use pre-connect to reduce connection overhead
||See the Gem Session indicated above. Also, additional documentation preconnect on W3c:
|Steps 40 and 41
||External hosts latency and response time
||Investigate the latency and response time for the external hosts.
||See the Gem Session for steps 37,38 and 39. Also, check out
forum post on HTTP/2 support.
||Shrink payload size
shrink the image size
|Steps 42 and 43
header present in the different requests to re-use connections? Otherwise, it would mean that each requests leads to another connection establishment, which introduces unnecessary overhead. (Standard HTTP request analysis in the browser)
||How many requests are made?
||Perform standard HTTP request analysis in the browser.
||Reduce number of requests
- Concatenate resources (images, CSS sprites, JSON, etc.)
- Clientlibs embedding:
- Creating Client Library Folders
- see heading Using embedding to minimize requests
||What is the size of the payload?
||Standard HTTP request analysis in the browser
|Steps 50 and 51
||JS code blocking