SlideShare ist ein Scribd-Unternehmen logo
1 von 68
Downloaden Sie, um offline zu lesen
1
Source: http://www.youtube.com/watch?v=-LkusicUL2s




                                                     2
Did you all get a chance to read that? As a public company we need to have
our disclosure statement before allfrom the ground youon true enterprise
  Vista is the only solution built presentations. If up have any questions
ontechnology --- please speak with our Generalyou continue to provide your
   what it means allowing you to ensure that Counsel.
  faculty and students an outstanding experience




                                                                             3
4
5
6
7
8
Source: http://www.flickr.com/photos/turkguy19/1018419391/




                                                             9
Our session isn’t about crime scene investigation. I’m not going to attempt to
talk about digital forensics from a security and fraud perspective. I’m here to
put context around performance and scalability incidents that happen in your
application environments every day, week, month and year. There’s no
reason to assume that performance problems can only be solved by “black
magic”. A rational, evidence-supported process can be used to solve a
performance problem.


The first definition about forensics assumes that “something” occurs in the
form of a crime. For all intensive purposes a crime is considered pre-
meditated. Often crimes such as denial of service, script injection and spam
attacks can cause performance problems. Performance incidents can
happen when they are not necessarily premeditated. They happen because
of failure. Things break…it’s a fact of life.


When breakage or breakdowns occur they are not visibly apparent or
obvious to every set of eyes looking on. This can be problematic when
diagnosis bias is introduced or value attribution is incorrectly established.




                                                                                  10
http://www.flickr.com/photos/wwarby/3297205226/




                                                  11
