SlideShare a Scribd company logo
1 of 42
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
ADOBE
CUSTOMER
BROWN
BAG
SERIES
Andrew Khoury & Sham Hassan Chikkegowda
Customer Support Engineers, Adobe
For the best listening experience, we recommend using a
headset
TODAY’S TOPIC: AEM Monitoring and Maintenance
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What’s Covered
1. Best practices for maintaining AEM instances.
2. Tips and tricks for proactive things to monitor.
3. Tips and tricks for reducing downtime when instances are corrupted.
4. Common pitfalls to avoid.
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Topics covered
 Replication
DataStore Garbage Collection
Tar PM Optimization
Workflow



© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
Optimizing replication
Replication Tuning and
Monitoring
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Monitoring Replication
• Replication can be monitored using JMX
• Each agent exposes an object
• The objects expose:
- If the agent is enabled
- If the queue is blocked, paused or invalid
- The number of entries in the queue
- Timing information
5
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Configure a replication.log
6
Why?
• Keeps error.log from getting bloated
• Isolates replication errors and warnings
How?
• Add an Apache Sling Logging Logger:
- Log File: logs/replication.log
- Log Level: Info
- Logger: com.day.cq.replication
• Add an Apache Sling Logging Writer (for log rotation)
- Log File: logs/replication.log
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
Replication monitoring via
JMX And Log ConfigurationDEMONSTRATION
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Replication: Initializing and Queuing
8
User activates
/content/geometrixx-outdoors/en/support
Durbo
package
/var/replication/data
Content is packaged
OSGi
event
is fired
Replication
AgentManager
handles the event
Sling Job Handler
queues/stores the job
slingevent:Job
/var/eventing/jobs
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Replication: Processing Jobs
9
Sling
Job Handler
Process the job through the
correct TransportHandler
ERROR: Queue stuck
slingevent:Job
node
/var/eventing/jobs
Read job from queue
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Replication: Troubleshooting
The queue can get stuck if:
• The Job Handler fails.
• Error while sending the data.
- Failure to create Durbo package from /var/replication/data
- Issue in class loading, network malfunction, etc.
• The receiving end fails to respond.
- Publish instance is experiencing high traffic or is unstable.
• The receiving end fails to import / receive the
replication during transport. For example:
- Failure to read the durbo package
- Failure to save/import the content
10
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Optimizing Replication
Optimizations:
• Enable “File Storage” of replication durbo packages:
- Go to http://host:port/system/console/configMgr and login as admin
- Find “Adobe Granite Replication Content Factory” and click Edit
- Check the “replication.content.useFileStorage.name” checkbox and Save
• Set the connection timeout and socket timeout in the agent Extended
configuration to avoid socketConnect and socketRead hang situations.
- socketConnect can be 30 seconds = 30000
- socketRead timeout can be 10 minutes = 600000
11
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Optimizing Replication
12
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Optimizing Replication
Optimizations:
• In the “Triggers” tab of the replication agent:
- “No Status Update” - if you do not need a status to track that the replication happened.
- “No Versioning” - if you do not need versions of the pages or assets generated on
activations.
13
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Optimizing Replication
14
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 15
Reducing disk space usage
DataStore Garbage Collection
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What is the DataStore?
The DataStore (default implementation):
• Stores binary JCR properties > 4KB (default).
• Only allows files to be added.
• Stores files under crx-quickstart/repository/repository/datastore.
• Files are referenced by the JCR internal node record (persistence manager
bundles).
16
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
How does the DataStore work?
1. A unique id is generated from contents of the file.
2. The id is used for the filename.
3. The datastore directory structure is built like this:
• datastore/{1st 2 chars id}/{2nd 2 chars id}/{3rd 2 chars id}/{id}
• E.g.
datastore/a2/b9/86/a2b98676377b947244bb954769def9b4fd625daa
4. Due to this, files are stored uniquely so the same file will only be stored
once.
17
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
DataStore Example
User uploads the same image to two different locations
18
AEM.png
Upload
Upload
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
a2b98676377b947244bb954769def9b4fd625daa
repository/repository/datastore
86
b9
a2
DataStore Example
19
JCR Node:
/content/dam/AEM.png/renditions/original/jcr:content/data property
JCR Node:
/content/dam/geometrixx-
media/AEM.png/renditions/original/jcr:content/data property
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
How does DataStore GC work?
DataStore GC (Garbage Collection) is the only way to delete DataStore files.
How does it work?
• “Scan” Phase
- Read all nodes in the JCR
- Update the timestamp of each of the referenced datastore files.
• “Delete” Phase
- Find all files with timestamp older than when it started the scan phase and deletes
them.
20
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
DataStore GC: Avoiding common Pitfalls
Before running DataStore GC, make sure:
• You have a backup of the datastore directory
• No issues with setting timestamps (this especially applies of your datastore is
on a network storage).
• Date and time is in sync between network storage and CQ server
• CQ5.3 or 5.4 with CRX2.2 - at least hotfix 2.2.0.70.
• CQ5.6.1 - do *NOT* use stopDataStoreGarbageCollection in JMX to stop the
GC process.
21
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 22
How to run DataStore GCDEMONSTRATION
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
DataStore GC
This error means you are missing a file from your datastore:
“DataStoreException: Record not found”
If you see that error then do not run datastore gc until you have restored the missing files.
To identify all missing files:
• Go to /crx/explorer/index.jsp and login as admin (/crx/index.jsp CQ5.4 and earlier).
• Browse to "Repository Configuration" => "Check Repository”.
• Check the "Data store consistency check" box.
• Click “Run”
• This will output a list of nodes referencing the missing files along with the path of the missing file.
• Since the files are unique, you can copy the missing files over from any other AEM (CQ) instances that
the same file.
See this article for more details:
• http://helpx.adobe.com/crx/kb/DataStoreGarbageCollection.html
23
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 24
How to run DataStore
Consistency Check
DEMONSTRATION
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 25
Tar Persistence Manager
Optimization
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Part 2: Topics Covered
TarPM Optimization
- What is the TarPM & TarPM optimization?
- Best practices for maintaining AEM Instances
- Tips and tricks for proactive things to monitor
- Tips and tricks for reducing downtime & Speed up the process
Workflow Monitoring
- Supported Features
- Best practices for maintaining AEM Instances.
- Tips and tricks for proactive things to monitor
26
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What is TarPM?
27
data_00000.tar
<cq_home>/crx-quickstart/repository/workspaces/crx.defau
data_00001.tar
Bundle 01
Bundle 02
Bundle 03
Bundle 04
• CRX Stores nodes and properties as one entity (bundle) in data tar file using Tar
Persistance Manager (Tar PM).
• Tar PM model is append only.
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
What is TarPM Optimization?
• Tar Optimization is a process which cleans up the old unreferenced data
to improve the overall performance & reduce disk usage.
28
bundle03
bundle04
bundle11
bundle14
data_00003.tar
TAR
OPTIMIZATIO
N
bundle01
bundle02
bundle03
bundle04
data_00001.tar
bundle11
bundle12
bundle13
bundle14
data_00002.tar
Unuse
d data
Deletes old
data tar file.
Deletes old
data tar file.
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Data Tar file location.
• Default storage location of data tar files are
29
<cq_home>/crx-quickstart/repository
data_00000.tar
data_00001.tar
workspaces
crx.default
version
data_00004.tar
data_00005.tar
data_00010.tar
data_00011.tar
tarJournal
data_00012.tar
data_00013.tar
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Best practices for maintaining AEM Instances
Regularly run tar optimization during the low usage hours of your
system.
• Automatic Schedule:-
- By default CRX automatically runs Tar PM optimization in midnight
between 2 AM to 5 AM.
- To reconfigure a scheduled optimization add a param autoOptimizeAt to
PersistenceManager element at repository.xml and workspace.xml.
• <PersistenceManager
class="com.day.crx.persistence.tar.TarPersistenceManager">
<param name="autoOptimizeAt" value="01:00-04:00" />
</PersistenceManager>
30
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Best practices for maintaining AEM Instances
Manually execute TarPM optimization from JMX console
31
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Best practices for maintaining AEM Instances
Manually by creating an optimization file “optimize.tar” in the desired workspace folder.
32
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Tips and tricks for proactive things to monitor
• From JMX console monitor
- TarOptimizationRunningSince:- The
timestamp when the current Tar PM
optimization was started, or 0 if currently not
running.
- TarOptimizationWork:- The remaining
optimization work in KiloBytes.
- TarOptimizationRate:- TarPM optimization
rate in KB/sec.
33
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34
How to monitor Tar
Optimization via JMX client
DEMONSTRATION
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Tips and tricks for reducing downtime & Speed up the process
• Configure the TarOptimizationDelay property:- Number of milliseconds to sleep after
optimizing one transaction.
• Load the index files into the buffer cache every few minutes, from both the crx.default
and the version directory.
- cat <cq_home>/crx-quickstart/repository/workspaces/crx.default/index*.tar > /dev/null”
- cat <cq_home>/crx-quickstart/repository/version/index*.tar > /dev/null”
• To enable Index in memory option refer
http://dev.day.com/docs/en/crx/current/administering/persistence_managers.html#Configuring the indexInMemory
Property
35
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Common Pitfalls to Avoid
• Scheduling tar optimization to run during the heavy usage hours of your
system.
• If you are optimizing tar files in a cluster, you need to ensure that the
Tar optimization time are set to the same value on all cluster nodes.
• Do not run tar optimization while you are backing up instance.
• Do not run tar optimization when datastore garbage collection is
running.
• Don’t ignore the message “File not found” exception when tar
optimization is running. Please contact daycare.
36
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 37
Workflow maintenance and Purge Obsolete
Workflow Data
Workflow Monitoring
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Workflow Purge
• Workflows enable you to automate Experience Manager activities.
• Workflows events generate archived data.
• This data can quickly grow over time as workflows are processed.
• Purging this data on a regular schedule improves system performance.
• In AEM(CQ) 5.6 the Workflow JMX MBean support has been added in
order to maintain workflow system.
38
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Best practices for maintaining AEM Instances
Regularly run workflow purge to
avoid the problems associated with
a large volume of data.
• Using user interface through Felix
console
• Using CURL
• Creating a JMX client that uses
Workflow Mbean
http://helpx.adobe.com/cq/kb/
workflow-monitor-via-jmx.html
39
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Tips and tricks for proactive things to monitor
40
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41
How to monitor workflow
via JMX client
DEMONSTRATION
© 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

