SlideShare a Scribd company logo
Performance
Oriented Design
        QCon São Paulo 2011
  Rodrigo Albani de Campos - @xinu
        camposr@gmail.com
Agenda

• Performance & Design
• Why should I care ?
• What should I measure ?
• References
What is performance ?
the capabilities of a machine or
product, esp. when observed
under particular conditions : the
hardware is put through tests
which assess the performance of
the processor.
What is design ?

his design of reaching the top:
intention, aim, purpose, plan,
intent, objective, object, goal,
end, target; hope, desire, wish,
dream, aspiration, ambition.
McLaren MP4 12c GT3
Performance Oriented Design
Performance Oriented Design
Performance Oriented Design
Underlying Operating
            Systems
   Read IOPS
                       IO Wait     Page Faults
          Run Queue
                                        Disk Usage
# users              USER CPU
      SYSTEM CPU Resident Size Write IOPS
                    Network Traffic Memory Usage
   Page out
                              Interrupts
            Page in
Packet Loss         Network Collision
                                         # processes
            Buffers Kernel Tables
What about code ?
Apr 25, 2011 5:44:02 PM org.apache.fop.fo.FOTreeBuilder fatalError
SEVERE: javax.xml.transform.TransformerException:
java.lang.NullPointerException: Parameter alpha must not be null
Apr 25, 2011 5:44:02 PM org.apache.fop.cli.Main startFOP
SEVERE: Exception
javax.xml.transform.TransformerException:
java.lang.NullPointerException: Parameter alpha must not be null
         at
org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217)
         at
org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125)
         at org.apache.fop.cli.Main.startFOP(Main.java:166)
         at org.apache.fop.cli.Main.main(Main.java:197)
Caused by: javax.xml.transform.TransformerException:
java.lang.NullPointerException: Parameter alpha must not be null
         at
org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Tr
ansformerImpl.java:2416)
         at
org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResul
t.java:1374)
         at
org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes(
ElemApplyTemplates.java:393)
         at
org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla
tes.java:176)
We’ve been riding
 space shuttles
 blindfolded
 handcuffed
Why should I care ?
Why should I care ?

Capacity planning is not just about the future
anymore.
Today, there is a serious need to squeeze more
out of your current capital equipment.
                    The Guerrilla Manual Online
                     http://www.perfdynamics.com/Manifesto/gcaprules.html
Why should I care ?

“Our systems are very simple,
  there’s no need for such
   performance metrics”
It goes like this...
         The Internet




        Web Server
      Application Server
          Database
It goes like this...
                      The Internet




   Web Server
 Application Server




       Database
It goes like this...
                                The Internet




  Web Server
Application Server




                     Database
It goes like this...
                     The Internet




  Web Server
Application Server




                                    Slaves RO




    Master RW
It goes like this...
                     The Internet




  Web Server
Application Server




   Master RW
                                    Slaves RO
It goes like this...
                                 The Internet




   Web Server
 Application Server




  Caches




              Master RW                           Slaves RO




                      Evil Machines Corporation
It goes like this...
                                    The Internet




      CPUs will be idle
    Disks will be sleeping
      Network will be
      Web Server
    Application Server




         underused
... and your users will be
     Caches




        complaining...
                 Master RW                           Slaves RO




                         Evil Machines Corporation
Performance Oriented Design
Why should I care ?


 “But we are using the
       Cloud !”
Why should I care ?

•   So now you’re in an
    utility computing model
•   You’re charged per usage
Why should I care ?

“Updating performance
counters will make my
  code run slower”
Why should I care ?
•   Datacenter Average CPU
    utilization is around 15%
•   If updating performance
    counters is a problem then you
    really need them
• Those microseconds will save
    you hours of troubleshooting !
Why should I care ?


“These are non-functional
     requirements”
