SlideShare a Scribd company logo
1 of 41
Download to read offline
IT Infrastructure
Architecture
(chapter 2)
Infrastructure Building Blocks
and Concepts
Shaharyar Islam
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
Shaharyar Islam
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, users
remember a bad experience
 Even if the fluctuation is relatively rare
Shaharyar Islam
Perceived performance
 Inform the user about how long a task will take
 Progress bars
 Splash screens
Shaharyar Islam
Performance during
infrastructure design
Shaharyar Islam
Performance during
infrastructure design A solution must be designed, implemented, and supported to meet the
performance requirements
 Even under increasing load
 Calculating performance of a system in the design phase is:
 Extremely difficult
 Very unreliable
Shaharyar Islam
Performance during
infrastructure design Performance must be considered:
 When the system works as expected
 When the system is in a special state, like:
 Failing parts
 Maintenance state
 Performing backup
 Running batch jobs
 Some ways to do this are:
 Benchmarking
 Using vendor experience
 Prototyping
 User Profiling
Shaharyar Islam
Benchmarking
 A benchmark uses a specific test program to assess the relative
performance of an infrastructure component
 Benchmarks compare:
 Performance of various subsystems
 Across different system architectures
Shaharyar Islam
Benchmarking
 Benchmarks comparing the raw speed of parts of an infrastructure
 Like the speed difference between processors or between disk drives
 Not taking into account the typical usage of such components
 Examples:
 Million Instructions Per Second – MIPS
Shaharyar Islam
Vendor experience
 The best way to determine the performance of a system
in the design phase: use the experience of vendors
 They have a lot of experience running their products in
various infrastructure configurations
 Vendors can provide:
 Tools
 Figures
 Best practices
Shaharyar Islam
Prototyping
 Also known as proof of concept (PoC)
 Prototypes measure the performance of a system at an
early stage
 Building prototypes:
 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, as early as possible in the design process
Shaharyar Islam
User profiling
 Predict the load a new software system will pose on the
infrastructure before the software is actually built
 Get a good indication of the expected usage of the
system
 Steps:
 Define a number of typical user groups (personas)
 Create a list of tasks perform on the new system
 Decompose tasks to infrastructure actions
 Estimate the load per infrastructure action
 Calculate the total load
Shaharyar Islam
User profiling 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
Shaharyar Islam
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
Shaharyar Islam
Performance of a running
system
Shaharyar Islam
Managing bottlenecks
 The performance of a system is based on:
 The performance of all its components
 The interoperability of various components
 A component causing the system to reach some limit is
referred to as the bottleneck of the system
 Every system has at least one bottleneck that limits its
performance
 If the bottleneck does not negatively influence
performance of the complete system under the highest
expected load, it is OK
Shaharyar Islam
Performance testing
 Load testing - shows how a system performs under the
expected load
 Stress testing - shows how a system reacts when it is
under extreme load
 Endurance testing - shows how a system behaves when
it is used at the expected load for a long period of time
Shaharyar Islam
Performance testing -
Breakpoint Ramp up the load
 Start with a small number of virtual users
 Increase the number over a period of time
 The test result shows how the performance varies with the load, given as
number of users versus response time.
Shaharyar Islam
Performance testing
 Performance testing software typically uses:
 One or more servers to act as injectors
 Each emulating a number of users
 Each running a sequence of interactions
 A test conductor
 Coordinating tasks
 Gathering metrics from each of the injectors
 Collecting performance data for reporting purposes
Shaharyar Islam
Performance testing
 Performance testing should be done in a production-like
environment
 Performance tests in a development environment usually
lead to results that are highly unreliable
 Even when underpowered test systems perform well
enough to get good test results, the faster production
system could show performance issues that did not occur
in the tests
 To reduce cost:
 Use a temporary (hired) test environment
Shaharyar Islam
Performance patterns
Shaharyar Islam
Increasing performance on
upper layers
 80% of the performance issues are due to badly
behaving applications
 Application performance can benefit from:
 Database and application tuning
 Prioritizing tasks
 Working from memory as much as possible (as opposed to
working with data on disk)
 Making good use of queues and schedulers
 Typically more effective than adding compute power
