SlideShare a Scribd company logo
IT Infrastructure Architecture
Performance Concepts
(chapter 5)
Infrastructure Building Blocks
and Concepts
Introduction
• Performance is a
typical hygiene
factor.
• Nobody notices a
highly performing
system.
• But when a system is
not performing well
enough, users quickly
start complaining.
Perceived performance
• Perceived performance refers to how quickly a
system appears to perform its task.
• In general, people tend to overestimate their
own patience.
• People tend to value predictability in
performance
– When the performance of a system is fluctuating,
they remember a bad experience, even if the
fluctuation is relatively rare.
Perceived performance
• Inform the user about how long a task will
take
– Progress bars
– Splash screens
Performance during
infrastructure design
Performance during infrastructure
design
• Designing for performance ensures that a solution is
designed, implemented, and supported to meet the
performance requirements, even under increasing load.
• When designing a system, performance must be considered
not only when the system works as expected, but also
when the system is in a special state.
– Failing parts
– Maintenance state
– Performing backup
– Running batch jobs
• Calculating performance of a system in the design phase is
extremely difficult and very unreliable.
Benchmarking
• A benchmark uses a specific test program to assess the
relative performance of an infrastructure component
• Benchmarks provide a method of comparing the
performance of various subsystems across different
system architectures.
• Often used for computer hardware
– Floating Point Operations Per Second – FLOPS
– Million Instructions Per Second – MIPS
• Only useful for comparing the raw speed of parts of an
infrastructure
– Like the speed difference between processors or between
disk drives
Vendor experience
• The best way to determine the performance
of a system in the design phase is to use the
experience of vendors
• They have a lot of experience running their
products in various infrastructure
configurations
Prototyping
• Also known as proof of concept (PoC)
• To measure the performance of a system at an
early stage
– Hiring equipment from suppliers
– Using datacenter capacity at a vendor’s premise
– Using cloud computing resources
• Focus on those parts of the system that pose
the highest risk, early in the design process
User profiling
• Predict the load a new software system will
pose on the infrastructure before the software
is actually built
• It is important to have a good indication of the
expected usage of the system
– Defining a number of typical user groups of the
new system (personas)
– Creating a list of tasks personas will perform on
the new system.
User profiling personas/tasks
Persona Number
of users
per
persona
System task Infrastructure load
as a result of the
system task
Frequency
Data
entry
officer
100 Start
application
Read 100 MB data
from SAN
Once a day
Data
entry
officer
100 Start
application
Transport 100 MB
data to workstation
Once a day
Data
entry
officer
100 Enter new
data
Transport 50 KB data
from workstation to
server
40 per
hour
Data
entry
officer
100 Enter new
data
Store 50 KB data to
SAN
40 per
hour
Data
entry
officer
100 Change
existing data
Read 50 KB data
from SAN
10 per
hour
User profiling Infrastructure load
Infrastructure load Per day
Per
second
Data transport from server to workstation (KB) 10,400,000 361.1
Data transport from workstation to server (KB) 2,050,000 71.2
Data read from SAN (KB) 10,400,000 361.1
Data written to SAN (KB) 2,050,000 71.2
Performance of a running
system
Managing bottlenecks
• The performance of a system is based on the
performance of all its components, and the
interoperability of various components
• Every system, regardless of how well it works, has at
least one constraint (a bottleneck) that limits its
performance (Bottleneck law)
• A component causing the system to reach some limit is
referred to as the bottleneck of the system
• If the bottleneck does not negatively influence
performance of the complete system under the highest
expected load, it is OK
Performance testing
• Load testing - This test shows how a system
performs under the expected load
• Stress testing - This test shows how a system
reacts when it is under extreme load
• Endurance testing - This test shows how a
system behaves when it is used at the
expected load for a long period of time
Performance testing - Breakpoint
Performance patterns
Increasing performance on upper
layers
• 80% of the performance issues are due to badly
behaving applications
• Database and application tuning typically
provides much more opportunity for
performance increase than installing more
computing power
• Application performance can benefit from:
– Prioritizing tasks
– Working from memory as much as possible (as
opposed to working with data on disk)
– Making good use of queues and schedulers
Caching
• Caching improves performance by retaining frequently used
data in high speed memory, reducing access times to data.
– Disk caching
– Web proxies
– Operational Data Store
– Front-end servers
– In-memory databases
Component
Time it takes to fetch 1 MB of
data (ms)
Network, 1 Gbit/s 675
Hard disk, 15k rpm, 4 KB disk blocks 105
Main memory DDR3 RAM 0.2
CPU L1 cache 0.016
Scalability
• Scalability indicates the ease in with which a system
can be modified, or components can be added, to
handle increasing load
• Two ways to increase the scalability of a system:
– Vertical scaling (scale up) - adding resources to a single
component
– Horizontal scaling (scale out) - adding more components to
the infrastructure
Scalability – Horizontal scaling
Load balancing
• Load balancing spreads the load over various machines
• It checks the current load on each server in the farm and
sends incoming requests to the least busy server.
High performance clusters
• High performance clusters provide a vast amount of
computing power by combining many computer systems.
• Usually a large number of cheap off the-shelf servers are used
• A combination of relatively small computers can create one
large supercomputer
• Used for calculation-intensive systems
– Weather forecasts
– Geological research
– Nuclear research
– Pharmaceutical research
• TOP500.ORG
Grid Computing
• A computer grid is a high performance cluster that consists of
systems that are spread geographically
• The limited bandwidth is the bottleneck
• Examples:
– SETI@HOME
– CERN LHC Computing Grid (140 computing centers in 35 countries)
• Broker firms exist for commercial exploitation of grids
• Security is a concern!
Design for use
• Performance critical applications should be designed as such
• Tips:
– Know what the system will be used for. A large data warehouse needs
a different infrastructure design than an online transaction processing
system or a web application
– In some cases, special products must be used for certain systems (real-
time operating systems, in-memory databases, specially designed file
systems)
– Use standard implementation plans that are proven in practice
– Have the vendors check the design you created.
– When possible, try to spread the load of the system over the available
time
– Move rarely used data from the main systems to other systems
Capacity management
• Capacity management guarantees high performance of a
system in the long term
• Performance of the system is monitored on a continuous
base, to ensure performance stays within acceptable limits
• Trend analyses can be used to predict performance
degradation
• Anticipate on business changes (like forthcoming marketing
campaigns)

