confluence performance tuning a real-life example

12
David Adam Manager Enterprise Applications hybris Software a subsidiary of SAP SE Confluence Performance Tuning A Real-Life Example Public

Upload: others

Post on 02-Mar-2022

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Confluence Performance Tuning A Real-Life Example

David Adam

Manager Enterprise Applications

hybris Software – a subsidiary of SAP SE

Confluence Performance Tuning

A Real-Life Example

Public

Page 2: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 2 Public

Agenda

Confluence at hybris Software

• Use Case & Metrics

Initial Considerations for improving Performance

• DB, Apache, JVM, CPU & RA;

In-Depth Analysis & Actions

• Monitoring

• 360° System Review

• Building a Dedicated System

Page 3: Confluence Performance Tuning A Real-Life Example

Confluence at hybris

Page 4: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 4 Public

Confluence at hybris Software

Used as Swiss Army Knife

• Product Documentation & Training

• Internal Documentation & Collaboration

• Marketing & Presales

Some Metrics

• 12 Million page views since January 1st

• 2.5 Million users sessions since January 1st

• Roughly 150 Concurrent Users and 5-10 PIS during Peak Hours

• 99,5% Uptime in 2013 – Average page load time 5 seconds

Page 5: Confluence Performance Tuning A Real-Life Example

Initial Considerations

Page 6: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 6 Public

Initial considerations on how to improve Performance

The Database Sucks

• Database cache and transaction log settings

• Data Fragmentation

• Local vs. Remote

You need to use better HTTP Caching

• Apache vs Varnish

The JVM Settings aren’t any good

• Garbage Collection & Memory allocation

More CPU and RAM will help

Page 7: Confluence Performance Tuning A Real-Life Example

In-Depth Analysis & Actions

Page 8: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 8 Public

In-Depth Analysis Monitoring is your friend

Base Monitoring

• Base Metrics: CPU, RAM, Disk IO, Network

• Application Metrics: MySQL, Apache

• Nagios / Check MK

Java Monitoring

• JVM Metrics: Memory, Threads

• Tomcat: Sessions, Requests

• Confluence: Index Actions, Request Metrics, ThreadDumps

• JMX / Jolokia

Page 9: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 9 Public

In-Depth Analysis Let’s have a look at the host

360° System Review

• Dependencies and subsystems

• Are virtualized?

• How quick can you scale up?

• Usage patterns?

General Considerations

• What are your metrics? You can only manage what you can measure!

• What are the boundaries and limitations of your current setup?

• Can you forecast?

Page 10: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 10 Public

Actions Let’s build a dedicated system that will scale

Back to Blech

• 2 x 6 Core CPU with HT (24 cores)

• 32GB RAM

• 1TB RAID 10 SAS

• 365GB RAID 1 Fusion IO (PCIe attached Flash drive)

Page 11: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved. 11 Public

Actions Find the needle in the haystack

Monitoring can tell you where to start looking

Exclude certain bottlenecks by scaling right from the start

Some of our additional actions

• Enable Profile Logging to identify bad performing components

• Set HTTPD Workers < DB Connection Pool

• Define proper Operations and Maintenance Processes

• Avoid i18n Cache Refresh (fixed in Confluence 5.7)

• Refined Wiki: Rework Category Permissions

• Metadata Plugin

Page 12: Confluence Performance Tuning A Real-Life Example

© 2014 SAP SE or an SAP affiliate company. All rights reserved.

Thank

You!