Shaharyar Islam
Disk caching
 Disks are mechanical devices that are slow by nature
 Caching can be implemented i:
 Disks
 Disk controllers
 Operating system
 All non-used memory in operating systems is used for disk cache
 Over time, all memory gets filled with previously stored disk requests and prefetched
disk blocks, speeding up applications.
 Cache memory:
 Stores all data recently read from disk
 Stores some of the disk blocks following the recently read disk blocks
Shaharyar Islam
Web proxies
 When users browse the internet, data can be cached in a web proxy server
 A web proxy server is a type of cache
 Earlier accessed data can be fetched from cache, instead of from the internet
 Benefits:
 Users get their data faster
 All other users are provided more bandwidth to the internet, as the data does
not have to be downloaded again
Shaharyar Islam
Operational data store
 An Operational Data Store (ODS) is a read-only replica of a part of a
database, for a specific use
 Frequently used information is retrieved from a small ODS database
 The main database is used less for retrieving information
 The performance of the main database is not degraded
Shaharyar Islam
Front-end servers
 Front-end servers serve data to end users
 Typically web servers
 To increase performance, store static data on the front-end servers
 Pictures are a good candidate
 Significantly lowers the amount of traffic to back-end systems
 In addition, a reverse proxy can be used
 Automatically cache most requested data
Shaharyar Islam
In-memory databases
 In special circumstances, entire databases can be run from memory
instead of from disk
 In-memory databases are used in situations where performance is crucial
 Real-time SCADA systems
 High performance online transaction processing (OLTP) systems
 As an example, in 2011 SAP AG introduced HANA, an in-memory database for SAP
systems
 Special arrangements must be made to ensure data is not lost when a
power failure occurs
Shaharyar Islam
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 scale a system:
 Vertical scaling (scale up) - adding
resources to a single component
 Horizontal scaling (scale out) - adding
more components to the infrastructure
Shaharyar Islam
Scalability – Vertical scaling
 Adding more resources, for example:
 Server: more memory, CPU’s
 Network switch: adding more ports
 Storage: Replace small disks by larger disks
 Vertical scaling is easy to do
 It quickly reaches a limit
 The infrastructure component is “full”
Shaharyar Islam
Scalability – Horizontal
scaling
 Adding more components to the infrastructure, for
example:
 Adding servers to a web server farm
 Adding disk cabinets to a storage system
 In theory, horizontal scaling scales much better
 Be aware of bottlenecks
 Doubling the number of components does not
necessarily double the performance
 Horizontal scaling is the basis for cloud computing
 Applications must be aware of scaling infrastructure
components
Shaharyar Islam
Scalability – Horizontal
scaling
Shaharyar Islam
Load balancing
 Load balancing uses multiple servers that perform identical tasks
 Examples:
 Web server farm
 Mail server farm
 FTP (File Transfer Protocol) server farm
 A load balancer spreads the load over the available machines
 Checks the current load on each server in the farm
 Sends incoming requests to the least busy server

Shaharyar Islam
Load balancing
Shaharyar Islam
Load balancing
 Advanced load balancers can spread the load based on:
 The number of connections a server has
 The measured response time of a server
 The application running on a load balanced system must be able to cope
with the fact that each request can be handled by a different server
 The load balancer should contain the states of the application
 The load balancing mechanism can arrange that a user’s session is always
connected to the same server
 If a server in the server farm goes down, its session information becomes
inaccessible and sessions are lost
Shaharyar Islam
Load balancing
 A load balancer increases availability
 When a server in the server farm is unavailable, the load balancer notices this
and ensures no requests are sent to the unavailable server until it is back
online again
 The availability of the load balancer itself is very important
 Load balancers are typically setup in a failover configuration
Shaharyar Islam
Load balancing
 Network load balancing:
 Spread network load over multiple network connections
 Most network switches support port trunking
 Multiple Ethernet connections are combined to get a virtual Ethernet connection
providing higher throughput
 The load is balanced over the connections by the network switch
 Storage load balancing:
 Using multiple disks to spread the load of reads and writes
 Use multiple connections between servers and storage systems
Shaharyar Islam
High performance clusters
 High performance clusters provide a vast amount of
computing power by combining many computer systems
 A large number of cheap off the-shelf servers can create