More Related Content

What's hot

09. storage-part-1
09. storage-part-109. storage-part-1
09. storage-part-1
Muhammad Ahad
 
11. operating-systems-part-2
11. operating-systems-part-211. operating-systems-part-2
11. operating-systems-part-2
Muhammad Ahad
 
03. non-functional-attributes-introduction-4-slides
03. non-functional-attributes-introduction-4-slides03. non-functional-attributes-introduction-4-slides
03. non-functional-attributes-introduction-4-slides
Muhammad Ahad
 
12. End user devices.pptx
12. End user devices.pptx12. End user devices.pptx
12. End user devices.pptx
Sibghatullah585075
 
07. datacenters
07. datacenters07. datacenters
07. datacenters
Muhammad Ahad
 
10. compute-part-2
10. compute-part-210. compute-part-2
10. compute-part-2
Muhammad Ahad
 
10. compute-part-1
10. compute-part-110. compute-part-1
10. compute-part-1
Muhammad Ahad
 
IP tables and Filtering
IP tables and FilteringIP tables and Filtering
IP tables and Filtering
Aisha Talat
 
Chapter02
Chapter02Chapter02
Chapter02
Muhammad Ahad
 
Learning Method In Data Mining
Learning Method In Data MiningLearning Method In Data Mining
Learning Method In Data Mining
ishaq zaman
 
Troubleshooting complex layer 2 issues ppt 16 bsit098
Troubleshooting complex  layer 2 issues ppt 16 bsit098Troubleshooting complex  layer 2 issues ppt 16 bsit098
Troubleshooting complex layer 2 issues ppt 16 bsit098
Quratulain baloch
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
Dr Sandeep Kumar Poonia
 