Why should I care ?
               Distinct     Query      Revenue/       Any Clicks   Satisfaction Time to Click
             Queries/User Refinement      User                                    (increase in
                                                                                     ms)

 50ms                  0           0              0            0             0             0
 200ms                 0           0              0 -0,30% -0,40%                      500
 500ms                 0 -0,60% -1,20% -1,00% -0,90%                                 1200
 1000ms -0,70% -0,90% -2,80% -1,90% -1,60%                                           1900
 2000ms -1,80% -2,10% -4,30% -4,40% -3,80%                                           3100

The User and Business Impact of Server Delays, Additional Bytes, and HTTP
Chunking in Web Search - Eric Schurman (Amazon), Jake Brutlag (Google)
http://velocityconf.com/velocity2009/public/schedule/detail/8523
Why should I care ?

“Fast isn’t a feature, fast is
a Requirement”
                 Jesse Robins - OPSCode
What should I
 measure ?
Queues
The not so typical performance metrics

• Invented the fields of traffic
  engineering and queuing theory
• 1909 - Published “The theory of
  Probabilities and Telephone
  Conversations”                            Agner Krarup Erlang




• 1917 - Published “Solution of some
  Problems in the Theory of Probabilities
  of Significance in Automatic Telephone
  Exchanges"
Queues
The not so typical performance metrics
• 1961 - CTSS was first
  demonstrated at MIT
• 1965 - Allan Scherr used
  machine repairman
  problem to model a
  time-shared system as
  part of Project MAC
• Another offspring of
  Project MAC is Multics
Queues
                The not so typical performance metrics

                  • IBM System/370 model 158-3 - 1.0 MIPS @
                           1.0 MHz -1972
                         • Average purchase price: $ 771,000*
                          • No disks or peripherals included
                         • $ 4,082,039 by 2011
                  • Intel Core i7 Extreme Edition 990x
                           released in 2011 peaks 159,000 MIPS @
                           3,46GHz
* Source: http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3135.html
Queues
The not so typical performance metrics

          Computer System
                            Disks



                  CPU
Queues
The not so typical performance metrics

          (A)    λ                          X   (C)
                                        S
Open/Closed               W
 Network                        R
    A                Arrival Count
    λ              Arrival Rate (A/T)
    W            Time spent in Queue
    R            Residence Time (W+S)
    S                Service Time
    X           System Throughput (C/T)
    C           Completed tasks count
Arrival Rate (λ)
• Pretty straightforward
• Requests per second/hour/day
• Not the same as throughput (X)
 • Although in a steady state:
   • A = C as T →∞
   • λ=X
Service Time (S)

• Time spent in processing
 • Web server response time
 • Total query time
 • IO operation time length
What to look for ?

• Stretch factor
• Method Count
• Method Service Time
• Geolocation
• Inbound & Outbound Traffic
• Round Trip Delays
What should I
 measure?


   Average Hits/s = 65.142
   Average Svc time = 0.0159
What should I
        measure ?
• A simple tag collection data store
• For each data operation:
 • A 64 bit counter for the number of calls
 • An average counter for the service time
What should I
          measure ?
   Method          Call Count   Service Time (ms)

  dbConnect          1.876            11,2
  fetchDatum       19.987.182         12,4
  postDatum         1.285.765         98,4
 deleteDatum        312.873           31,1
   fetchKeys       27.334.983        278,3
fetchCollection    34.873.194        211,9
createCollection    118.853          219,4
What should I
                        measure ?
                                       Call Count x Service Time



                                                          fetchKeys
                    createCollection
Service Time (ms)




                                                                   fetchCollection




                     deleteDatum


                    postDatum
                    dbConnect                        fetchDatum
                                            Call Count
References
Guerrilla Capacity Planning:
A Tactical Approach to
Planning for Highly Scalable
Applications and Services
Neil J. Gunther
http://goo.gl/59wJg
References

Analyzing Computer
Systems Performance: With
Perl::PDQ
Neil J. Gunther
http://goo.gl/MZ85L
References

