SlideShare a Scribd company logo
1 of 29
Download to read offline
Slow is the new down.
Understanding
Slowness
When shit goes wrong,
the gloves come off.
Goals
❖ Approach an understanding of your architecture,
❖ Convert this understanding into a strategic plan
❖ Develop logistics for diagnosis
❖ Discuss discipline around remediation
The first step
Understand
Build a map
!
Build two
!
!
“If you don’t have a good map of your
architecture, Dora will whoop you.”
-Theo
How you’d like to think of
Your architecture
Elegant

Beautiful in its simplicity

Robust

Resilient
When in actuality
Your

Architecture
is
!
Organically grown

Cancerous tumors
Disaster waiting to happen
Hella complicated
!
of which you are



Inexplicably proud
Photograph courtesy of Herman Rhoids
Map #1
High-level map
Architectural components

Connectedness

Data flow
Map #2
Low-level map
Component versions
Component languages
OS/NICs/HBAs
Location
Switches/Routers/FW
Connected Service details
Develop
Strategic Plan
There are 2 types useful SREs:
!
Spanning several boundaries
!
Spanning all boundaries
Photograph courtesy of Tambako The Jaguar
https://www.flickr.com/photos/tambako/4598642399
You can’t play ball without bases.
Who’s on first?
Establish who is responsible for each
component in each context.
!
Establish who is responsible when that
person fails

(upward).
!
Establish who is responsible when that
person needs help

(upward and downward)
Nothing will ever be “broken”

if it isn’t expected to “work.”
Expectations
Set expectations for

breakages and slowdowns.
!
What you build will break,
understanding under what stress is your
job as an engineer.
Parts are parts.
Ø tech loyalty
Constructing a solution from parts.
!
Parts are replaceable.
!
Have a list of replacement vendors of
part alternates.
!
If you design a solution relying on a part
available only from a single vendor, you
have accomplished lock-in.
Photograph courtesy of Jason Ilagan
https://www.flickr.com/photos/thepen/428014152
When things are broken (or slow)
Logistics matter
Observability
!
Tool parity
!
Safety harnesses
You cannot improve

what you cannot measure
Measure
Cut once
Rear Admiral Grace Murray Hopper 1906-1992
The one beast you cannot slay:
Latency
You must subdue it



First you must understand it
Averages are for chumps
Histograms over
Aggregations
Reducing many observations S
to N values (∀ |N| << |S|) is
the definition of lossy.
!
or… “you don’t know shit”
Exploring quantiles is simple and can provide increased understanding.
Quantiles
Time-series histograms are a
lot of information to digest.
!
Moving quantiles can often
provide much more insight.
Remember that you’re consolidating time.
Granular data
Time consolidation is needed.
!
It can be misleading.
!
Ask good statistical questions.
Knowing your q(0.99) is “too high” is one thing…
Work backwards
Work backwards.
!
At what quantile are you?
mvalue: http://www.brendangregg.com/FrequencyTrails/modes.html
Understand
Workloads
man(1) is a tool’s tool.
Tools
Tools do not a master craftsman make.
!
Regardless, know your damn tools.
!
There are three types of tools.
Photograph courtesy of James Bowe
https://www.flickr.com/photos/jamesrbowe/7164489201
Tool type #1
Observation
Taking measurements.
!
Inspecting state.
!
Inspecting conversation.
Photograph courtesy of Gordon Wrigley
https://www.flickr.com/photos/tolomea/4196160169
Tool type #2
Synthesis Synthesizes something to
enable the use of tool type #1
Photograph courtesy of Simon Yao
https://www.flickr.com/photos/smjb/8107539280
Tool type #3
Manipulation
Changing state.
!
Used for testing hypotheses.
Photograph courtesy of DragonFlyCC
https://www.flickr.com/photos/ladydragonflyherworld/4299545598
Favorite tools
Martial Arts
• DTrace
• truss/ktrace/strace
• tcpdump/snoop
• mdb/gdb/dbx/lldb
• sar/mpstat/iostat/vmstat
!
• curl
!
• vi/echo
• sysctl/mdb(-w)
• DTrace(-w)
#1#2#3
Photograph courtesy of Republic of Korea
https://www.flickr.com/photos/koreanet/6099430458
Lorem Ipsum Dolor Indeed
Anecdotes This one time at band camp
Photograph courtesy of umjanedoan
https://www.flickr.com/photos/umjanedoan/497411169
Latency
I’m huge in Japan
Latency for a hot landing page jumps
from around 300ms to around 450ms.
!
No changes in latency to other regions.
Latency
Scrub in