introduction to system administration
introduction to system administrationintroduction to system administration
introduction to system administration
gamme123
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
udaya khanal
 
Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.
Aakash Panchal
 
System Administration: Introduction to system administration
System Administration: Introduction to system administrationSystem Administration: Introduction to system administration
System Administration: Introduction to system administration
Khang-Ling Loh
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
Harshad Umredkar
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
Sunita Sahu
 
Memory management
Memory managementMemory management
Memory management
Vishal Singh
 
File system
File systemFile system
File system
Harleen Johal
 

What's hot (20)

09. storage-part-1
09. storage-part-109. storage-part-1
09. storage-part-1
 
11. operating-systems-part-2
11. operating-systems-part-211. operating-systems-part-2
11. operating-systems-part-2
 
03. non-functional-attributes-introduction-4-slides
03. non-functional-attributes-introduction-4-slides03. non-functional-attributes-introduction-4-slides
03. non-functional-attributes-introduction-4-slides
 
12. End user devices.pptx
12. End user devices.pptx12. End user devices.pptx
12. End user devices.pptx
 
07. datacenters
07. datacenters07. datacenters
07. datacenters
 
10. compute-part-2
10. compute-part-210. compute-part-2
10. compute-part-2
 
10. compute-part-1
10. compute-part-110. compute-part-1
10. compute-part-1
 
IP tables and Filtering
IP tables and FilteringIP tables and Filtering
IP tables and Filtering
 
Chapter02
Chapter02Chapter02
Chapter02
 
Learning Method In Data Mining
Learning Method In Data MiningLearning Method In Data Mining
Learning Method In Data Mining
 
Troubleshooting complex layer 2 issues ppt 16 bsit098
Troubleshooting complex  layer 2 issues ppt 16 bsit098Troubleshooting complex  layer 2 issues ppt 16 bsit098
Troubleshooting complex layer 2 issues ppt 16 bsit098
 
Distributed Operating System_1
Distributed Operating System_1Distributed Operating System_1
Distributed Operating System_1
 
introduction to system administration
introduction to system administrationintroduction to system administration
introduction to system administration
 
Distributed operating system
Distributed operating systemDistributed operating system
Distributed operating system
 
Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.Fundamentals of Servers, server storage and server security.
Fundamentals of Servers, server storage and server security.
 
System Administration: Introduction to system administration
System Administration: Introduction to system administrationSystem Administration: Introduction to system administration
System Administration: Introduction to system administration
 
distributed Computing system model
distributed Computing system modeldistributed Computing system model
distributed Computing system model
 
Introduction to Distributed System
Introduction to Distributed SystemIntroduction to Distributed System
Introduction to Distributed System
 
Memory management
Memory managementMemory management
Memory management
 
File system
File systemFile system
File system
 

Viewers also liked

Chapter13
Chapter13Chapter13
Chapter13
Muhammad Ahad
 
Chapter06
Chapter06Chapter06
Chapter06
Muhammad Ahad
 
Chapter01
Chapter01Chapter01
Chapter01
Muhammad Ahad
 
Chapter05
Chapter05Chapter05
Chapter05
Muhammad Ahad
 
Chapter04
Chapter04Chapter04
Chapter04
Muhammad Ahad
 
Chapter14
Chapter14Chapter14
Chapter14
Muhammad Ahad
 
Chapter03
Chapter03Chapter03
Chapter03
Muhammad Ahad
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
Muhammad Ahad
 

Viewers also liked (8)

Chapter13
Chapter13Chapter13
Chapter13
 
Chapter06
Chapter06Chapter06
Chapter06
 
Chapter01
Chapter01Chapter01
Chapter01
 
Chapter05
Chapter05Chapter05
Chapter05
 
Chapter04
Chapter04Chapter04
Chapter04
 
Chapter14
Chapter14Chapter14
Chapter14
 