Performance by Design:
Computer Capacity
Planning By Example
Daniel A. Menasce et al.
http://goo.gl/NJhwT
References

The Art of Capacity
Planning: Scaling Web
Resources
John Allspaw
http://goo.gl/l8szV
References
Capacity Planning for Web
Performance: Metrics,
Models, and Methods
Daniel Menasce & Virgilio
Almeida
http://goo.gl/KsBM6
References
Measure IT:
     http://www.cmg.org/measureit/
CMG Conference Proceedings:
     http://www.cmg.org/proceedings/
CMG Brazilian Chapter:
     http://cmgbrasil.posterous.com/
Last but not least...

Measure what is
measurable, and make
measurable what is not so.
               Galileo Galilei
Performance Oriented Design

More Related Content

PDF
Cmg06 utilization is useless
PDF
Solaris Linux Performance, Tools and Tuning
PDF
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
PDF
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
PPT
saurabh soni rac
PDF
Capacity Planning for Virtualized Datacenters - Sun Network 2003
PDF
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
PDF
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Cmg06 utilization is useless
Solaris Linux Performance, Tools and Tuning
VMworld 2013: Extreme Performance Series: Monster Virtual Machines
VMworld 2013: Big Data: Virtualized SAP HANA Performance, Scalability and Bes...
saurabh soni rac
Capacity Planning for Virtualized Datacenters - Sun Network 2003
Tricks And Tradeoffs Of Deploying My Sql Clusters In The Cloud
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...

What's hot (8)

PPTX
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
PPTX
Virtualising Tier 1 Apps
PDF
Google Compute and MapR
PDF
Coates bosc2010 clouds-fluff-and-no-substance
PDF
Alibaba cloud benchmarking report ecs rds limton xavier
PDF
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
PDF
OTM in the Cloud - OTM SIG 2012
PPTX
Webinar on RISC-V
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Virtualising Tier 1 Apps
Google Compute and MapR
Coates bosc2010 clouds-fluff-and-no-substance
Alibaba cloud benchmarking report ecs rds limton xavier
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
OTM in the Cloud - OTM SIG 2012
Webinar on RISC-V
Ad

Viewers also liked (8)

