16
1 Performance Concepts Performance Concepts and Methodologies and Methodologies 1

javaPerformanceConcept

Embed Size (px)

Citation preview

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 1/16

1

Performance ConceptsPerformance Conceptsand Methodologiesand Methodologies

1

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 2/16

2

Agenda

• Performance metrics• Monitoring vs. Profiling• Development process

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 3/16

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 4/16

Performance MetricsPerformance Metrics

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 5/165

Performance Metrics

• Throughput• Runtime response time

• Footprint• Perceived performance (for GUI applications)

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 6/166

Perceived Performance

• End-user experience on GUI applications:> Rarely measure performance with a stopwatch> How fast somethingfeels, not how fast it is

• Ways to improve how fast your users feel without actuallymaking anything run faster > Changing the mouse cursor to a waiting cursor >

Using multiple background threads> Showing the progress bar

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 7/167

Perceived Performance

• Start up time:> Lazy initialization is often useful.> Applets:

>Use Jar files to minimize requests.> Install on client system if possible.

> Obfuscators and size reduction tools.> Run empty applet to get VM loaded.

> Applications:> Separate initialization thread.> Minimize dependencies for start screen.

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 8/16

Monitoring &Monitoring &ProfilingProfiling

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 9/169

Definition: Performance Monitoring

• An act of non-intrusively collecting or observingperformance data from an operating or runningapplication.

• Typically a “preventative” or “proactive” type of action.But, could be an initial step in a reactive action.

• Can be performed in production, or qualification, or development environments.

•Helps identify or isolate potential issues without having asevere impact on runtime responsiveness or throughput.

• Often timesmonitoringcrosses over into trouble-shootingor service-ability.

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 10/16

10

Definition: Performance Profiling

• An act of collecting or observing performance data froman operating or running application.

• Usually more intrusive than monitoring.

• Usually a narrower focus than monitoring.• Typically a reactive type of activity. Could be a proactive

activity in situations where performance is a well definedsystemic quality or requirement for a target application.

• Seldom performed in production environments.• Commonly done in qualification, testing or development

environments.

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 11/16

11

Definition: Performance Tuning

• An act of changing tune-ables, source code and/or configuration attribute(s) for the purposes of improvingapplication responsiveness and/or application throughput.

• Usually results from monitoring and/or profiling activities.

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 12/16

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 13/16

13

Typical Development Process

Start

Analysis

Design

Code

Yes

QualityOK

TestNo

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 14/16

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 15/16

15

Application Performance Process

Monitor

Start

Analysis

Design

Code

Deploy

Profileo

Yes

PerformanceOK

Benchmark

8/8/2019 javaPerformanceConcept

http://slidepdf.com/reader/full/javaperformanceconcept 16/16

16

Performance ConceptsPerformance Conceptsand Methodologiesand Methodologies

16