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
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
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

What's hot

Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Mike Nelson
 
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Adrian Cockcroft
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 Apps
Iwan Rahabok
 
Google Compute and MapR
Google Compute and MapRGoogle Compute and MapR
Google Compute and MapR
MapR Technologies
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
BOSC 2010
 
Alibaba cloud benchmarking report ecs rds limton xavier
Alibaba cloud benchmarking report ecs  rds limton xavierAlibaba cloud benchmarking report ecs  rds limton xavier
Alibaba cloud benchmarking report ecs rds limton xavier
Limton Xavier
 
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage GridsDB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
Luís Ganhão
 
OTM in the Cloud - OTM SIG 2012
OTM in the Cloud - OTM SIG 2012OTM in the Cloud - OTM SIG 2012
OTM in the Cloud - OTM SIG 2012
MavenWire
 
Webinar on RISC-V
Webinar on RISC-VWebinar on RISC-V
Webinar on RISC-V
Deepak Shankar
 

What's hot (9)

Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
Improving The Economics of Mainframe SOA Enablement: Exploiting zIIP/zAAP Spe...
 
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
Gluecon 2013 - Netflix Cloud Native Tutorial Details (part 2)
 
Virtualising Tier 1 Apps
Virtualising Tier 1 AppsVirtualising Tier 1 Apps
Virtualising Tier 1 Apps
 
Google Compute and MapR
Google Compute and MapRGoogle Compute and MapR
Google Compute and MapR
 
Coates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substanceCoates bosc2010 clouds-fluff-and-no-substance
Coates bosc2010 clouds-fluff-and-no-substance
 
Alibaba cloud benchmarking report ecs rds limton xavier
Alibaba cloud benchmarking report ecs  rds limton xavierAlibaba cloud benchmarking report ecs  rds limton xavier
Alibaba cloud benchmarking report ecs rds limton xavier
 
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage GridsDB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
DB 11g R2 Keynote: Consolidate On Low Cost Server And Storage Grids
 
OTM in the Cloud - OTM SIG 2012
OTM in the Cloud - OTM SIG 2012OTM in the Cloud - OTM SIG 2012
OTM in the Cloud - OTM SIG 2012
 
Webinar on RISC-V
Webinar on RISC-VWebinar on RISC-V
Webinar on RISC-V
 

Viewers also liked

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

Viewers also liked (8)

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

Similar to Performance Oriented Design

Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profit
Rodrigo Campos
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
John Adams
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
smallerror
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
xlight
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitter
Roger Xia
 
Fixing_Twitter
Fixing_TwitterFixing_Twitter
Fixing_Twitter
liujianrong
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
David Giard
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Startupfest
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
Yves Goeleven
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
TechWell
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Amazon Web Services
 
Robotics technical Presentation
Robotics technical PresentationRobotics technical Presentation
Robotics technical Presentation
klepsydratechnologie
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
Nuno Alves
 
Anton Boyko "The future of serverless computing"
Anton Boyko "The future of serverless computing"Anton Boyko "The future of serverless computing"
Anton Boyko "The future of serverless computing"
Fwdays
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
John Adams
 
Spark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick PentreathSpark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick Pentreath
Spark Summit
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
Testplant
 
How to Build High Performance : WordPress
How to Build High Performance : WordPressHow to Build High Performance : WordPress
How to Build High Performance : WordPress
Dylan Burris
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
Andreas Grabner
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
Amazon Web Services
 

Similar to Performance Oriented Design (20)

Capacity Planning for fun & profit
Capacity Planning for fun & profitCapacity Planning for fun & profit
Capacity Planning for fun & profit
 
John adams talk cloudy
John adams   talk cloudyJohn adams   talk cloudy
John adams talk cloudy
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...Fixing Twitter  Improving The Performance And Scalability Of The Worlds Most ...
Fixing Twitter Improving The Performance And Scalability Of The Worlds Most ...
 
Fixing twitter
Fixing twitterFixing twitter
Fixing twitter
 
Fixing_Twitter
Fixing_TwitterFixing_Twitter
Fixing_Twitter
 
Scaling habits of ASP.NET
Scaling habits of ASP.NETScaling habits of ASP.NET
Scaling habits of ASP.NET
 
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
Jeremy Edberg (MinOps ) - How to build a solid infrastructure for a startup t...
 