or go home
Latency for disk writes radically change
behavior.
!
It’s as if we have a new workload.
!
We do not have a new workload.
!
… we do have a new workload.
!
Photograph courtesy of Phalinn Ooi
https://www.flickr.com/photos/umjanedoan/497411169
Latent effect
Hitting the wall
Disk I/O latency goes to hell at 3pm.
!
Turns out disk throughput is plateaued.
!
No change in configuration near 3pm.
!
Oops, I tripped at 10am.
Illustration courtesy of Jeff Warren
https://www.flickr.com/photos/jeffreywarren/354553098
Thank You

More Related Content

Viewers also liked

OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012Theo Schlossnagle
 
Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentationTheo Schlossnagle
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 
A Coherent Discussion About Performance
A Coherent Discussion About PerformanceA Coherent Discussion About Performance
A Coherent Discussion About PerformanceTheo Schlossnagle
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observabilityTheo Schlossnagle
 

Viewers also liked (10)

Craftsmanship
CraftsmanshipCraftsmanship
Craftsmanship
 
OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012OmniOS Motivation and Design ~ LISA 2012
OmniOS Motivation and Design ~ LISA 2012
 
Monitoring is easy, why are we so bad at it presentation
Monitoring is easy, why are we so bad at it  presentationMonitoring is easy, why are we so bad at it  presentation
Monitoring is easy, why are we so bad at it presentation
 
Project reality
Project realityProject reality
Project reality
 
It's all about telemetry
It's all about telemetryIt's all about telemetry
It's all about telemetry
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
A Coherent Discussion About Performance
A Coherent Discussion About PerformanceA Coherent Discussion About Performance
A Coherent Discussion About Performance
 
Monitoring and observability
Monitoring and observabilityMonitoring and observability
Monitoring and observability
 
Monitoring the #DevOps way
Monitoring the #DevOps wayMonitoring the #DevOps way
Monitoring the #DevOps way
 
Operational Software Design
Operational Software DesignOperational Software Design
Operational Software Design
 

Similar to Understanding Slowness

Network Mapping & Data Storytelling for Beginners
Network Mapping & Data Storytelling for BeginnersNetwork Mapping & Data Storytelling for Beginners
Network Mapping & Data Storytelling for BeginnersRenaud Clément
 
Just the basics_strata_2013
Just the basics_strata_2013Just the basics_strata_2013
Just the basics_strata_2013Ken Mwai
 
Vision And Progress
Vision And ProgressVision And Progress
Vision And Progressmpmeier
 
Planning for Uncertainty
Planning for UncertaintyPlanning for Uncertainty
Planning for UncertaintyMarcin Czenko
 
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014Ruven Gotz
 
Visual Tools and Innovation Games Workshop - #SPSChicagoBurbs - May 2014
Visual Tools and Innovation Games  Workshop - #SPSChicagoBurbs - May 2014Visual Tools and Innovation Games  Workshop - #SPSChicagoBurbs - May 2014
Visual Tools and Innovation Games Workshop - #SPSChicagoBurbs - May 2014Michelle Caldwell, PSM, SSGB
 
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...Colin Panisset
 
Design practice Project - MSc HCI
Design practice Project - MSc HCIDesign practice Project - MSc HCI
Design practice Project - MSc HCIGustavo Soto Miño
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at ScaleDavid Simons
 