12
Search Google and you will be amazed how little meaningful
information you get by the words “performance forensics” in the
context of computers and software. One paper by Bob Sneed from
Sun Microsystems (http://www.sun.com/blueprints/1203/817-4444.pdf)
is out there, but very little else.

So you will have to trust me in my primitive definition of performance
forensics. You might even offer to help make it better.

Performance forensics is like any other forensics process. It begins
with collective evidence. If you are lucky and have a lot of tools in
place you will have a starting point of data to sift through. More often
then not, the data is not there. You are not always lucky to have the
data when you need it and/or it might not be in the best format for
getting to the root cause of a problem.

Evidence as we will discuss later can be collected after the fact.
Techniques such as discrete simulation can be used to re-enact an
incident. When that does happen, you have the ability to capture all of
the data you want. You simply need to know what data to collect. It’s a
circuitous loop of sorts…mainly because you might not know what
data to collect to begin with.

It’s like when I look under the hood of my car. I have no idea what I’m
looking at…Maybe it’s that smoking gun I’m in search of. Yeah, I
guess if I see some kind of corrosive, smoke or leak it might be
painfully obvious…but it never is. Not with today’s cars…Computers
and software specifically are the same. Rarely is there that smoking       13
gun sitting in front of your face waiting to be found. Thus evidence is
Source: http://www.flickr.com/photos/t_squared/152270386/




                                                            14
15
http://www.flickr.com/photos/7563125@N08/2830710184/




                                                       16
17
18
19
20
21
22
Source: http://farm4.static.flickr.com/3396/3507282396_3756634f01_m.jpg




                                                                          23
Source: http://www.flickr.com/photos/psilver/412264230/




                                                          24
http://crackerjackonlinemarketing.com/blog/wp-
content/uploads/2008/07/working-woman-with-octopus-hands.jpg




                                                               25
Source: http://farm2.static.flickr.com/1330/3174009125_ec49351a6d_m.jpg




                                                                          26
27
Problems are not always easily identifiable. When I say that I feel off or sick, I leave the
listener desiring more information. They might infer that I have a stomach pain, a cold or a
headache. It could be that I am tired or I have a broken arm. A more related example that I
often hear is that my system is slow. What defines slow? Can you show me? Can I
experience the slowness?

Is it always slow every single day and every minute? Are all of the components that make up
the physical architecture necessarily slow? Are particular use cases experiencing latency?
Do they always experience latency or is it at specific times? Is it specific users who
experience latency? Are the users different is some kind of fashion? Does the problem
happen after a particular interaction pattern? Does it happen with a particular piece of data?

When a problem is easily identifiable, define a clear, intelligible problem statement. The
problem statement is used to aid the investigation so the forensics process can focus on
collecting meaningful data to get to root cause analysis.

Narrowing down to a problem statement from the unknown can be an exhaustive effort. Start
with questioning (not formal interviewing) in which your goal is to exclusively narrow down
the chasm of possibilities. Start with the “Lassie Question: Can you show me?” Experiencing
the problem first hand provides basic context. If the problem can’t be reproduced, try to
provide supporting clues so that the unpredictable can become more predictable. You can’t
necessarily replicate the performance problem at will. Do you have supporting data about
your experience? Can you explain what happened to you? Do you know when it happened
(smallest time window)? Has it happened before? If so when? Try to get down to the exact
minute if possible. Has it happened to anyone else? What were they doing? Did it happen to
them at the same time as you?

It comes off like you are asking dozens and dozens of questions, but in reality you are not.
You are gathering basic context: Who, What, Where and When.

Be unwilling to announce a problem statement until you have confidence in the development
of the problem statement (not the cause of the issue). Remember we are not diagnosing, we
are simply collecting and announcing symptoms.


                                                                                                 28
29
I’m not the creator of this methodology. I’m quite sure that others who are far more knowledgeable on the subject
would tell you I’m possibly missing a step or that I am drawing out the process too far. A picture is truly worth a
thousand words.

I will breakdown each element of the methodology in subsequent slides. I’ve designed a circular visualization for
the obvious conclusion that I’ve come to over the years in which the process must revolve in order to come to root
cause analysis.

Performance forensics doesn’t necessarily begin with evidence collection. Rather, it potentially begins long before
an incident occurs. Let’s take an abstract example such as a person complains about chest pain. The person tells
their spouse that at times they have unbearable pains, but eventually it goes away. It doesn’t happen enough and
the pain isn’t so severe that it’s worth the time or the effort to go to the doctor. The process of convincing yourself
that the symptoms you are experiencing is not what you really have is called diagnosis bias. I will talk about this in
greater detail later.

This pain might go on and on for quite some time until it progresses. Analysis could be initiated at any point. More
often then not, the complaints go unrealized and forensics is placed on hold. It comes back later on. The question
is when. Typically when a terrible even occurs. It could be a heart attack or sadly a loss of life. The forensic
engineer is tasked with tracing back why it happened, was foul play suspected and could it have been avoided.

I propose that at any time the methodology can be initiated. No major issue has to occur for performance forensics
to begin. Symptoms do not necessarily have to show-up for the process to begin. You can call this what you want,
but basically the collection of evidence, interviewing, modeling/visualizing and planning for the future is most
commonly referred to as capacity planning. It’s not the much different from what we are trying to accomplish with
performance forensics. The key difference is proactive behavior versus reactive behavior.

The methodology begins with the collection of data. We can call this data evidence. Evidence is collected in two
ways: intended data collection and simulated data collection. When data is not available, we often go through the
process of putting data collectors in place. The thought behind this is that if something happened once, it’s bound
to happen again.

Interviewing is incorporated into the methodology. I will discuss techniques for interviewing. Understand that when
humans are involved and asked to participate, you run the greatest chance for diagnosis bias and value attribution
(two topics I will present in greater detail).

Next I will discuss why modeling and visualizing a problem can be critical at getting to the root cause of a
performance issue.




                                                                                                                          30
31
The best analogy to depict the execution model for wait events is the grocery
store checkout line. Assume the cashier is the CPU. The customer who is
currently being checked out by the cashier is the running session. The
customers who are waiting in line represent the runnable queue.


If customer1 who is being checked out requires a price check on a product,
customer1 must wait until the price check is completed. Meanwhile, the next
in line, customer2, is immediately checked out by the cashier until the price
check is completed for customer1.


When the price check is completed, the cashier can resume the check out of
customer1. This is the simplest illustration of the wait event execution
model.




                                                                                32
The best analogy to depict the execution model for wait events is the grocery
store checkout line. Assume the cashier is the CPU. The customer who is
currently being checked out by the cashier is the running session. The
customers who are waiting in line represent the runnable queue.


If customer1 who is being checked out requires a price check on a product,
customer1 must wait until the price check is completed. Meanwhile, the next
in line, customer2, is immediately checked out by the cashier until the price
check is completed for customer1.


When the price check is completed, the cashier can resume the check out of
customer1. This is the simplest illustration of the wait event execution
model.




                                                                                33
34
35
36
37
38
JConsole on Steroids
Great presentation: http://www.javapassion.com/javase/VisualVM.pdf
Another Great Presentation:
http://weblogs.java.net/blog/mandychung/archive/VisualVM-BOF-2007.pdf




                                                                        39
40
41
42
43
http://www.stevesouders.com/blog/2009/06/30/firefox-35-at-the-top/

http://assets.en.oreilly.com/1/event/29/The%20User%20and%20Business%2
0Impact%20of%20Server%20Delays,%20Additional%20Bytes,%20and%20
HTTP%20Chunking%20in%20Web%20Search%20Presentation.pptx




                                                                        44
Source: http://www.flickr.com/photos/kaptainkobold/83359336/




                                                               45
http://www.phpied.com/image-optimization-7-mistakes/




                                                       46
Using pngrewrite to optimize this image
(http://entropymine.com/jason/pngrewrite/)


Cost Savings: 3KB or roughly 15%




                                             47
Using optipng to optimize this image
(http://sourceforge.net/projects/optipng/)


Cost Savings: 4KB or roughly 9%




                                             48
Using optipng to optimize this image
(http://sourceforge.net/projects/optipng/)


Cost Savings: 4MB or roughly 47.50%




                                             49
http://code.google.com/speed/page-speed/
http://developer.yahoo.com/yslow/
http://www.fiddler2.com/Fiddler2/version.asp
Great add-on to Fiddler2 is neXpert
http://videos.visitmix.com/MIX09/T53F




                                               50
Great presentation highlighting differences between tools:
http://assets.en.oreilly.com/1/event/29/Website%20Performance%20Analysi
s%20Presentation.ppt




                                                                          51
52
Source: http://www.flickr.com/photos/pollyann/2877940383/




                                                            53
54
http://www.fiddler2.com/Fiddler2/version.asp

Demo videos: http://www.fiddler2.com/Fiddler/help/video/default.asp

Example of use as a reverse proxy:
http://blogs.msdn.com/nexpert/archive/2009/06/04/capturing-http-with-
fiddler-as-a-reverse-proxy.aspx




                                                                        55
WebCast of neXpert:
http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?E
ventID=1032398774&EventCategory=5&culture=en-
US&CountryCode=US




                                                               56
57
Can also consider using Microsoft VRTA:
http://www.microsoft.com/downloads/details.aspx?FamilyID=119f3477-dced-
41e3-a0e7-d8b5cae893a3&displaylang=en




                                                                          58
59
Source: http://www.flickr.com/photos/turkguy19/1018419787/




                                                             60
Easily configured Virtual Machine by cloning VMs using XenCenter




                                                                   61
62
63
64
65
66
67
68

Weitere ähnliche Inhalte

Ähnlich wie Performance Forensics Methodology Circular Process

Basic Accident Investigation 2016
Basic Accident Investigation 2016 Basic Accident Investigation 2016
Basic Accident Investigation 2016 Melinda Tarkington
 
Magic If Play Analysis
Magic If Play AnalysisMagic If Play Analysis
Magic If Play AnalysisKendra Cote
 
How to think smarter about software development
How to think smarter about software developmentHow to think smarter about software development
How to think smarter about software developmentNilanjan Bhattacharya
 
Prinsip prinsip-metode-analisis-akar-masalah xxx
Prinsip prinsip-metode-analisis-akar-masalah xxxPrinsip prinsip-metode-analisis-akar-masalah xxx
Prinsip prinsip-metode-analisis-akar-masalah xxxNi Cko
 
How to become a better listener | Talent Connect 2016
How to become a better listener | Talent Connect 2016How to become a better listener | Talent Connect 2016
How to become a better listener | Talent Connect 2016LinkedIn Talent Solutions
 
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012TEST Huddle
 
Successful Collaboration and Employee Engagement Lifecycle
Successful Collaboration and Employee Engagement LifecycleSuccessful Collaboration and Employee Engagement Lifecycle
Successful Collaboration and Employee Engagement LifecycleDan Keldsen
 
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?Emily Greer at GDC 2018: Data-Driven or Data-Blinded?
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?Kongregate
 
12 surprising job interview tips
12 surprising job interview tips12 surprising job interview tips
12 surprising job interview tipsumarus5257
 
root-cause-analysis-checklist
root-cause-analysis-checklistroot-cause-analysis-checklist
root-cause-analysis-checklistdfritzke
 
Datadog + VictorOps Webinar
Datadog + VictorOps WebinarDatadog + VictorOps Webinar
Datadog + VictorOps WebinarDatadog
 
2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivereddrewmargolin
 
CIA Intelligence Analysis for Testers
CIA Intelligence Analysis for TestersCIA Intelligence Analysis for Testers
CIA Intelligence Analysis for TestersDan Stewart
 
COMPISSUES07 - An Introduction to Captology
COMPISSUES07 - An Introduction to CaptologyCOMPISSUES07 - An Introduction to Captology
COMPISSUES07 - An Introduction to CaptologyMichael Heron
 
Writing effective scenarios quick start guide 3.0
Writing effective scenarios   quick start guide 3.0Writing effective scenarios   quick start guide 3.0
Writing effective scenarios quick start guide 3.0Transmedia Storyteller Ltd
 

Ähnlich wie Performance Forensics Methodology Circular Process (20)

Basic Accident Investigation 2016
Basic Accident Investigation 2016 Basic Accident Investigation 2016
Basic Accident Investigation 2016
 
Accident investigation
Accident investigationAccident investigation
Accident investigation
 
Root cause analysis
Root cause analysisRoot cause analysis
Root cause analysis
 
Magic If Play Analysis
Magic If Play AnalysisMagic If Play Analysis
Magic If Play Analysis
 
How to think smarter about software development
How to think smarter about software developmentHow to think smarter about software development
How to think smarter about software development
 
Prinsip prinsip-metode-analisis-akar-masalah xxx
Prinsip prinsip-metode-analisis-akar-masalah xxxPrinsip prinsip-metode-analisis-akar-masalah xxx
Prinsip prinsip-metode-analisis-akar-masalah xxx
 
How to become a better listener | Talent Connect 2016
How to become a better listener | Talent Connect 2016How to become a better listener | Talent Connect 2016
How to become a better listener | Talent Connect 2016
 
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
Rekard Edgren - Curing Our Binary Disease - EuroSTAR 2012
 
Successful Collaboration and Employee Engagement Lifecycle
Successful Collaboration and Employee Engagement LifecycleSuccessful Collaboration and Employee Engagement Lifecycle
Successful Collaboration and Employee Engagement Lifecycle
 
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?Emily Greer at GDC 2018: Data-Driven or Data-Blinded?
Emily Greer at GDC 2018: Data-Driven or Data-Blinded?
 
Looking inside the Cheese - Engaging people in workplace health and safety
Looking inside the Cheese - Engaging people in workplace health and safetyLooking inside the Cheese - Engaging people in workplace health and safety
Looking inside the Cheese - Engaging people in workplace health and safety
 
Observation Essay Outline
Observation Essay OutlineObservation Essay Outline
Observation Essay Outline
 
12 surprising job interview tips
12 surprising job interview tips12 surprising job interview tips
12 surprising job interview tips
 
root-cause-analysis-checklist
root-cause-analysis-checklistroot-cause-analysis-checklist
root-cause-analysis-checklist
 
Datadog + VictorOps Webinar
Datadog + VictorOps WebinarDatadog + VictorOps Webinar
Datadog + VictorOps Webinar
 
2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered2450 f15 03-norman2_as_delivered
2450 f15 03-norman2_as_delivered
 
Fraud prevention - baby steps
Fraud prevention - baby stepsFraud prevention - baby steps
Fraud prevention - baby steps
 
CIA Intelligence Analysis for Testers
CIA Intelligence Analysis for TestersCIA Intelligence Analysis for Testers
CIA Intelligence Analysis for Testers
 
COMPISSUES07 - An Introduction to Captology
COMPISSUES07 - An Introduction to CaptologyCOMPISSUES07 - An Introduction to Captology
COMPISSUES07 - An Introduction to Captology
 
Writing effective scenarios quick start guide 3.0
Writing effective scenarios   quick start guide 3.0Writing effective scenarios   quick start guide 3.0
Writing effective scenarios quick start guide 3.0
 

Mehr von Steve Feldman

Day 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging mattersDay 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging mattersSteve Feldman
 
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role Steve Feldman
 
Cookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard LearnCookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard LearnSteve Feldman
 
Emerging technologies
Emerging technologiesEmerging technologies
Emerging technologiesSteve Feldman
 
Bb world 2011 capacity planning
Bb world 2011 capacity planningBb world 2011 capacity planning
Bb world 2011 capacity planningSteve Feldman
 
Scaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and DeliveryScaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and DeliverySteve Feldman
 
So Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test BlackboardSo Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test BlackboardSteve Feldman
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architectureSteve Feldman
 
Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)Steve Feldman
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Steve Feldman
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)Steve Feldman
 
Bb performance-engineering-toad
Bb performance-engineering-toadBb performance-engineering-toad
Bb performance-engineering-toadSteve Feldman
 
Bb performance-engineering-spotlight
Bb performance-engineering-spotlightBb performance-engineering-spotlight
Bb performance-engineering-spotlightSteve Feldman
 
Sun blackboardwp10 1_07
Sun blackboardwp10 1_07Sun blackboardwp10 1_07
Sun blackboardwp10 1_07Steve Feldman
 
Dell bb quest_wp_jan6
Dell bb quest_wp_jan6Dell bb quest_wp_jan6
Dell bb quest_wp_jan6Steve Feldman
 
Hied blackboard dell_whitepaper
Hied blackboard dell_whitepaperHied blackboard dell_whitepaper
Hied blackboard dell_whitepaperSteve Feldman
 

Mehr von Steve Feldman (20)

Day 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging mattersDay 2 05 - steve feldman - logging matters
Day 2 05 - steve feldman - logging matters
 
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
PTOn...Finding the Time to Dedicate Individual Projects of Passion and Role
 
3days september
3days september3days september
3days september
 
Logonomics
LogonomicsLogonomics
Logonomics
 
Cookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard LearnCookbook for Administrating Blackboard Learn
Cookbook for Administrating Blackboard Learn
 
Emerging technologies
Emerging technologiesEmerging technologies
Emerging technologies
 
Bb sql serverdell
Bb sql serverdellBb sql serverdell
Bb sql serverdell
 
Bb world 2011 capacity planning
Bb world 2011 capacity planningBb world 2011 capacity planning
Bb world 2011 capacity planning
 
Scaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and DeliveryScaling Blackboard Learn™ for High Performance and Delivery
Scaling Blackboard Learn™ for High Performance and Delivery
 
So Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test BlackboardSo Your Boss Wants You to Performance Test Blackboard
So Your Boss Wants You to Performance Test Blackboard
 
Short reference architecture
Short reference architectureShort reference architecture
Short reference architecture
 
Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)Sfeldman bbworld 07_going_enterprise (1)
Sfeldman bbworld 07_going_enterprise (1)
 
Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07Sfeldman performance bb_worldemea07
Sfeldman performance bb_worldemea07
 
Dell bb wp_final
Dell bb wp_finalDell bb wp_final
Dell bb wp_final
 
B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)B2 2006 sizing_benchmarking (1)
B2 2006 sizing_benchmarking (1)
 