Chapter03
Chapter03Chapter03
Chapter03
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
 

Similar to 05. performance-concepts-26-slides

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
James Venetsanakos
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
GR8Conf
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
Alexander Podelko
 
Building an Experimentation Platform in Clojure
Building an Experimentation Platform in ClojureBuilding an Experimentation Platform in Clojure
Building an Experimentation Platform in Clojure
Srihari Sriraman
 
Performance Tuning
Performance TuningPerformance Tuning
Performance Tuning
Jannet Peetz
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
MAshok10
 
Postgresql in Education
Postgresql in EducationPostgresql in Education
Postgresql in Education
dostatni
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
Vigilant Technologies
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
Rodolfo Kohn
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
Steve Feldman
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
Len Bass
 
Building data intensive applications
Building data intensive applicationsBuilding data intensive applications
Building data intensive applications
Amit Kejriwal
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
Vladimir Ilic
 
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDBMongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
MongoDB
 
Architecting for the cloud scability-availability
Architecting for the cloud scability-availabilityArchitecting for the cloud scability-availability
Architecting for the cloud scability-availability
Len Bass
 
Lecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdfLecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdf
AhmedWasiu
 
Factors influencing the success of computer architecture
Factors influencing the success of computer architectureFactors influencing the success of computer architecture
Factors influencing the success of computer architecture
Majane Padua
 
Webinar: Best Practices for Upgrading to MongoDB 3.2
Webinar: Best Practices for Upgrading to MongoDB 3.2Webinar: Best Practices for Upgrading to MongoDB 3.2
Webinar: Best Practices for Upgrading to MongoDB 3.2
Dana Elisabeth Groce
 

Similar to 05. performance-concepts-26-slides (20)

Performance Testing Overview
Performance Testing OverviewPerformance Testing Overview
Performance Testing Overview
 
Performance tuning Grails applications
 Performance tuning Grails applications Performance tuning Grails applications
Performance tuning Grails applications
 
Performance Assurance for Packaged Applications
Performance Assurance for Packaged ApplicationsPerformance Assurance for Packaged Applications
Performance Assurance for Packaged Applications
 
Building an Experimentation Platform in Clojure
Building an Experimentation Platform in ClojureBuilding an Experimentation Platform in Clojure
Building an Experimentation Platform in Clojure
 
Performance Tuning
Performance TuningPerformance Tuning
Performance Tuning
 
Linux basics
Linux basicsLinux basics
Linux basics
 
performancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdfperformancetestinganoverview-110206071921-phpapp02.pdf
performancetestinganoverview-110206071921-phpapp02.pdf
 
Postgresql in Education
Postgresql in EducationPostgresql in Education
Postgresql in Education
 
Oracle EBS Production Support - Recommendations
Oracle EBS Production Support - RecommendationsOracle EBS Production Support - Recommendations
Oracle EBS Production Support - Recommendations
 
Adding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance TestAdding Value in the Cloud with Performance Test
Adding Value in the Cloud with Performance Test
 
071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen071410 sun a_1515_feldman_stephen
071410 sun a_1515_feldman_stephen
 
Architecting for the cloud storage build test
Architecting for the cloud storage build testArchitecting for the cloud storage build test
Architecting for the cloud storage build test
 
Building data intensive applications
Building data intensive applicationsBuilding data intensive applications
Building data intensive applications
 
Load Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWSLoad Test Drupal Site Using JMeter and Amazon AWS
Load Test Drupal Site Using JMeter and Amazon AWS
 
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDBMongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
MongoDB Days Silicon Valley: Best Practices for Upgrading to MongoDB
 
Architecting for the cloud scability-availability
Architecting for the cloud scability-availabilityArchitecting for the cloud scability-availability
Architecting for the cloud scability-availability
 
JMeter
JMeterJMeter
JMeter
 
Lecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdfLecture for the day three in jj3 ppt.pdf
Lecture for the day three in jj3 ppt.pdf
 