Visualising Space and Time
Visualising Space and TimeVisualising Space and Time
Visualising Space and TimeShawn Day
 
Data visualisations as a gateway to programming
Data visualisations as a gateway to programmingData visualisations as a gateway to programming
Data visualisations as a gateway to programmingMia
 
Steps for mapping - a rough guide
Steps for mapping - a rough guideSteps for mapping - a rough guide
Steps for mapping - a rough guideSimon Wardley
 
The Biggest Picture: Situational Awareness on a Global Level
The Biggest Picture: Situational Awareness on a Global LevelThe Biggest Picture: Situational Awareness on a Global Level
The Biggest Picture: Situational Awareness on a Global LevelInside Analysis
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Alex Pinto
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of UncertaintyKevlin Henney
 
The Future of the Map
The Future of the MapThe Future of the Map
The Future of the Mapelliotharmon
 
CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1John Rooksby
 
Visual tools and innovation games workshop - SPTechCon - Apr 2014
Visual tools and innovation games workshop - SPTechCon - Apr 2014Visual tools and innovation games workshop - SPTechCon - Apr 2014
Visual tools and innovation games workshop - SPTechCon - Apr 2014Ruven Gotz
 

Similar to Understanding Slowness (20)

Network Mapping & Data Storytelling for Beginners
Network Mapping & Data Storytelling for BeginnersNetwork Mapping & Data Storytelling for Beginners
Network Mapping & Data Storytelling for Beginners
 
Grc t18
Grc t18Grc t18
Grc t18
 
Just the basics_strata_2013
Just the basics_strata_2013Just the basics_strata_2013
Just the basics_strata_2013
 
Vision And Progress
Vision And ProgressVision And Progress
Vision And Progress
 
Planning for Uncertainty
Planning for UncertaintyPlanning for Uncertainty
Planning for Uncertainty
 
1. Cyber and Intelligence
1. Cyber and Intelligence1. Cyber and Intelligence
1. Cyber and Intelligence
 
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014
Visual Tools and Innovation Games - Workshop - SPS Chicago Suburbs - May 2014
 
Visual Tools and Innovation Games Workshop - #SPSChicagoBurbs - May 2014
Visual Tools and Innovation Games  Workshop - #SPSChicagoBurbs - May 2014Visual Tools and Innovation Games  Workshop - #SPSChicagoBurbs - May 2014
Visual Tools and Innovation Games Workshop - #SPSChicagoBurbs - May 2014
 
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...
LASTconf 2018 - System Mapping: Discover, Communicate and Explore the Real Co...
 
Design practice Project - MSc HCI
Design practice Project - MSc HCIDesign practice Project - MSc HCI
Design practice Project - MSc HCI
 
Data Modelling at Scale
Data Modelling at ScaleData Modelling at Scale
Data Modelling at Scale
 
Visualising Space and Time
Visualising Space and TimeVisualising Space and Time
Visualising Space and Time
 
Data visualisations as a gateway to programming
Data visualisations as a gateway to programmingData visualisations as a gateway to programming
Data visualisations as a gateway to programming
 
Steps for mapping - a rough guide
Steps for mapping - a rough guideSteps for mapping - a rough guide
Steps for mapping - a rough guide
 