one large supercomputer
 Used for calculation-intensive systems
 Weather forecasts
 Geological research
 Nuclear research
 Pharmaceutical research
 TOP500.org
Shaharyar Islam
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 when computers in the grid are
not under control
Shaharyar Islam
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
 Interactive systems are different than batch oriented systems
 When possible, try to spread the load of the system over
the available time
Shaharyar Islam
Design for use
 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
 Follow the vendor's recommended implementation
 Have the vendors check the design you created
 Move rarely used data from the main systems to other systems
 Moving old data to a large historical database can speed up a smaller sized database
Shaharyar Islam
Capacity management
 Capacity management guarantees high performance of a
system in the long term
 To ensure performance stays within acceptable limits,
performance must be monitored
 Trend analyses can be used to predict performance
degradation
 Anticipate on business changes (like forthcoming
marketing campaigns)
Shaharyar Islam

More Related Content

What's hot

Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology OverviewOpenCity Community
 
Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and ToolsBrendan Gregg
 
Hierarchical Storage Management
Hierarchical Storage ManagementHierarchical Storage Management
Hierarchical Storage ManagementJaydeep Patel
 
Basics of storage Technology
Basics of storage TechnologyBasics of storage Technology
Basics of storage TechnologyLopamudra Das
 
Operating Systems: Virtual Memory
Operating Systems: Virtual MemoryOperating Systems: Virtual Memory
Operating Systems: Virtual MemoryDamian T. Gordon
 
Operating System 3
Operating System 3Operating System 3
Operating System 3tech2click
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overviewiamtodor
 
How Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfHow Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfScyllaDB
 
Server virtualization
Server virtualizationServer virtualization
Server virtualizationofsorganizer
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performanceSyed Zaid Irshad
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to KafkaAkash Vacher
 
Improving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at UberImproving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at UberYing Zheng
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsArun Shukla
 
Introduction of storage devices(Brief Knowledge)
Introduction of storage devices(Brief Knowledge)Introduction of storage devices(Brief Knowledge)
Introduction of storage devices(Brief Knowledge)Afaq Siddiqui
 
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan EwenAdvanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewenconfluent
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors pptSiddhartha Anand
 
Process management in os
Process management in osProcess management in os
Process management in osSumant Diwakar
 

What's hot (20)

Virtualization Technology Overview
Virtualization Technology OverviewVirtualization Technology Overview
Virtualization Technology Overview
 
Linux Performance Analysis and Tools
Linux Performance Analysis and ToolsLinux Performance Analysis and Tools
Linux Performance Analysis and Tools
 
Hierarchical Storage Management
Hierarchical Storage ManagementHierarchical Storage Management
Hierarchical Storage Management
 
Basics of storage Technology
Basics of storage TechnologyBasics of storage Technology
Basics of storage Technology
 
Operating Systems: Virtual Memory
Operating Systems: Virtual MemoryOperating Systems: Virtual Memory
Operating Systems: Virtual Memory
 
Operating System 3
Operating System 3Operating System 3
Operating System 3
 
Kafka Overview
Kafka OverviewKafka Overview
Kafka Overview
 
CS6401 Operating Systems
CS6401 Operating SystemsCS6401 Operating Systems
CS6401 Operating Systems
 
How Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdfHow Development Teams Cut Costs with ScyllaDB.pdf
How Development Teams Cut Costs with ScyllaDB.pdf
 
Server virtualization
Server virtualizationServer virtualization
Server virtualization
 
Limitations of memory system performance
Limitations of memory system performanceLimitations of memory system performance
Limitations of memory system performance
 
Introduction to Kafka
Introduction to KafkaIntroduction to Kafka
Introduction to Kafka
 
Desktop and multiprocessor systems
Desktop and multiprocessor systemsDesktop and multiprocessor systems
Desktop and multiprocessor systems
 
Improving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at UberImproving Kafka at-least-once performance at Uber
Improving Kafka at-least-once performance at Uber
 
Virtual Machine Migration & Hypervisors
Virtual Machine Migration & HypervisorsVirtual Machine Migration & Hypervisors
Virtual Machine Migration & Hypervisors
 