Factors influencing the success of computer architecture
Factors influencing the success of computer architectureFactors influencing the success of computer architecture
Factors influencing the success of computer architecture
 
Webinar: Best Practices for Upgrading to MongoDB 3.2
Webinar: Best Practices for Upgrading to MongoDB 3.2Webinar: Best Practices for Upgrading to MongoDB 3.2
Webinar: Best Practices for Upgrading to MongoDB 3.2
 

More from Muhammad Ahad

Chapter12
Chapter12Chapter12
Chapter12
Muhammad Ahad
 
Chapter11
Chapter11Chapter11
Chapter11
Muhammad Ahad
 
Chapter10
Chapter10Chapter10
Chapter10
Muhammad Ahad
 
Chapter09
Chapter09Chapter09
Chapter09
Muhammad Ahad
 
Chapter08
Chapter08Chapter08
Chapter08
Muhammad Ahad
 
Chapter07
Chapter07Chapter07
Chapter07
Muhammad Ahad
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
Muhammad Ahad
 

More from Muhammad Ahad (7)

Chapter12
Chapter12Chapter12
Chapter12
 
Chapter11
Chapter11Chapter11
Chapter11
 
Chapter10
Chapter10Chapter10
Chapter10
 
Chapter09
Chapter09Chapter09
Chapter09
 
Chapter08
Chapter08Chapter08
Chapter08
 
Chapter07
Chapter07Chapter07
Chapter07
 
Artificial Intelligence
Artificial Intelligence Artificial Intelligence
Artificial Intelligence
 

Recently uploaded

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
DianaGray10
 

Recently uploaded (20)

Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdfFIDO Alliance Osaka Seminar: Overview.pdf
FIDO Alliance Osaka Seminar: Overview.pdf
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 
UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4UiPath Test Automation using UiPath Test Suite series, part 4
UiPath Test Automation using UiPath Test Suite series, part 4
 