The Biggest Picture: Situational Awareness on a Global Level
The Biggest Picture: Situational Awareness on a Global LevelThe Biggest Picture: Situational Awareness on a Global Level
The Biggest Picture: Situational Awareness on a Global Level
 
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
Secure Because Math: A Deep-Dive on Machine Learning-Based Monitoring (#Secur...
 
The Architecture of Uncertainty
The Architecture of UncertaintyThe Architecture of Uncertainty
The Architecture of Uncertainty
 
The Future of the Map
The Future of the MapThe Future of the Map
The Future of the Map
 
CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1CS5032 Lecture 5: Human Error 1
CS5032 Lecture 5: Human Error 1
 
Visual tools and innovation games workshop - SPTechCon - Apr 2014
Visual tools and innovation games workshop - SPTechCon - Apr 2014Visual tools and innovation games workshop - SPTechCon - Apr 2014
Visual tools and innovation games workshop - SPTechCon - Apr 2014
 

More from Theo Schlossnagle

Adding Simplicity to Complexity
Adding Simplicity to ComplexityAdding Simplicity to Complexity
Adding Simplicity to ComplexityTheo Schlossnagle
 
Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwareTheo Schlossnagle
 
Distributed Systems - Like It Or Not
Distributed Systems - Like It Or NotDistributed Systems - Like It Or Not
Distributed Systems - Like It Or NotTheo Schlossnagle
 
Applying SRE techniques to micro service design
Applying SRE techniques to micro service designApplying SRE techniques to micro service design
Applying SRE techniques to micro service designTheo Schlossnagle
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoringTheo Schlossnagle
 
Building Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachBuilding Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachTheo Schlossnagle
 
Applying operations culture to everything
Applying operations culture to everythingApplying operations culture to everything
Applying operations culture to everythingTheo Schlossnagle
 

More from Theo Schlossnagle (13)

Adding Simplicity to Complexity
Adding Simplicity to ComplexityAdding Simplicity to Complexity
Adding Simplicity to Complexity
 
Put Some SRE in Your Shipped Software
Put Some SRE in Your Shipped SoftwarePut Some SRE in Your Shipped Software
Put Some SRE in Your Shipped Software
 
Monitoring 101
Monitoring 101Monitoring 101
Monitoring 101
 
Distributed Systems - Like It Or Not
Distributed Systems - Like It Or NotDistributed Systems - Like It Or Not
Distributed Systems - Like It Or Not
 
Applying SRE techniques to micro service design
Applying SRE techniques to micro service designApplying SRE techniques to micro service design
Applying SRE techniques to micro service design
 
Commandments of scale
Commandments of scaleCommandments of scale
Commandments of scale
 
Is this normal?
Is this normal?Is this normal?
Is this normal?
 
Social improvements in monitoring
Social improvements in monitoringSocial improvements in monitoring
Social improvements in monitoring
 
Building Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approachBuilding Scalable Systems: an asynchronous approach
Building Scalable Systems: an asynchronous approach
 
Webops dashboards
Webops dashboardsWebops dashboards
Webops dashboards
 
Web Operations Career
Web Operations CareerWeb Operations Career
Web Operations Career
 
Http front-ends
Http front-endsHttp front-ends
Http front-ends
 
Applying operations culture to everything
Applying operations culture to everythingApplying operations culture to everything
Applying operations culture to everything
 

Recently uploaded

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

Understanding Slowness

  • 1. Slow is the new down. Understanding Slowness When shit goes wrong, the gloves come off.
  • 2. Goals ❖ Approach an understanding of your architecture, ❖ Convert this understanding into a strategic plan ❖ Develop logistics for diagnosis ❖ Discuss discipline around remediation
  • 3. The first step Understand Build a map ! Build two ! ! “If you don’t have a good map of your architecture, Dora will whoop you.” -Theo
  • 4. How you’d like to think of Your architecture Elegant
 Beautiful in its simplicity
 Robust
 Resilient
  • 5. When in actuality Your
 Architecture is ! Organically grown
 Cancerous tumors Disaster waiting to happen Hella complicated ! of which you are
 
 Inexplicably proud Photograph courtesy of Herman Rhoids
  • 6. Map #1 High-level map Architectural components
 Connectedness
 Data flow
  • 7. Map #2 Low-level map Component versions Component languages OS/NICs/HBAs Location Switches/Routers/FW Connected Service details
  • 8. Develop Strategic Plan There are 2 types useful SREs: ! Spanning several boundaries ! Spanning all boundaries Photograph courtesy of Tambako The Jaguar https://www.flickr.com/photos/tambako/4598642399
  • 9. You can’t play ball without bases. Who’s on first? Establish who is responsible for each component in each context. ! Establish who is responsible when that person fails
 (upward). ! Establish who is responsible when that person needs help
 (upward and downward)
  • 10. Nothing will ever be “broken”
 if it isn’t expected to “work.” Expectations Set expectations for
 breakages and slowdowns. ! What you build will break, understanding under what stress is your job as an engineer.
  • 11. Parts are parts. Ø tech loyalty Constructing a solution from parts. ! Parts are replaceable. ! Have a list of replacement vendors of part alternates. ! If you design a solution relying on a part available only from a single vendor, you have accomplished lock-in. Photograph courtesy of Jason Ilagan https://www.flickr.com/photos/thepen/428014152
  • 12. When things are broken (or slow) Logistics matter Observability ! Tool parity ! Safety harnesses
  • 13. You cannot improve
 what you cannot measure Measure Cut once Rear Admiral Grace Murray Hopper 1906-1992
  • 14. The one beast you cannot slay: Latency You must subdue it
 
 First you must understand it
  • 15. Averages are for chumps Histograms over Aggregations Reducing many observations S to N values (∀ |N| << |S|) is the definition of lossy. ! or… “you don’t know shit”
  • 16. Exploring quantiles is simple and can provide increased understanding. Quantiles Time-series histograms are a lot of information to digest. ! Moving quantiles can often provide much more insight.
  • 17. Remember that you’re consolidating time. Granular data Time consolidation is needed. ! It can be misleading. ! Ask good statistical questions.
  • 18. Knowing your q(0.99) is “too high” is one thing… Work backwards Work backwards. ! At what quantile are you?
  • 20. man(1) is a tool’s tool. Tools Tools do not a master craftsman make. ! Regardless, know your damn tools. ! There are three types of tools. Photograph courtesy of James Bowe https://www.flickr.com/photos/jamesrbowe/7164489201
  • 21. Tool type #1 Observation Taking measurements. ! Inspecting state. ! Inspecting conversation. Photograph courtesy of Gordon Wrigley https://www.flickr.com/photos/tolomea/4196160169
  • 22. Tool type #2 Synthesis Synthesizes something to enable the use of tool type #1 Photograph courtesy of Simon Yao https://www.flickr.com/photos/smjb/8107539280
  • 23. Tool type #3 Manipulation Changing state. ! Used for testing hypotheses. Photograph courtesy of DragonFlyCC https://www.flickr.com/photos/ladydragonflyherworld/4299545598
  • 24. Favorite tools Martial Arts • DTrace • truss/ktrace/strace • tcpdump/snoop • mdb/gdb/dbx/lldb • sar/mpstat/iostat/vmstat ! • curl ! • vi/echo • sysctl/mdb(-w) • DTrace(-w) #1#2#3 Photograph courtesy of Republic of Korea https://www.flickr.com/photos/koreanet/6099430458
  • 25. Lorem Ipsum Dolor Indeed Anecdotes This one time at band camp Photograph courtesy of umjanedoan https://www.flickr.com/photos/umjanedoan/497411169
  • 26. Latency I’m huge in Japan Latency for a hot landing page jumps from around 300ms to around 450ms. ! No changes in latency to other regions.
  • 27. Latency Scrub in
 or go home Latency for disk writes radically change behavior. ! It’s as if we have a new workload. ! We do not have a new workload. ! … we do have a new workload. ! Photograph courtesy of Phalinn Ooi https://www.flickr.com/photos/umjanedoan/497411169
  • 28. Latent effect Hitting the wall Disk I/O latency goes to hell at 3pm. ! Turns out disk throughput is plateaued. ! No change in configuration near 3pm. ! Oops, I tripped at 10am. Illustration courtesy of Jeff Warren https://www.flickr.com/photos/jeffreywarren/354553098