hands-on performance workshop - the science of performance

19
The science of performance Mike Croft Hands-on Performance Workshop

Upload: c2b2-consulting

Post on 17-Dec-2014

245 views

Category:

Software


0 download

DESCRIPTION

Mike presented this Hands-on workshop at JAX London, 2014. Mike outlines the environment setup and discusses performance overview, collecting data and how to interpret the data. If you would like any more information, feel free to comment and Mike will get back to you.

TRANSCRIPT

Page 1: Hands-on Performance Workshop - The science of performance

The science of performance

Mike Croft

Hands-on Performance Workshop

Page 2: Hands-on Performance Workshop - The science of performance

Who Am I?

• C2B2 Expert Support consultant

• Ex-IBM

• Snowboarder

• @croft

Page 3: Hands-on Performance Workshop - The science of performance

Who are you?

Page 4: Hands-on Performance Workshop - The science of performance

Why are we here?

• Hands-on performance!– Hands on what?

• See what tools are available• Get experience of using some tools• Learn how to apply knowledge

• Why do you want to be here?

Page 5: Hands-on Performance Workshop - The science of performance

Agenda

• Introduction• Environment setup• Performance Overview• Collecting Data– Presentation– Practical

• How do we interpret the data?– Tools

• Example app analysis

Page 6: Hands-on Performance Workshop - The science of performance

Hands-on Performance WorkshopEnvironment Setup

Page 7: Hands-on Performance Workshop - The science of performance

Environment Setup

• Download Instructions and follow the first part

https://s3-eu-west-1.amazonaws.com/jaxlondon2014/instructions.docx

• Make sure all necessary resources are downloaded• Make sure the app is deployed and JMeter can run

load through it

Page 8: Hands-on Performance Workshop - The science of performance

Hands-on Performance WorkshopPerformance Overview

Page 9: Hands-on Performance Workshop - The science of performance

Performance Overview

Page 10: Hands-on Performance Workshop - The science of performance

Performance Overview

Performance Factors

• Raw Algorithmic Performance• Resource Limitations– Not enough cpu, disk, memory

• Resource Contention– Locks

• IO Latency– Network, Disk

Page 11: Hands-on Performance Workshop - The science of performance

Performance Overview

Latency Factors

• Network Distance• Network Reliability• Data Size• Operation Granularity• Resource Contention• JVM GC

Page 12: Hands-on Performance Workshop - The science of performance

Performance Overview

Page 13: Hands-on Performance Workshop - The science of performance

Performance Overview

Page 14: Hands-on Performance Workshop - The science of performance

Hands-on Performance WorkshopCollecting Data

Page 15: Hands-on Performance Workshop - The science of performance

Collecting Data

• Garbage Collection• Verbose GC• Heap size– New size and old size– Before collection– After collection

• Pause time

Page 16: Hands-on Performance Workshop - The science of performance

Collecting Data

• Thread dumps– Kill -3– JStack

• Thread state– Wait– Sleep– Blocked– Running

• Full stack trace

Page 17: Hands-on Performance Workshop - The science of performance

Collecting Data

• Heap dumps• Entire contents of the heap– Very Large!– Can take time to collect on large

heaps

• Can auto-dump on OOME

Page 18: Hands-on Performance Workshop - The science of performance

Hands-on Performance WorkshopInterpreting Data

Page 19: Hands-on Performance Workshop - The science of performance

Interpreting Data

• Tools– Live monitoring

• VisualVM• MissionControl• JMX

– Historical analysis• Memory Analyzer Tool• Flight Recorder (commercial)• Threadlogic• GCViewer