What's hot

The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresFrançois Le Droff
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Securityconnectwebex
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB MongoDB
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAshokkumar T A
 
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management SystemsAEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management SystemsMongoDB
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAdobeMarketingCloud
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingColdFusionConference
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheColdFusionConference
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)WordCamp Cape Town
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseTaylor Lovett
 
Aem hub oak 0.2 full
Aem hub oak 0.2 fullAem hub oak 0.2 full
Aem hub oak 0.2 fullMichael Marth
 
Presentation on Instant page speed optimization
Presentation on Instant page speed optimizationPresentation on Instant page speed optimization
Presentation on Instant page speed optimizationSanjeev Kumar Jaiswal
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxrtCamp
 
How to scale PHP applications
How to scale PHP applicationsHow to scale PHP applications
How to scale PHP applicationsEnrico Zimuel
 

What's hot (20)

The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
 
Aem offline content
Aem offline contentAem offline content
Aem offline content
 
S903 palla
S903 pallaS903 palla
S903 palla
 
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructuresMaster Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
Master Chef class: learn how to quickly cook delightful CQ/AEM infrastructures
 
Configuring CQ Security
Configuring CQ SecurityConfiguring CQ Security
Configuring CQ Security
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
 
AEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly toolsAEM - A Collection of developer friendly tools
AEM - A Collection of developer friendly tools
 
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management SystemsAEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
AEM + MongoDB: How to Scale and Operate Large Digital Asset Management Systems
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEM
 
Accelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using CachingAccelerate your ColdFusion Applications using Caching
Accelerate your ColdFusion Applications using Caching
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)Roy foubister (hosting high traffic sites on a tight budget)
Roy foubister (hosting high traffic sites on a tight budget)
 
Best Practices for WordPress in Enterprise
Best Practices for WordPress in EnterpriseBest Practices for WordPress in Enterprise
Best Practices for WordPress in Enterprise
 
Aem hub oak 0.2 full
Aem hub oak 0.2 fullAem hub oak 0.2 full
Aem hub oak 0.2 full
 
Presentation on Instant page speed optimization
Presentation on Instant page speed optimizationPresentation on Instant page speed optimization
Presentation on Instant page speed optimization
 
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on NginxEasyEngine - Command-Line tool to manage WordPress Sites on Nginx
EasyEngine - Command-Line tool to manage WordPress Sites on Nginx
 
How to scale PHP applications
How to scale PHP applicationsHow to scale PHP applications
How to scale PHP applications
 

Viewers also liked

Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Craig Randall
 
Adobe Managed Services: Complicated Cloud Deployments
Adobe Managed Services: Complicated Cloud DeploymentsAdobe Managed Services: Complicated Cloud Deployments
Adobe Managed Services: Complicated Cloud DeploymentsAdam Pazik
 