Introduction of storage devices(Brief Knowledge)
Introduction of storage devices(Brief Knowledge)Introduction of storage devices(Brief Knowledge)
Introduction of storage devices(Brief Knowledge)
 
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan EwenAdvanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
Advanced Streaming Analytics with Apache Flink and Apache Kafka, Stephan Ewen
 
Multithreaded processors ppt
Multithreaded processors pptMultithreaded processors ppt
Multithreaded processors ppt
 
Apache kafka
Apache kafkaApache kafka
Apache kafka
 
Process management in os
Process management in osProcess management in os
Process management in os
 

Similar to Performance Of IT Infrastructure Author Liam Smith

05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-conceptsMuhammad Ahad
 
NoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATNoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATHenryBowers
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slidesMuhammad Ahad
 
Perfmon And Profiler 101
Perfmon And Profiler 101Perfmon And Profiler 101
Perfmon And Profiler 101Quest Software
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basicsCharu Anand
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overviewsharadkjain
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Suresh Mishra
 
Performance Testing
Performance TestingPerformance Testing
Performance TestingAnu Shaji
 
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...Eran Chinthaka Withana
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
ScalabilityAvailability
ScalabilityAvailabilityScalabilityAvailability
ScalabilityAvailabilitywebuploader
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseTim Vaillancourt
 
Performance Optimization
Performance OptimizationPerformance Optimization
Performance OptimizationNeha Thakur
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And ScalabilityJason Ragsdale
 
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance Management
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance ManagementDentsply Sirona Sinks their Teeth into Oracle Hyperion Performance Management
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance ManagementDatavail
 
R12 d49656 gc10-apps dba 08
R12 d49656 gc10-apps dba 08R12 d49656 gc10-apps dba 08
R12 d49656 gc10-apps dba 08zeesniper
 
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 TestRodolfo Kohn
 

Similar to Performance Of IT Infrastructure Author Liam Smith (20)

05. performance-concepts
05. performance-concepts05. performance-concepts
05. performance-concepts
 
NoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RATNoCOUG Presentation on Oracle RAT
NoCOUG Presentation on Oracle RAT
 
05. performance-concepts-26-slides
05. performance-concepts-26-slides05. performance-concepts-26-slides
05. performance-concepts-26-slides
 
Perfmon And Profiler 101
Perfmon And Profiler 101Perfmon And Profiler 101
Perfmon And Profiler 101
 
Performance testing basics
Performance testing basicsPerformance testing basics
Performance testing basics
 
Performance testing : An Overview
Performance testing : An OverviewPerformance testing : An Overview
Performance testing : An Overview
 
Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1Less11 3 e_loadmodule_1
Less11 3 e_loadmodule_1
 
Performance Testing
Performance TestingPerformance Testing
Performance Testing
 
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...
Redefining ETL Pipelines with Apache Technologies to Accelerate Decision-Maki...
 
Performance testing
Performance testingPerformance testing
Performance testing
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
ScalabilityAvailability
ScalabilityAvailabilityScalabilityAvailability
ScalabilityAvailability
 
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce DatabaseBlack Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
 
Performance Optimization
Performance OptimizationPerformance Optimization
Performance Optimization
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
Ch24 system administration
Ch24 system administration Ch24 system administration
Ch24 system administration
 
Ch24
Ch24Ch24
Ch24
 
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance Management
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance ManagementDentsply Sirona Sinks their Teeth into Oracle Hyperion Performance Management
Dentsply Sirona Sinks their Teeth into Oracle Hyperion Performance Management
 
R12 d49656 gc10-apps dba 08
R12 d49656 gc10-apps dba 08R12 d49656 gc10-apps dba 08
R12 d49656 gc10-apps dba 08
 
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
 

Recently uploaded

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 

Recently uploaded (20)

Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 