PDF
Melhores práticas para obter Performance no Storage por Antonio Cesar Sartora...
PDF
Análise de Segurança e Desempenho na Detecção de Intrusão em Redes de Automaç...
PPTX
Quantas Instruções por Ciclo?
PDF
Falando de Testes de Desempenho - por Evandro Grezeli
PPT
Como configurar seu zSystem para workloads rebeldes
PPTX
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
PPTX
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
DOC
Quantas Instruções por Ciclo?
Melhores práticas para obter Performance no Storage por Antonio Cesar Sartora...
Análise de Segurança e Desempenho na Detecção de Intrusão em Redes de Automaç...
Quantas Instruções por Ciclo?
Falando de Testes de Desempenho - por Evandro Grezeli
Como configurar seu zSystem para workloads rebeldes
Estudo comparativo entre treinamento supervisionado e não supervisionado em a...
Software Optimization and Tuning Techniques for z13 (As mentiras do ontem, um...
Quantas Instruções por Ciclo?
Ad

Similar to Performance Oriented Design (20)

PDF
Capacity Planning for fun & profit
PDF
John adams talk cloudy
PDF
Fixing twitter
PDF
Fixing_Twitter
PDF
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
PDF
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
PPTX
Scaling habits of ASP.NET
PDF
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
PPTX
Azug - successfully breeding rabits
PDF
Become a Performance Diagnostics Hero
PDF
Robotics technical Presentation
PDF
E g innovations overview
PDF
Anton Boyko "The future of serverless computing"
PDF
Chirp 2010: Scaling Twitter
PDF
Spark Summit EU talk by Nick Pentreath
PDF
Tools. Techniques. Trouble?
PPTX
How to Build High Performance : WordPress
PPTX
Top Java Performance Problems and Metrics To Check in Your Pipeline
PPTX
Energy efficient AI workload partitioning on multi-core systems
PPTX
Anton Boyko, "The evolution of microservices platform or marketing gibberish"
Capacity Planning for fun & profit
John adams talk cloudy
Fixing twitter
Fixing_Twitter
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Scaling habits of ASP.NET
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Azug - successfully breeding rabits
Become a Performance Diagnostics Hero
Robotics technical Presentation
E g innovations overview
Anton Boyko "The future of serverless computing"
Chirp 2010: Scaling Twitter
Spark Summit EU talk by Nick Pentreath
Tools. Techniques. Trouble?
How to Build High Performance : WordPress
Top Java Performance Problems and Metrics To Check in Your Pipeline
Energy efficient AI workload partitioning on multi-core systems
Anton Boyko, "The evolution of microservices platform or marketing gibberish"

More from Rodrigo Campos (20)

PDF
Velocity Conference NYC 2014 - Real World DevOps
PDF
DevOps no mundo real - QCON 2014
PDF
7Masters Webops in the Cloud
PPT
14 guendert pres
PDF
Large and Giant Pages
PDF
Otimização holistica de ambiente computacional
PDF
Desempenho e Escalabilidade de Banco de Dados em ambiente x86
PPT
13 coelho final-pres
PPT
Mistério ou tecnologia? Paralelismo!
PPT
z/VM Performance Analysis
PPTX
Sistemas de proteção de perímetro
PDF
Devops at Walmart GeC Brazil
PDF
Disk IO Benchmarking in shared multi-tenant environments
PDF
Cloud Computing Oportunidades e Desafios
PDF
The good, the bad and the big... data
PPTX
CMG 2012 - Tuning where it matters - Gerry Tuddenham
PDF
A Consumerização da TI e o Efeito BYOT
PPT
CMG Brasil 2012 - Uso de Lines nos z196
PDF
Racionalização e Otimização de Energia em Computação na Nuvem
PDF
SDN - Openflow + OpenVSwitch + Quantum
Velocity Conference NYC 2014 - Real World DevOps
DevOps no mundo real - QCON 2014
7Masters Webops in the Cloud
14 guendert pres
Large and Giant Pages
Otimização holistica de ambiente computacional
Desempenho e Escalabilidade de Banco de Dados em ambiente x86
13 coelho final-pres
Mistério ou tecnologia? Paralelismo!
z/VM Performance Analysis
Sistemas de proteção de perímetro
Devops at Walmart GeC Brazil
Disk IO Benchmarking in shared multi-tenant environments
Cloud Computing Oportunidades e Desafios
The good, the bad and the big... data
CMG 2012 - Tuning where it matters - Gerry Tuddenham
A Consumerização da TI e o Efeito BYOT
CMG Brasil 2012 - Uso de Lines nos z196
Racionalização e Otimização de Energia em Computação na Nuvem
SDN - Openflow + OpenVSwitch + Quantum

Recently uploaded (20)

PPTX
Big Data Technologies - Introduction.pptx
PDF
Machine learning based COVID-19 study performance prediction
PDF
Electronic commerce courselecture one. Pdf
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Approach and Philosophy of On baking technology
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PPTX
MYSQL Presentation for SQL database connectivity
Big Data Technologies - Introduction.pptx
Machine learning based COVID-19 study performance prediction
Electronic commerce courselecture one. Pdf
Digital-Transformation-Roadmap-for-Companies.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Network Security Unit 5.pdf for BCA BBA.
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
20250228 LYD VKU AI Blended-Learning.pptx
Approach and Philosophy of On baking technology
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
Advanced methodologies resolving dimensionality complications for autism neur...
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Building Integrated photovoltaic BIPV_UPV.pdf
Mobile App Security Testing_ A Comprehensive Guide.pdf
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Review of recent advances in non-invasive hemoglobin estimation
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
MYSQL Presentation for SQL database connectivity

Performance Oriented Design

  • 1. Performance Oriented Design QCon São Paulo 2011 Rodrigo Albani de Campos - @xinu camposr@gmail.com
  • 2. Agenda • Performance & Design • Why should I care ? • What should I measure ? • References
  • 3. What is performance ? the capabilities of a machine or product, esp. when observed under particular conditions : the hardware is put through tests which assess the performance of the processor.
  • 4. What is design ? his design of reaching the top: intention, aim, purpose, plan, intent, objective, object, goal, end, target; hope, desire, wish, dream, aspiration, ambition.
  • 9. Underlying Operating Systems Read IOPS IO Wait Page Faults Run Queue Disk Usage # users USER CPU SYSTEM CPU Resident Size Write IOPS Network Traffic Memory Usage Page out Interrupts Page in Packet Loss Network Collision # processes Buffers Kernel Tables
  • 11. Apr 25, 2011 5:44:02 PM org.apache.fop.fo.FOTreeBuilder fatalError SEVERE: javax.xml.transform.TransformerException: java.lang.NullPointerException: Parameter alpha must not be null Apr 25, 2011 5:44:02 PM org.apache.fop.cli.Main startFOP SEVERE: Exception javax.xml.transform.TransformerException: java.lang.NullPointerException: Parameter alpha must not be null at org.apache.fop.cli.InputHandler.transformTo(InputHandler.java:217) at org.apache.fop.cli.InputHandler.renderTo(InputHandler.java:125) at org.apache.fop.cli.Main.startFOP(Main.java:166) at org.apache.fop.cli.Main.main(Main.java:197) Caused by: javax.xml.transform.TransformerException: java.lang.NullPointerException: Parameter alpha must not be null at org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(Tr ansformerImpl.java:2416) at org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResul t.java:1374) at org.apache.xalan.templates.ElemApplyTemplates.transformSelectedNodes( ElemApplyTemplates.java:393) at org.apache.xalan.templates.ElemApplyTemplates.execute(ElemApplyTempla tes.java:176)
  • 12. We’ve been riding space shuttles blindfolded handcuffed
  • 13. Why should I care ?
  • 14. Why should I care ? Capacity planning is not just about the future anymore. Today, there is a serious need to squeeze more out of your current capital equipment. The Guerrilla Manual Online http://www.perfdynamics.com/Manifesto/gcaprules.html
  • 15. Why should I care ? “Our systems are very simple, there’s no need for such performance metrics”
  • 16. It goes like this... The Internet Web Server Application Server Database
  • 17. It goes like this... The Internet Web Server Application Server Database
  • 18. It goes like this... The Internet Web Server Application Server Database
  • 19. It goes like this... The Internet Web Server Application Server Slaves RO Master RW
  • 20. It goes like this... The Internet Web Server Application Server Master RW Slaves RO
  • 21. It goes like this... The Internet Web Server Application Server Caches Master RW Slaves RO Evil Machines Corporation
  • 22. It goes like this... The Internet CPUs will be idle Disks will be sleeping Network will be Web Server Application Server underused ... and your users will be Caches complaining... Master RW Slaves RO Evil Machines Corporation
  • 24. Why should I care ? “But we are using the Cloud !”
  • 25. Why should I care ? • So now you’re in an utility computing model • You’re charged per usage
  • 26. Why should I care ? “Updating performance counters will make my code run slower”
  • 27. Why should I care ? • Datacenter Average CPU utilization is around 15% • If updating performance counters is a problem then you really need them • Those microseconds will save you hours of troubleshooting !
  • 28. Why should I care ? “These are non-functional requirements”
  • 29. Why should I care ? Distinct Query Revenue/ Any Clicks Satisfaction Time to Click Queries/User Refinement User (increase in ms) 50ms 0 0 0 0 0 0 200ms 0 0 0 -0,30% -0,40% 500 500ms 0 -0,60% -1,20% -1,00% -0,90% 1200 1000ms -0,70% -0,90% -2,80% -1,90% -1,60% 1900 2000ms -1,80% -2,10% -4,30% -4,40% -3,80% 3100 The User and Business Impact of Server Delays, Additional Bytes, and HTTP Chunking in Web Search - Eric Schurman (Amazon), Jake Brutlag (Google) http://velocityconf.com/velocity2009/public/schedule/detail/8523
  • 30. Why should I care ? “Fast isn’t a feature, fast is a Requirement” Jesse Robins - OPSCode
  • 31. What should I measure ?
  • 32. Queues The not so typical performance metrics • Invented the fields of traffic engineering and queuing theory • 1909 - Published “The theory of Probabilities and Telephone Conversations” Agner Krarup Erlang • 1917 - Published “Solution of some Problems in the Theory of Probabilities of Significance in Automatic Telephone Exchanges"
  • 33. Queues The not so typical performance metrics • 1961 - CTSS was first demonstrated at MIT • 1965 - Allan Scherr used machine repairman problem to model a time-shared system as part of Project MAC • Another offspring of Project MAC is Multics
  • 34. Queues The not so typical performance metrics • IBM System/370 model 158-3 - 1.0 MIPS @ 1.0 MHz -1972 • Average purchase price: $ 771,000* • No disks or peripherals included • $ 4,082,039 by 2011 • Intel Core i7 Extreme Edition 990x released in 2011 peaks 159,000 MIPS @ 3,46GHz * Source: http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP3135.html
  • 35. Queues The not so typical performance metrics Computer System Disks CPU
  • 36. Queues The not so typical performance metrics (A) λ X (C) S Open/Closed W Network R A Arrival Count λ Arrival Rate (A/T) W Time spent in Queue R Residence Time (W+S) S Service Time X System Throughput (C/T) C Completed tasks count
  • 37. Arrival Rate (λ) • Pretty straightforward • Requests per second/hour/day • Not the same as throughput (X) • Although in a steady state: • A = C as T →∞ • λ=X
  • 38. Service Time (S) • Time spent in processing • Web server response time • Total query time • IO operation time length
  • 39. What to look for ? • Stretch factor • Method Count • Method Service Time • Geolocation • Inbound & Outbound Traffic • Round Trip Delays
  • 40. What should I measure? Average Hits/s = 65.142 Average Svc time = 0.0159
  • 41. What should I measure ? • A simple tag collection data store • For each data operation: • A 64 bit counter for the number of calls • An average counter for the service time
  • 42. What should I measure ? Method Call Count Service Time (ms) dbConnect 1.876 11,2 fetchDatum 19.987.182 12,4 postDatum 1.285.765 98,4 deleteDatum 312.873 31,1 fetchKeys 27.334.983 278,3 fetchCollection 34.873.194 211,9 createCollection 118.853 219,4
  • 43. What should I measure ? Call Count x Service Time fetchKeys createCollection Service Time (ms) fetchCollection deleteDatum postDatum dbConnect fetchDatum Call Count
  • 44. References Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services Neil J. Gunther http://goo.gl/59wJg
  • 45. References Analyzing Computer Systems Performance: With Perl::PDQ Neil J. Gunther http://goo.gl/MZ85L
  • 46. References Performance by Design: Computer Capacity Planning By Example Daniel A. Menasce et al. http://goo.gl/NJhwT
  • 47. References The Art of Capacity Planning: Scaling Web Resources John Allspaw http://goo.gl/l8szV
  • 48. References Capacity Planning for Web Performance: Metrics, Models, and Methods Daniel Menasce & Virgilio Almeida http://goo.gl/KsBM6
  • 49. References Measure IT: http://www.cmg.org/measureit/ CMG Conference Proceedings: http://www.cmg.org/proceedings/ CMG Brazilian Chapter: http://cmgbrasil.posterous.com/
  • 50. Last but not least... Measure what is measurable, and make measurable what is not so. Galileo Galilei