05. performance-concepts-26-slides

  • 1. IT Infrastructure Architecture Performance Concepts (chapter 5) Infrastructure Building Blocks and Concepts
  • 2. Introduction • Performance is a typical hygiene factor. • Nobody notices a highly performing system. • But when a system is not performing well enough, users quickly start complaining.
  • 3. Perceived performance • Perceived performance refers to how quickly a system appears to perform its task. • In general, people tend to overestimate their own patience. • People tend to value predictability in performance – When the performance of a system is fluctuating, they remember a bad experience, even if the fluctuation is relatively rare.
  • 4. Perceived performance • Inform the user about how long a task will take – Progress bars – Splash screens
  • 6. Performance during infrastructure design • Designing for performance ensures that a solution is designed, implemented, and supported to meet the performance requirements, even under increasing load. • When designing a system, performance must be considered not only when the system works as expected, but also when the system is in a special state. – Failing parts – Maintenance state – Performing backup – Running batch jobs • Calculating performance of a system in the design phase is extremely difficult and very unreliable.
  • 7. Benchmarking • A benchmark uses a specific test program to assess the relative performance of an infrastructure component • Benchmarks provide a method of comparing the performance of various subsystems across different system architectures. • Often used for computer hardware – Floating Point Operations Per Second – FLOPS – Million Instructions Per Second – MIPS • Only useful for comparing the raw speed of parts of an infrastructure – Like the speed difference between processors or between disk drives
  • 8. Vendor experience • The best way to determine the performance of a system in the design phase is to use the experience of vendors • They have a lot of experience running their products in various infrastructure configurations
  • 9. Prototyping • Also known as proof of concept (PoC) • To measure the performance of a system at an early stage – Hiring equipment from suppliers – Using datacenter capacity at a vendor’s premise – Using cloud computing resources • Focus on those parts of the system that pose the highest risk, early in the design process
  • 10. User profiling • Predict the load a new software system will pose on the infrastructure before the software is actually built • It is important to have a good indication of the expected usage of the system – Defining a number of typical user groups of the new system (personas) – Creating a list of tasks personas will perform on the new system.
  • 11. User profiling personas/tasks Persona Number of users per persona System task Infrastructure load as a result of the system task Frequency Data entry officer 100 Start application Read 100 MB data from SAN Once a day Data entry officer 100 Start application Transport 100 MB data to workstation Once a day Data entry officer 100 Enter new data Transport 50 KB data from workstation to server 40 per hour Data entry officer 100 Enter new data Store 50 KB data to SAN 40 per hour Data entry officer 100 Change existing data Read 50 KB data from SAN 10 per hour
  • 12. User profiling Infrastructure load Infrastructure load Per day Per second Data transport from server to workstation (KB) 10,400,000 361.1 Data transport from workstation to server (KB) 2,050,000 71.2 Data read from SAN (KB) 10,400,000 361.1 Data written to SAN (KB) 2,050,000 71.2
  • 13. Performance of a running system
  • 14. Managing bottlenecks • The performance of a system is based on the performance of all its components, and the interoperability of various components • Every system, regardless of how well it works, has at least one constraint (a bottleneck) that limits its performance (Bottleneck law) • A component causing the system to reach some limit is referred to as the bottleneck of the system • If the bottleneck does not negatively influence performance of the complete system under the highest expected load, it is OK
  • 15. Performance testing • Load testing - This test shows how a system performs under the expected load • Stress testing - This test shows how a system reacts when it is under extreme load • Endurance testing - This test shows how a system behaves when it is used at the expected load for a long period of time
  • 16. Performance testing - Breakpoint
  • 18. Increasing performance on upper layers • 80% of the performance issues are due to badly behaving applications • Database and application tuning typically provides much more opportunity for performance increase than installing more computing power • Application performance can benefit from: – Prioritizing tasks – Working from memory as much as possible (as opposed to working with data on disk) – Making good use of queues and schedulers
  • 19. Caching • Caching improves performance by retaining frequently used data in high speed memory, reducing access times to data. – Disk caching – Web proxies – Operational Data Store – Front-end servers – In-memory databases Component Time it takes to fetch 1 MB of data (ms) Network, 1 Gbit/s 675 Hard disk, 15k rpm, 4 KB disk blocks 105 Main memory DDR3 RAM 0.2 CPU L1 cache 0.016
  • 20. Scalability • Scalability indicates the ease in with which a system can be modified, or components can be added, to handle increasing load • Two ways to increase the scalability of a system: – Vertical scaling (scale up) - adding resources to a single component – Horizontal scaling (scale out) - adding more components to the infrastructure
  • 22. Load balancing • Load balancing spreads the load over various machines • It checks the current load on each server in the farm and sends incoming requests to the least busy server.
  • 23. High performance clusters • High performance clusters provide a vast amount of computing power by combining many computer systems. • Usually a large number of cheap off the-shelf servers are used • A combination of relatively small computers can create one large supercomputer • Used for calculation-intensive systems – Weather forecasts – Geological research – Nuclear research – Pharmaceutical research • TOP500.ORG
  • 24. Grid Computing • A computer grid is a high performance cluster that consists of systems that are spread geographically • The limited bandwidth is the bottleneck • Examples: – SETI@HOME – CERN LHC Computing Grid (140 computing centers in 35 countries) • Broker firms exist for commercial exploitation of grids • Security is a concern!
  • 25. Design for use • Performance critical applications should be designed as such • Tips: – Know what the system will be used for. A large data warehouse needs a different infrastructure design than an online transaction processing system or a web application – In some cases, special products must be used for certain systems (real- time operating systems, in-memory databases, specially designed file systems) – Use standard implementation plans that are proven in practice – Have the vendors check the design you created. – When possible, try to spread the load of the system over the available time – Move rarely used data from the main systems to other systems
  • 26. Capacity management • Capacity management guarantees high performance of a system in the long term • Performance of the system is monitored on a continuous base, to ensure performance stays within acceptable limits • Trend analyses can be used to predict performance degradation • Anticipate on business changes (like forthcoming marketing campaigns)