Bb performance-engineering-toad
Bb performance-engineering-toadBb performance-engineering-toad
Bb performance-engineering-toad
 
Bb performance-engineering-spotlight
Bb performance-engineering-spotlightBb performance-engineering-spotlight
Bb performance-engineering-spotlight
 
Sun blackboardwp10 1_07
Sun blackboardwp10 1_07Sun blackboardwp10 1_07
Sun blackboardwp10 1_07
 
Dell bb quest_wp_jan6
Dell bb quest_wp_jan6Dell bb quest_wp_jan6
Dell bb quest_wp_jan6
 
Hied blackboard dell_whitepaper
Hied blackboard dell_whitepaperHied blackboard dell_whitepaper
Hied blackboard dell_whitepaper
 

Kürzlich hochgeladen

ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvRicaMaeCastro1
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management SystemChristalin Nelson
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfPrerana Jadhav
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4JOYLYNSAMANIEGO
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptxmary850239
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfPatidar M
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfVanessa Camilleri
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17Celine George
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Developmentchesterberbo7
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQuiz Club NITW
 

Kürzlich hochgeladen (20)

ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnvESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
ESP 4-EDITED.pdfmmcncncncmcmmnmnmncnmncmnnjvnnv
 
Transaction Management in Database Management System
Transaction Management in Database Management SystemTransaction Management in Database Management System
Transaction Management in Database Management System
 
Narcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdfNarcotic and Non Narcotic Analgesic..pdf
Narcotic and Non Narcotic Analgesic..pdf
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4Daily Lesson Plan in Mathematics Quarter 4
Daily Lesson Plan in Mathematics Quarter 4
 
4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx4.11.24 Mass Incarceration and the New Jim Crow.pptx
4.11.24 Mass Incarceration and the New Jim Crow.pptx
 
Active Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdfActive Learning Strategies (in short ALS).pdf
Active Learning Strategies (in short ALS).pdf
 
ICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdfICS2208 Lecture6 Notes for SL spaces.pdf
ICS2208 Lecture6 Notes for SL spaces.pdf
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17How to Fix XML SyntaxError in Odoo the 17
How to Fix XML SyntaxError in Odoo the 17
 
Using Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea DevelopmentUsing Grammatical Signals Suitable to Patterns of Idea Development
Using Grammatical Signals Suitable to Patterns of Idea Development
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITWQ-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
Q-Factor HISPOL Quiz-6th April 2024, Quiz Club NITW
 

Performance Forensics Methodology Circular Process

  • 1. 1
  • 3. Did you all get a chance to read that? As a public company we need to have our disclosure statement before allfrom the ground youon true enterprise Vista is the only solution built presentations. If up have any questions ontechnology --- please speak with our Generalyou continue to provide your what it means allowing you to ensure that Counsel. faculty and students an outstanding experience 3
  • 4. 4
  • 5. 5
  • 6. 6
  • 7. 7
  • 8. 8
  • 10. Our session isn’t about crime scene investigation. I’m not going to attempt to talk about digital forensics from a security and fraud perspective. I’m here to put context around performance and scalability incidents that happen in your application environments every day, week, month and year. There’s no reason to assume that performance problems can only be solved by “black magic”. A rational, evidence-supported process can be used to solve a performance problem. The first definition about forensics assumes that “something” occurs in the form of a crime. For all intensive purposes a crime is considered pre- meditated. Often crimes such as denial of service, script injection and spam attacks can cause performance problems. Performance incidents can happen when they are not necessarily premeditated. They happen because of failure. Things break…it’s a fact of life. When breakage or breakdowns occur they are not visibly apparent or obvious to every set of eyes looking on. This can be problematic when diagnosis bias is introduced or value attribution is incorrectly established. 10
  • 12. 12
  • 13. Search Google and you will be amazed how little meaningful information you get by the words “performance forensics” in the context of computers and software. One paper by Bob Sneed from Sun Microsystems (http://www.sun.com/blueprints/1203/817-4444.pdf) is out there, but very little else. So you will have to trust me in my primitive definition of performance forensics. You might even offer to help make it better. Performance forensics is like any other forensics process. It begins with collective evidence. If you are lucky and have a lot of tools in place you will have a starting point of data to sift through. More often then not, the data is not there. You are not always lucky to have the data when you need it and/or it might not be in the best format for getting to the root cause of a problem. Evidence as we will discuss later can be collected after the fact. Techniques such as discrete simulation can be used to re-enact an incident. When that does happen, you have the ability to capture all of the data you want. You simply need to know what data to collect. It’s a circuitous loop of sorts…mainly because you might not know what data to collect to begin with. It’s like when I look under the hood of my car. I have no idea what I’m looking at…Maybe it’s that smoking gun I’m in search of. Yeah, I guess if I see some kind of corrosive, smoke or leak it might be painfully obvious…but it never is. Not with today’s cars…Computers and software specifically are the same. Rarely is there that smoking 13 gun sitting in front of your face waiting to be found. Thus evidence is
  • 15. 15
  • 17. 17
  • 18. 18
  • 19. 19
  • 20. 20
  • 21. 21
  • 22. 22
  • 27. 27
  • 28. Problems are not always easily identifiable. When I say that I feel off or sick, I leave the listener desiring more information. They might infer that I have a stomach pain, a cold or a headache. It could be that I am tired or I have a broken arm. A more related example that I often hear is that my system is slow. What defines slow? Can you show me? Can I experience the slowness? Is it always slow every single day and every minute? Are all of the components that make up the physical architecture necessarily slow? Are particular use cases experiencing latency? Do they always experience latency or is it at specific times? Is it specific users who experience latency? Are the users different is some kind of fashion? Does the problem happen after a particular interaction pattern? Does it happen with a particular piece of data? When a problem is easily identifiable, define a clear, intelligible problem statement. The problem statement is used to aid the investigation so the forensics process can focus on collecting meaningful data to get to root cause analysis. Narrowing down to a problem statement from the unknown can be an exhaustive effort. Start with questioning (not formal interviewing) in which your goal is to exclusively narrow down the chasm of possibilities. Start with the “Lassie Question: Can you show me?” Experiencing the problem first hand provides basic context. If the problem can’t be reproduced, try to provide supporting clues so that the unpredictable can become more predictable. You can’t necessarily replicate the performance problem at will. Do you have supporting data about your experience? Can you explain what happened to you? Do you know when it happened (smallest time window)? Has it happened before? If so when? Try to get down to the exact minute if possible. Has it happened to anyone else? What were they doing? Did it happen to them at the same time as you? It comes off like you are asking dozens and dozens of questions, but in reality you are not. You are gathering basic context: Who, What, Where and When. Be unwilling to announce a problem statement until you have confidence in the development of the problem statement (not the cause of the issue). Remember we are not diagnosing, we are simply collecting and announcing symptoms. 28
  • 29. 29
  • 30. I’m not the creator of this methodology. I’m quite sure that others who are far more knowledgeable on the subject would tell you I’m possibly missing a step or that I am drawing out the process too far. A picture is truly worth a thousand words. I will breakdown each element of the methodology in subsequent slides. I’ve designed a circular visualization for the obvious conclusion that I’ve come to over the years in which the process must revolve in order to come to root cause analysis. Performance forensics doesn’t necessarily begin with evidence collection. Rather, it potentially begins long before an incident occurs. Let’s take an abstract example such as a person complains about chest pain. The person tells their spouse that at times they have unbearable pains, but eventually it goes away. It doesn’t happen enough and the pain isn’t so severe that it’s worth the time or the effort to go to the doctor. The process of convincing yourself that the symptoms you are experiencing is not what you really have is called diagnosis bias. I will talk about this in greater detail later. This pain might go on and on for quite some time until it progresses. Analysis could be initiated at any point. More often then not, the complaints go unrealized and forensics is placed on hold. It comes back later on. The question is when. Typically when a terrible even occurs. It could be a heart attack or sadly a loss of life. The forensic engineer is tasked with tracing back why it happened, was foul play suspected and could it have been avoided. I propose that at any time the methodology can be initiated. No major issue has to occur for performance forensics to begin. Symptoms do not necessarily have to show-up for the process to begin. You can call this what you want, but basically the collection of evidence, interviewing, modeling/visualizing and planning for the future is most commonly referred to as capacity planning. It’s not the much different from what we are trying to accomplish with performance forensics. The key difference is proactive behavior versus reactive behavior. The methodology begins with the collection of data. We can call this data evidence. Evidence is collected in two ways: intended data collection and simulated data collection. When data is not available, we often go through the process of putting data collectors in place. The thought behind this is that if something happened once, it’s bound to happen again. Interviewing is incorporated into the methodology. I will discuss techniques for interviewing. Understand that when humans are involved and asked to participate, you run the greatest chance for diagnosis bias and value attribution (two topics I will present in greater detail). Next I will discuss why modeling and visualizing a problem can be critical at getting to the root cause of a performance issue. 30
  • 31. 31
  • 32. The best analogy to depict the execution model for wait events is the grocery store checkout line. Assume the cashier is the CPU. The customer who is currently being checked out by the cashier is the running session. The customers who are waiting in line represent the runnable queue. If customer1 who is being checked out requires a price check on a product, customer1 must wait until the price check is completed. Meanwhile, the next in line, customer2, is immediately checked out by the cashier until the price check is completed for customer1. When the price check is completed, the cashier can resume the check out of customer1. This is the simplest illustration of the wait event execution model. 32
  • 33. The best analogy to depict the execution model for wait events is the grocery store checkout line. Assume the cashier is the CPU. The customer who is currently being checked out by the cashier is the running session. The customers who are waiting in line represent the runnable queue. If customer1 who is being checked out requires a price check on a product, customer1 must wait until the price check is completed. Meanwhile, the next in line, customer2, is immediately checked out by the cashier until the price check is completed for customer1. When the price check is completed, the cashier can resume the check out of customer1. This is the simplest illustration of the wait event execution model. 33
  • 34. 34
  • 35. 35
  • 36. 36
  • 37. 37
  • 38. 38
  • 39. JConsole on Steroids Great presentation: http://www.javapassion.com/javase/VisualVM.pdf Another Great Presentation: http://weblogs.java.net/blog/mandychung/archive/VisualVM-BOF-2007.pdf 39
  • 40. 40
  • 41. 41
  • 42. 42
  • 43. 43
  • 47. Using pngrewrite to optimize this image (http://entropymine.com/jason/pngrewrite/) Cost Savings: 3KB or roughly 15% 47
  • 48. Using optipng to optimize this image (http://sourceforge.net/projects/optipng/) Cost Savings: 4KB or roughly 9% 48
  • 49. Using optipng to optimize this image (http://sourceforge.net/projects/optipng/) Cost Savings: 4MB or roughly 47.50% 49
  • 51. Great presentation highlighting differences between tools: http://assets.en.oreilly.com/1/event/29/Website%20Performance%20Analysi s%20Presentation.ppt 51
  • 52. 52
  • 54. 54
  • 55. http://www.fiddler2.com/Fiddler2/version.asp Demo videos: http://www.fiddler2.com/Fiddler/help/video/default.asp Example of use as a reverse proxy: http://blogs.msdn.com/nexpert/archive/2009/06/04/capturing-http-with- fiddler-as-a-reverse-proxy.aspx 55
  • 57. 57
  • 58. Can also consider using Microsoft VRTA: http://www.microsoft.com/downloads/details.aspx?FamilyID=119f3477-dced- 41e3-a0e7-d8b5cae893a3&displaylang=en 58
  • 59. 59
  • 61. Easily configured Virtual Machine by cloning VMs using XenCenter 61
  • 62. 62
  • 63. 63
  • 64. 64
  • 65. 65
  • 66. 66
  • 67. 67
  • 68. 68