Top Banner
APACHE SLING & FRIENDS TECH MEETUP BERLIN, 23 – 25 SEPTEMBER 2013 AEM (CQ5) Performance case study Boris Petrović
17

AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Apr 12, 2018

Download

Documents

trinhdieu
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

APACHE SLING & FRIENDS TECH MEETUP BERLIN, 23 – 25 SEPTEMBER 2013

AEM (CQ5) Performance case study Boris Petrović

Page 2: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

About me

BORIS PETROVIC

Senior System Engineer at Netcentric

A decade of experience in performance engineering and Java

2 adaptTo() 2013

Page 3: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Customer CQ setup

CQ Author performance factors

Performance analysis approach

Lessons learned

Maintenance & Tuning checklist

Agenda

3 adaptTo() 2013

Page 4: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Customer CQ5 setup

Page 5: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Customer CQ5 setup

§  100 content editors – 24/7 Users

Growth §  10’000 new nodes added daily

News Feeds §  Proprietary import of XML and media feeds on author master

§  Pushed to publishers §  Moderate frequency

System age §  2 years §  Feature release every 6 weeks

Repo §  >13’000’000 nodes, size >300GB

Deployment §  2 node authoring cluster §  4 publishing servers

5 adaptTo() 2013

Page 6: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

CQ Author Performance Factors

http://www.flickr.com/photos/unemotoeninde/3299735155/

Page 7: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

CQ Author Performance Factors #1

Adobe AEM (CQ)

Java Content Repository (CRX, Jackrabbit)

Audit Logging Workflows Replication Digital Asset Management

Content Versioning Security (ACLs) Clustering

Search (Lucene)

No direct user interaction

7 adaptTo() 2013

WHICH PARTS ARE AFFECTED BY THE USER INTERACTION?

AND WHAT DOES THE USER EXPERIENCE?

Audit Logging Workflows Replication Digital Asset Management

Content Versioning Security (ACLs) Clustering

Search (Lucene)

Page 8: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

§  Environmental factors §  Hardware: I/O, Network,

CPU, Memory

§  Aging effects: Volume, Versioning, Audit

§  Deployment: e.g. Clustering

§  Content automation: Feeds & Workflows

§  Batches

§  Editing

CQ Author Performance Factors #2

User Initiated Other factors

8 adaptTo() 2013

Page 9: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Performance Analysis Approach

Page 10: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Performance Analysis Approach – general

Collect Data: Ask!

GC logging visualvm jstat Hpjmeter, samurai

Java Heap & GC

jstack kill -3 <cq_pid>

Collect JVM Thread Dumps

Unix : e.g. vmstat 5 5, top Windows: Performance Monitor

Inspect OS resources: CPU, Paging, I/O

10 adaptTo() 2013

Page 11: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Performance Analysis Approach – CQ

Areas for further drill down

JCR Queries

§  JMX stats for slow queries

Workflows stats

Count, duration, model

§  5.6.1 JMX Stats, 5.5 logs

§  Instance count, failed, running

Replication

§  Duration, payload size, version history size

§  Configure own logger: com.day. cq.replication DEBUG

11 adaptTo() 2013

Page 12: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Lessons learned

http://www.flickr.com/photos/smithsonian/4010665061/

Page 13: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Lessons learned

Beware of versionable content à on replication version history grows!

§  CQ5.6 configure non-versionable paths

Can queue up your replication queue

§  Split agents

Triggering workflows in high frequency

§  Examine workflows, reduce

Users perform large queries à resource consuming

§  Offload bulk reports to slave instances?

Automatically Imported Content (Feeds)

Export Bulk Reports

13 adaptTo() 2013

Page 14: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Lessons learned

Long running, eat up memory resources

§  Monitor duration §  JMX stats 5.6 §  5.5 Log entry: ..workflow.impl.job.JobHandler

§  Refactor

Accumulation of stalled workflows

§  Identify problematic one

§  Purge workflow instances regularly!

Work-flows

14 adaptTo() 2013

Page 15: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Maintenance & Tuning

Page 16: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Tar PM Optimization

Data Store Garbage Collection

Version Purging

Workflow and audit purge

Maintenance & Tuning checklist

Adobe CQ Help /Performance Tuning Tips

Performance Optimization

Monitoring and Maintaining Your CQ instance

http://dev.day.com/docs/en/crx/current/administering/persistence_managers.html#Optimizing%20Tar%20Files

http://dev.day.com/docs/en/crx/current/administering/persistence_managers.html#Data%20Store%20Garbage%20Collection

http://dev.day.com/docs/en/cq/current/deploying/version_purging.html

http://helpx.adobe.com/cq/kb/howtopurgewf.html

http://helpx.adobe.com/cq/kb/performancetuningtips.html

http://dev.day.com/docs/en/cq/current/deploying/performance.html

http://dev.day.com/docs/en/cq/5-5/deploying/monitoring_and_maintaining.html

16 adaptTo() 2013

Page 17: AEM (CQ5) Performance case study Boris Petrović - … · AEM (CQ5) Performance case study Boris Petrović. About me BORIS PETROVIC Senior System ... Adobe AEM (CQ) Java Content Repository

Q&A

THANK YOU FOR YOUR ATTENTION!

Any questions?