Performance Of IT Infrastructure Author Liam Smith

  • 1. IT Infrastructure Architecture (chapter 2) Infrastructure Building Blocks and Concepts Shaharyar Islam
  • 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 Shaharyar Islam
  • 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, users remember a bad experience  Even if the fluctuation is relatively rare Shaharyar Islam
  • 4. Perceived performance  Inform the user about how long a task will take  Progress bars  Splash screens Shaharyar Islam
  • 6. Performance during infrastructure design A solution must be designed, implemented, and supported to meet the performance requirements  Even under increasing load  Calculating performance of a system in the design phase is:  Extremely difficult  Very unreliable Shaharyar Islam
  • 7. Performance during infrastructure design Performance must be considered:  When the system works as expected  When the system is in a special state, like:  Failing parts  Maintenance state  Performing backup  Running batch jobs  Some ways to do this are:  Benchmarking  Using vendor experience  Prototyping  User Profiling Shaharyar Islam
  • 8. Benchmarking  A benchmark uses a specific test program to assess the relative performance of an infrastructure component  Benchmarks compare:  Performance of various subsystems  Across different system architectures Shaharyar Islam
  • 9. Benchmarking  Benchmarks comparing the raw speed of parts of an infrastructure  Like the speed difference between processors or between disk drives  Not taking into account the typical usage of such components  Examples:  Million Instructions Per Second – MIPS Shaharyar Islam
  • 10. Vendor experience  The best way to determine the performance of a system in the design phase: use the experience of vendors  They have a lot of experience running their products in various infrastructure configurations  Vendors can provide:  Tools  Figures  Best practices Shaharyar Islam
  • 11. Prototyping  Also known as proof of concept (PoC)  Prototypes measure the performance of a system at an early stage  Building prototypes:  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, as early as possible in the design process Shaharyar Islam
  • 12. User profiling  Predict the load a new software system will pose on the infrastructure before the software is actually built  Get a good indication of the expected usage of the system  Steps:  Define a number of typical user groups (personas)  Create a list of tasks perform on the new system  Decompose tasks to infrastructure actions  Estimate the load per infrastructure action  Calculate the total load Shaharyar Islam
  • 13. User profiling 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 Shaharyar Islam
  • 14. 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 Shaharyar Islam
  • 15. Performance of a running system Shaharyar Islam
  • 16. Managing bottlenecks  The performance of a system is based on:  The performance of all its components  The interoperability of various components  A component causing the system to reach some limit is referred to as the bottleneck of the system  Every system has at least one bottleneck that limits its performance  If the bottleneck does not negatively influence performance of the complete system under the highest expected load, it is OK Shaharyar Islam
  • 17. Performance testing  Load testing - shows how a system performs under the expected load  Stress testing - shows how a system reacts when it is under extreme load  Endurance testing - shows how a system behaves when it is used at the expected load for a long period of time Shaharyar Islam
  • 18. Performance testing - Breakpoint Ramp up the load  Start with a small number of virtual users  Increase the number over a period of time  The test result shows how the performance varies with the load, given as number of users versus response time. Shaharyar Islam
  • 19. Performance testing  Performance testing software typically uses:  One or more servers to act as injectors  Each emulating a number of users  Each running a sequence of interactions  A test conductor  Coordinating tasks  Gathering metrics from each of the injectors  Collecting performance data for reporting purposes Shaharyar Islam
  • 20. Performance testing  Performance testing should be done in a production-like environment  Performance tests in a development environment usually lead to results that are highly unreliable  Even when underpowered test systems perform well enough to get good test results, the faster production system could show performance issues that did not occur in the tests  To reduce cost:  Use a temporary (hired) test environment Shaharyar Islam
  • 22. Increasing performance on upper layers  80% of the performance issues are due to badly behaving applications  Application performance can benefit from:  Database and application tuning  Prioritizing tasks  Working from memory as much as possible (as opposed to working with data on disk)  Making good use of queues and schedulers  Typically more effective than adding compute power Shaharyar Islam
  • 23. Disk caching  Disks are mechanical devices that are slow by nature  Caching can be implemented i:  Disks  Disk controllers  Operating system  All non-used memory in operating systems is used for disk cache  Over time, all memory gets filled with previously stored disk requests and prefetched disk blocks, speeding up applications.  Cache memory:  Stores all data recently read from disk  Stores some of the disk blocks following the recently read disk blocks Shaharyar Islam
  • 24. Web proxies  When users browse the internet, data can be cached in a web proxy server  A web proxy server is a type of cache  Earlier accessed data can be fetched from cache, instead of from the internet  Benefits:  Users get their data faster  All other users are provided more bandwidth to the internet, as the data does not have to be downloaded again Shaharyar Islam
  • 25. Operational data store  An Operational Data Store (ODS) is a read-only replica of a part of a database, for a specific use  Frequently used information is retrieved from a small ODS database  The main database is used less for retrieving information  The performance of the main database is not degraded Shaharyar Islam
  • 26. Front-end servers  Front-end servers serve data to end users  Typically web servers  To increase performance, store static data on the front-end servers  Pictures are a good candidate  Significantly lowers the amount of traffic to back-end systems  In addition, a reverse proxy can be used  Automatically cache most requested data Shaharyar Islam
  • 27. In-memory databases  In special circumstances, entire databases can be run from memory instead of from disk  In-memory databases are used in situations where performance is crucial  Real-time SCADA systems  High performance online transaction processing (OLTP) systems  As an example, in 2011 SAP AG introduced HANA, an in-memory database for SAP systems  Special arrangements must be made to ensure data is not lost when a power failure occurs Shaharyar Islam
  • 28. 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 scale a system:  Vertical scaling (scale up) - adding resources to a single component  Horizontal scaling (scale out) - adding more components to the infrastructure Shaharyar Islam
  • 29. Scalability – Vertical scaling  Adding more resources, for example:  Server: more memory, CPU’s  Network switch: adding more ports  Storage: Replace small disks by larger disks  Vertical scaling is easy to do  It quickly reaches a limit  The infrastructure component is “full” Shaharyar Islam
  • 30. Scalability – Horizontal scaling  Adding more components to the infrastructure, for example:  Adding servers to a web server farm  Adding disk cabinets to a storage system  In theory, horizontal scaling scales much better  Be aware of bottlenecks  Doubling the number of components does not necessarily double the performance  Horizontal scaling is the basis for cloud computing  Applications must be aware of scaling infrastructure components Shaharyar Islam
  • 32. Load balancing  Load balancing uses multiple servers that perform identical tasks  Examples:  Web server farm  Mail server farm  FTP (File Transfer Protocol) server farm  A load balancer spreads the load over the available machines  Checks the current load on each server in the farm  Sends incoming requests to the least busy server  Shaharyar Islam
  • 34. Load balancing  Advanced load balancers can spread the load based on:  The number of connections a server has  The measured response time of a server  The application running on a load balanced system must be able to cope with the fact that each request can be handled by a different server  The load balancer should contain the states of the application  The load balancing mechanism can arrange that a user’s session is always connected to the same server  If a server in the server farm goes down, its session information becomes inaccessible and sessions are lost Shaharyar Islam
  • 35. Load balancing  A load balancer increases availability  When a server in the server farm is unavailable, the load balancer notices this and ensures no requests are sent to the unavailable server until it is back online again  The availability of the load balancer itself is very important  Load balancers are typically setup in a failover configuration Shaharyar Islam
  • 36. Load balancing  Network load balancing:  Spread network load over multiple network connections  Most network switches support port trunking  Multiple Ethernet connections are combined to get a virtual Ethernet connection providing higher throughput  The load is balanced over the connections by the network switch  Storage load balancing:  Using multiple disks to spread the load of reads and writes  Use multiple connections between servers and storage systems Shaharyar Islam
  • 37. High performance clusters  High performance clusters provide a vast amount of computing power by combining many computer systems  A large number of cheap off the-shelf servers can create one large supercomputer  Used for calculation-intensive systems  Weather forecasts  Geological research  Nuclear research  Pharmaceutical research  TOP500.org Shaharyar Islam
  • 38. 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 when computers in the grid are not under control Shaharyar Islam
  • 39. 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  Interactive systems are different than batch oriented systems  When possible, try to spread the load of the system over the available time Shaharyar Islam
  • 40. Design for use  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  Follow the vendor's recommended implementation  Have the vendors check the design you created  Move rarely used data from the main systems to other systems  Moving old data to a large historical database can speed up a smaller sized database Shaharyar Islam
  • 41. Capacity management  Capacity management guarantees high performance of a system in the long term  To ensure performance stays within acceptable limits, performance must be monitored  Trend analyses can be used to predict performance degradation  Anticipate on business changes (like forthcoming marketing campaigns) Shaharyar Islam