AEM MSM: Basics & More
AEM MSM: Basics & MoreAEM MSM: Basics & More
AEM MSM: Basics & MoreKanika Gera
 
HBase and Hadoop at Adobe
HBase and Hadoop at AdobeHBase and Hadoop at Adobe
HBase and Hadoop at AdobeCosmin Lehene
 
The Right Ingredients for Building an Effective Customer Profile
The Right Ingredients for Building an Effective Customer ProfileThe Right Ingredients for Building an Effective Customer Profile
The Right Ingredients for Building an Effective Customer ProfileDemandbase
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architectureAshokkumar T A
 
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...AEM HUB
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 

Viewers also liked (9)

Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
Realizing Great Customer Experiences with Adobe® LiveCycle® ES3
 
Adobe Managed Services: Complicated Cloud Deployments
Adobe Managed Services: Complicated Cloud DeploymentsAdobe Managed Services: Complicated Cloud Deployments
Adobe Managed Services: Complicated Cloud Deployments
 
Leveraging Data To Master Customer Experience - Patrick Tripp, Adobe
Leveraging Data To Master Customer Experience - Patrick Tripp, AdobeLeveraging Data To Master Customer Experience - Patrick Tripp, Adobe
Leveraging Data To Master Customer Experience - Patrick Tripp, Adobe
 
AEM MSM: Basics & More
AEM MSM: Basics & MoreAEM MSM: Basics & More
AEM MSM: Basics & More
 
HBase and Hadoop at Adobe
HBase and Hadoop at AdobeHBase and Hadoop at Adobe
HBase and Hadoop at Adobe
 
The Right Ingredients for Building an Effective Customer Profile
The Right Ingredients for Building an Effective Customer ProfileThe Right Ingredients for Building an Effective Customer Profile
The Right Ingredients for Building an Effective Customer Profile
 
The six key steps to AEM architecture
The six key steps to AEM architectureThe six key steps to AEM architecture
The six key steps to AEM architecture
 
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
Adobe Managed Services: Complicated Cloud Deployments by Adam Pazik, Mike Til...
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 

Similar to CQ5.x Maintenance Webinar 2013

Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQconnectwebex
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013MattKilner
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application sizeKeval Patel
 
AEM - Key Learning from Escalations
AEM - Key Learning from EscalationsAEM - Key Learning from Escalations
AEM - Key Learning from EscalationsKanika Gera
 
How to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experienceHow to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experienceDocker, Inc.
 
gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”Ruggero Citton
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationYudi Herdiana
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guideVinay Kumar
 
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?Storage Switzerland
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Jess Coburn
 
Intro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latencyIntro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latencyDongpyo Lee
 
DockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopDockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopBrian Christner
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with BlackfireMarko Mitranić
 
Fast and Reproducible Deep Learning
Fast and Reproducible Deep LearningFast and Reproducible Deep Learning
Fast and Reproducible Deep LearningGreg Gandenberger
 
Get to know the browser better and write faster web apps
Get to know the browser better   and write faster web appsGet to know the browser better   and write faster web apps
Get to know the browser better and write faster web appsLior Bar-On
 
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...Amazon Web Services
 
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...Amazon Web Services
 
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Amazon Web Services
 

Similar to CQ5.x Maintenance Webinar 2013 (20)

Efficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQEfficient content structures and queries in CRX/CQ
Efficient content structures and queries in CRX/CQ
 
Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013Windows Debugging Tools - JavaOne 2013
Windows Debugging Tools - JavaOne 2013
 
Scaling PHP apps
Scaling PHP appsScaling PHP apps
Scaling PHP apps
 