Azug - successfully breeding rabits
Azug - successfully breeding rabitsAzug - successfully breeding rabits
Azug - successfully breeding rabits
 
Become a Performance Diagnostics Hero
Become a Performance Diagnostics HeroBecome a Performance Diagnostics Hero
Become a Performance Diagnostics Hero
 
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
Your Linux AMI: Optimization and Performance (CPN302) | AWS re:Invent 2013
 
Robotics technical Presentation
Robotics technical PresentationRobotics technical Presentation
Robotics technical Presentation
 
E g innovations overview
E g innovations overviewE g innovations overview
E g innovations overview
 
Anton Boyko "The future of serverless computing"
Anton Boyko "The future of serverless computing"Anton Boyko "The future of serverless computing"
Anton Boyko "The future of serverless computing"
 
Chirp 2010: Scaling Twitter
Chirp 2010: Scaling TwitterChirp 2010: Scaling Twitter
Chirp 2010: Scaling Twitter
 
Spark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick PentreathSpark Summit EU talk by Nick Pentreath
Spark Summit EU talk by Nick Pentreath
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
How to Build High Performance : WordPress
How to Build High Performance : WordPressHow to Build High Performance : WordPress
How to Build High Performance : WordPress
 
Top Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your PipelineTop Java Performance Problems and Metrics To Check in Your Pipeline
Top Java Performance Problems and Metrics To Check in Your Pipeline
 
Deep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance PerformanceDeep Dive on Delivering Amazon EC2 Instance Performance
Deep Dive on Delivering Amazon EC2 Instance Performance
 

More from Rodrigo Campos

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

More from Rodrigo Campos (20)

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

Recently uploaded

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
Safe Software
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
DianaGray10
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
Ivanti
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
ScyllaDB
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
Edge AI and Vision Alliance
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
Alex Pruden
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Neo4j
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
saastr
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
Jason Packer
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
Neo4j
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Tosin Akinosho
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
BibashShahi
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
operationspcvita
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
Ivo Velitchkov
 

Recently uploaded (20)

Driving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success StoryDriving Business Innovation: Latest Generative AI Advancements & Success Story
Driving Business Innovation: Latest Generative AI Advancements & Success Story
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
What is an RPA CoE? Session 1 – CoE Vision
What is an RPA CoE?  Session 1 – CoE VisionWhat is an RPA CoE?  Session 1 – CoE Vision
What is an RPA CoE? Session 1 – CoE Vision
 
June Patch Tuesday
June Patch TuesdayJune Patch Tuesday
June Patch Tuesday
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-EfficiencyFreshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
Freshworks Rethinks NoSQL for Rapid Scaling & Cost-Efficiency
 
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
“Temporal Event Neural Networks: A More Efficient Alternative to the Transfor...
 
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
zkStudyClub - LatticeFold: A Lattice-based Folding Scheme and its Application...
 
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid ResearchHarnessing the Power of NLP and Knowledge Graphs for Opioid Research
Harnessing the Power of NLP and Knowledge Graphs for Opioid Research
 
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
Overcoming the PLG Trap: Lessons from Canva's Head of Sales & Head of EMEA Da...
 
Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024Northern Engraving | Nameplate Manufacturing Process - 2024
Northern Engraving | Nameplate Manufacturing Process - 2024
 
Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024Columbus Data & Analytics Wednesdays - June 2024
Columbus Data & Analytics Wednesdays - June 2024
 
Leveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and StandardsLeveraging the Graph for Clinical Trials and Standards
Leveraging the Graph for Clinical Trials and Standards
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
Monitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdfMonitoring and Managing Anomaly Detection on OpenShift.pdf
Monitoring and Managing Anomaly Detection on OpenShift.pdf
 
Principle of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptxPrinciple of conventional tomography-Bibash Shahi ppt..pptx
Principle of conventional tomography-Bibash Shahi ppt..pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
The Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptxThe Microsoft 365 Migration Tutorial For Beginner.pptx
The Microsoft 365 Migration Tutorial For Beginner.pptx
 
Apps Break Data
Apps Break DataApps Break Data
Apps Break Data
 

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.
  • 6.
  • 7.
  • 8.
  • 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
  • 23.
  • 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