0% found this document useful (0 votes)
9 views29 pages

IT 602 Week 3 - Slides

The document outlines the key concepts of Information Technology Infrastructure, focusing on performance management, design, and testing. It discusses perceived performance, benchmarking, user profiling, and various performance testing methods, emphasizing the importance of managing bottlenecks and capacity. Additionally, it highlights strategies for improving performance through caching, grid computing, and long-term capacity management.

Uploaded by

Mahiraa Shahzadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views29 pages

IT 602 Week 3 - Slides

The document outlines the key concepts of Information Technology Infrastructure, focusing on performance management, design, and testing. It discusses perceived performance, benchmarking, user profiling, and various performance testing methods, emphasizing the importance of managing bottlenecks and capacity. Additionally, it highlights strategies for improving performance through caching, grid computing, and long-term capacity management.

Uploaded by

Mahiraa Shahzadi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 29

Information Technology

Infrastructure
Information Technology Infrastructure

• Credit Hours: 3
• Lecturer: Shafaq Nisar

• Lecturing Style: Video Lectures of short duration (5-7 minutes)


Performance Concepts
1. Introduction
2. Perceived Performance
3. Performance during Infrastructure Design
• Benchmarking, User Profiling, Vendor experience
• Prototyping
4. Performance of a Running System
• Managing Bottlenecks and Performance Testing
5. Performance Patterns
• Increasing performance on Upper layer
• Caching
6. Grid Computing
7. Capacity management
Introduction

Performance 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, users 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

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


Performance during Infrastructure Design

• Some ways to do this are:


• Benchmarking
• Using vendor experience
• Prototyping and User Profiling
Traditional
BenchmarkingIT Infrastructure

• 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
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:
• Floating Point Operations Per Second – FLOPS

• Million Instructions Per Second – MIPS of a CPU


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 data centre 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
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
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 personas will perform on the new system
• Decompose tasks to infrastructure actions
• Estimate the load per infrastructure action
• Calculate the total load
Performance of a Running System
Managing Bottlenecks
Calculation examples
• 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
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
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.
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


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


Disk Caching

• Disks are mechanical devices that are slow by nature

• Caching can be implemented i:


• Disks

• Disk controllers

• Operating system

• Cache memory:
• Stores all data recently read from disk

• Stores some of the disk blocks following the recently read disk blocks
Caching

Time it takes to fetch 1 MB of


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

You might also like