Decrease build time and application size
Decrease build time and application sizeDecrease build time and application size
Decrease build time and application size
 
AEM - Key Learning from Escalations
AEM - Key Learning from EscalationsAEM - Key Learning from Escalations
AEM - Key Learning from Escalations
 
How to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experienceHow to accelerate docker adoption with a simple and powerful user experience
How to accelerate docker adoption with a simple and powerful user experience
 
gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”gDBClone - Database Clone “onecommand Automation Tool”
gDBClone - Database Clone “onecommand Automation Tool”
 
Oracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for ConsolidationOracle Database 12c Multitenant for Consolidation
Oracle Database 12c Multitenant for Consolidation
 
Webcenter application performance tuning guide
Webcenter application performance tuning guideWebcenter application performance tuning guide
Webcenter application performance tuning guide
 
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?
Webinar: Cloud Archiving – Amazon Glacier, Microsoft Azure or Something Else?
 
Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11Orlando DNN Usergroup Pres 12/06/11
Orlando DNN Usergroup Pres 12/06/11
 
Intro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latencyIntro to goldilocks inmemory db - low latency
Intro to goldilocks inmemory db - low latency
 
DockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging WorkshopDockerCon Europe 2018 Monitoring & Logging Workshop
DockerCon Europe 2018 Monitoring & Logging Workshop
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
Fast and Reproducible Deep Learning
Fast and Reproducible Deep LearningFast and Reproducible Deep Learning
Fast and Reproducible Deep Learning
 
Get to know the browser better and write faster web apps
Get to know the browser better   and write faster web appsGet to know the browser better   and write faster web apps
Get to know the browser better and write faster web apps
 
Module 03.pdf
Module 03.pdfModule 03.pdf
Module 03.pdf
 
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT331) - AWS re:Inv...
 
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
Metrics-Driven Performance Tuning for AWS Glue ETL Jobs (ANT326) - AWS re:Inv...
 
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
Accelerating Application Development with Amazon Aurora (DAT312-R2) - AWS re:...
 

Recently uploaded

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Recently uploaded (20)

New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

CQ5.x Maintenance Webinar 2013

  • 1. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. ADOBE CUSTOMER BROWN BAG SERIES Andrew Khoury & Sham Hassan Chikkegowda Customer Support Engineers, Adobe For the best listening experience, we recommend using a headset TODAY’S TOPIC: AEM Monitoring and Maintenance
  • 2. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. What’s Covered 1. Best practices for maintaining AEM instances. 2. Tips and tricks for proactive things to monitor. 3. Tips and tricks for reducing downtime when instances are corrupted. 4. Common pitfalls to avoid.
  • 3. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Topics covered  Replication DataStore Garbage Collection Tar PM Optimization Workflow   
  • 4. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4 Optimizing replication Replication Tuning and Monitoring
  • 5. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Monitoring Replication • Replication can be monitored using JMX • Each agent exposes an object • The objects expose: - If the agent is enabled - If the queue is blocked, paused or invalid - The number of entries in the queue - Timing information 5
  • 6. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Configure a replication.log 6 Why? • Keeps error.log from getting bloated • Isolates replication errors and warnings How? • Add an Apache Sling Logging Logger: - Log File: logs/replication.log - Log Level: Info - Logger: com.day.cq.replication • Add an Apache Sling Logging Writer (for log rotation) - Log File: logs/replication.log
  • 7. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7 Replication monitoring via JMX And Log ConfigurationDEMONSTRATION
  • 8. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Replication: Initializing and Queuing 8 User activates /content/geometrixx-outdoors/en/support Durbo package /var/replication/data Content is packaged OSGi event is fired Replication AgentManager handles the event Sling Job Handler queues/stores the job slingevent:Job /var/eventing/jobs
  • 9. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Replication: Processing Jobs 9 Sling Job Handler Process the job through the correct TransportHandler ERROR: Queue stuck slingevent:Job node /var/eventing/jobs Read job from queue
  • 10. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Replication: Troubleshooting The queue can get stuck if: • The Job Handler fails. • Error while sending the data. - Failure to create Durbo package from /var/replication/data - Issue in class loading, network malfunction, etc. • The receiving end fails to respond. - Publish instance is experiencing high traffic or is unstable. • The receiving end fails to import / receive the replication during transport. For example: - Failure to read the durbo package - Failure to save/import the content 10
  • 11. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Optimizing Replication Optimizations: • Enable “File Storage” of replication durbo packages: - Go to http://host:port/system/console/configMgr and login as admin - Find “Adobe Granite Replication Content Factory” and click Edit - Check the “replication.content.useFileStorage.name” checkbox and Save • Set the connection timeout and socket timeout in the agent Extended configuration to avoid socketConnect and socketRead hang situations. - socketConnect can be 30 seconds = 30000 - socketRead timeout can be 10 minutes = 600000 11
  • 12. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Optimizing Replication 12
  • 13. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Optimizing Replication Optimizations: • In the “Triggers” tab of the replication agent: - “No Status Update” - if you do not need a status to track that the replication happened. - “No Versioning” - if you do not need versions of the pages or assets generated on activations. 13
  • 14. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Optimizing Replication 14
  • 15. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 15 Reducing disk space usage DataStore Garbage Collection
  • 16. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. What is the DataStore? The DataStore (default implementation): • Stores binary JCR properties > 4KB (default). • Only allows files to be added. • Stores files under crx-quickstart/repository/repository/datastore. • Files are referenced by the JCR internal node record (persistence manager bundles). 16
  • 17. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. How does the DataStore work? 1. A unique id is generated from contents of the file. 2. The id is used for the filename. 3. The datastore directory structure is built like this: • datastore/{1st 2 chars id}/{2nd 2 chars id}/{3rd 2 chars id}/{id} • E.g. datastore/a2/b9/86/a2b98676377b947244bb954769def9b4fd625daa 4. Due to this, files are stored uniquely so the same file will only be stored once. 17
  • 18. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. DataStore Example User uploads the same image to two different locations 18 AEM.png Upload Upload
  • 19. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. a2b98676377b947244bb954769def9b4fd625daa repository/repository/datastore 86 b9 a2 DataStore Example 19 JCR Node: /content/dam/AEM.png/renditions/original/jcr:content/data property JCR Node: /content/dam/geometrixx- media/AEM.png/renditions/original/jcr:content/data property
  • 20. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. How does DataStore GC work? DataStore GC (Garbage Collection) is the only way to delete DataStore files. How does it work? • “Scan” Phase - Read all nodes in the JCR - Update the timestamp of each of the referenced datastore files. • “Delete” Phase - Find all files with timestamp older than when it started the scan phase and deletes them. 20
  • 21. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. DataStore GC: Avoiding common Pitfalls Before running DataStore GC, make sure: • You have a backup of the datastore directory • No issues with setting timestamps (this especially applies of your datastore is on a network storage). • Date and time is in sync between network storage and CQ server • CQ5.3 or 5.4 with CRX2.2 - at least hotfix 2.2.0.70. • CQ5.6.1 - do *NOT* use stopDataStoreGarbageCollection in JMX to stop the GC process. 21
  • 22. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 22 How to run DataStore GCDEMONSTRATION
  • 23. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. DataStore GC This error means you are missing a file from your datastore: “DataStoreException: Record not found” If you see that error then do not run datastore gc until you have restored the missing files. To identify all missing files: • Go to /crx/explorer/index.jsp and login as admin (/crx/index.jsp CQ5.4 and earlier). • Browse to "Repository Configuration" => "Check Repository”. • Check the "Data store consistency check" box. • Click “Run” • This will output a list of nodes referencing the missing files along with the path of the missing file. • Since the files are unique, you can copy the missing files over from any other AEM (CQ) instances that the same file. See this article for more details: • http://helpx.adobe.com/crx/kb/DataStoreGarbageCollection.html 23
  • 24. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 24 How to run DataStore Consistency Check DEMONSTRATION
  • 25. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 25 Tar Persistence Manager Optimization
  • 26. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Part 2: Topics Covered TarPM Optimization - What is the TarPM & TarPM optimization? - Best practices for maintaining AEM Instances - Tips and tricks for proactive things to monitor - Tips and tricks for reducing downtime & Speed up the process Workflow Monitoring - Supported Features - Best practices for maintaining AEM Instances. - Tips and tricks for proactive things to monitor 26
  • 27. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. What is TarPM? 27 data_00000.tar <cq_home>/crx-quickstart/repository/workspaces/crx.defau data_00001.tar Bundle 01 Bundle 02 Bundle 03 Bundle 04 • CRX Stores nodes and properties as one entity (bundle) in data tar file using Tar Persistance Manager (Tar PM). • Tar PM model is append only.
  • 28. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. What is TarPM Optimization? • Tar Optimization is a process which cleans up the old unreferenced data to improve the overall performance & reduce disk usage. 28 bundle03 bundle04 bundle11 bundle14 data_00003.tar TAR OPTIMIZATIO N bundle01 bundle02 bundle03 bundle04 data_00001.tar bundle11 bundle12 bundle13 bundle14 data_00002.tar Unuse d data Deletes old data tar file. Deletes old data tar file.
  • 29. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Data Tar file location. • Default storage location of data tar files are 29 <cq_home>/crx-quickstart/repository data_00000.tar data_00001.tar workspaces crx.default version data_00004.tar data_00005.tar data_00010.tar data_00011.tar tarJournal data_00012.tar data_00013.tar
  • 30. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Best practices for maintaining AEM Instances Regularly run tar optimization during the low usage hours of your system. • Automatic Schedule:- - By default CRX automatically runs Tar PM optimization in midnight between 2 AM to 5 AM. - To reconfigure a scheduled optimization add a param autoOptimizeAt to PersistenceManager element at repository.xml and workspace.xml. • <PersistenceManager class="com.day.crx.persistence.tar.TarPersistenceManager"> <param name="autoOptimizeAt" value="01:00-04:00" /> </PersistenceManager> 30
  • 31. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Best practices for maintaining AEM Instances Manually execute TarPM optimization from JMX console 31
  • 32. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Best practices for maintaining AEM Instances Manually by creating an optimization file “optimize.tar” in the desired workspace folder. 32
  • 33. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Tips and tricks for proactive things to monitor • From JMX console monitor - TarOptimizationRunningSince:- The timestamp when the current Tar PM optimization was started, or 0 if currently not running. - TarOptimizationWork:- The remaining optimization work in KiloBytes. - TarOptimizationRate:- TarPM optimization rate in KB/sec. 33
  • 34. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34 How to monitor Tar Optimization via JMX client DEMONSTRATION
  • 35. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Tips and tricks for reducing downtime & Speed up the process • Configure the TarOptimizationDelay property:- Number of milliseconds to sleep after optimizing one transaction. • Load the index files into the buffer cache every few minutes, from both the crx.default and the version directory. - cat <cq_home>/crx-quickstart/repository/workspaces/crx.default/index*.tar > /dev/null” - cat <cq_home>/crx-quickstart/repository/version/index*.tar > /dev/null” • To enable Index in memory option refer http://dev.day.com/docs/en/crx/current/administering/persistence_managers.html#Configuring the indexInMemory Property 35
  • 36. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Common Pitfalls to Avoid • Scheduling tar optimization to run during the heavy usage hours of your system. • If you are optimizing tar files in a cluster, you need to ensure that the Tar optimization time are set to the same value on all cluster nodes. • Do not run tar optimization while you are backing up instance. • Do not run tar optimization when datastore garbage collection is running. • Don’t ignore the message “File not found” exception when tar optimization is running. Please contact daycare. 36
  • 37. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 37 Workflow maintenance and Purge Obsolete Workflow Data Workflow Monitoring
  • 38. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Workflow Purge • Workflows enable you to automate Experience Manager activities. • Workflows events generate archived data. • This data can quickly grow over time as workflows are processed. • Purging this data on a regular schedule improves system performance. • In AEM(CQ) 5.6 the Workflow JMX MBean support has been added in order to maintain workflow system. 38
  • 39. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Best practices for maintaining AEM Instances Regularly run workflow purge to avoid the problems associated with a large volume of data. • Using user interface through Felix console • Using CURL • Creating a JMX client that uses Workflow Mbean http://helpx.adobe.com/cq/kb/ workflow-monitor-via-jmx.html 39
  • 40. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Tips and tricks for proactive things to monitor 40
  • 41. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41 How to monitor workflow via JMX client DEMONSTRATION
  • 42. © 2013 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.