+ All Categories
Home > Documents > Essence of Performance and Load Testing VanQ 30 April 2009

Essence of Performance and Load Testing VanQ 30 April 2009

Date post: 05-Apr-2018
Category:
Upload: khushboo-tambi
View: 213 times
Download: 0 times
Share this document with a friend
42
 Essence of Performance and Load Testing April 30 th , 2009 Gihan B Madawala Argus Technologies Ltd CREO Products Inc Chancery Software Ltd Meridian Project Systems Ltd Modular Mining Systems Canada Ltd .
Transcript
Page 1: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 1/42

 Essence of Performance and Load Testing

April 30th , 2009Gihan B Madawala

Argus Technologies Ltd

CREO Products Inc

Chancery Software Ltd

Meridian Project Systems Ltd

Modular Mining Systems Canada Ltd.

Page 2: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 2/42

Topics

Why do we need to test performance Myths surrounding performance testing

Performance / Scalability testing

Single User Performance testing Worst-case scenario

Performance bottlenecks

Performance and Scalability Targets Performance Testing Lab

Performance Team

Page 3: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 3/42

Topics Contd..

Microsoft Testing Tools Commercial Performance Testing Tools

Process of analyzing performance and

Scalability issues Tool selection strategy

Problems with manual perf testing

Tool Evaluation Process

Some Performance relatedissues/solutions

Books & Reference materials

Page 4: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 4/42

Bad comments/Questions/Answers

It’s the first release of this feature so of course it is going to be slow !

It only takes couple of seconds so what is thebig dealQ: Why is this page too slow ?

A: It is because we have TWO users in thesystem

Q: How many users that we can support withthis system?

A: 20 users per server

Page 5: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 5/42

Good comments/questions/Answers

“ The technology of the product is basedupon current solid architecture and easy towork with” 

“The system is flexible to build upon and can

be managed easily by our personnel.”  Product has the architecture required to

function in large projects. It not onlyperforms well but it scales

Q: How many users can we support with oursystem?

A: 400 users per server

Page 6: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 6/42

Why do we need to test

performance

Studies show performance was one of the

most important qualities of a application

Experience shows Performance issues are themost likely to “bite with surprise” released

into live operation

Lack of knowledge on Performance &Scalability testing

Page 7: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 7/42

Myths surrounding Performance

testing

We do not need to measure System Performance

Our system is incredibly impressive with all thefeatures, users will not mind if it is little slow

We do not really need precise measurement goals

Performance testing has to be done late in theproject.

Anyone can measure performance; it does not

require any skills or expertise Any test lab/tool is about the same as any other one

and you can mimic real life usage of the app 

Page 8: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 8/42

Performance testing should start early in the

project and should be a on going process

Performance andtesting practices

OperationalPerformance was

Acceptable (48%)

OperationalPerformance was NOT

Acceptable (52%)

Reviewed or stimulated

performance during

requirements anddesign phases 

21% 0%

Tested early in

development

35% 6%

Tested late in

development

38% 26%

Did not do

performance or load

testing

6% 60%

Page 9: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 9/42

Performance testing / Scalability

Testing

The purpose of performance testing is to measuresystem’s performance for agreed requirements 

Scalability testing (Load Testing, Stress testing) is

measurement of performance under heavy load: Peakor worst-case conditions :-

Performance usually is measured as weighted mix of response time, throughput (Network Bandwidth) andavailability

Response time – Measure of how long the systemtakes to complete a task or group of tasks

Page 10: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 10/42

Single user performance testing

How important is to measure single user

performance

Gives an early indication of system designfeasibility

Can be measured with existing set of tools

available Cost of single user testing is low and can be

done prior to multiple user testing

Page 11: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 11/42

Worst-case scenario

If the test pass and scale well with worst-case we know for sure that the application

will perform better for a lesser load. Full data population is necessary

Project Ex: (worst-case)

-Larger data packet size

-More frequency data packets

-More client threads

Page 12: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 12/42

Performance and Scalability Targets

Achieve the specified Response time for oneuser

Maintain the response time within a specifiedrange when the system is under load

Maximize the number of active users peravailable bandwidth

Minimize network bandwidth usage

CPU usage of machines should be < 80%under heavy load

Page 13: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 13/42

Performance Bottlenecks

Client CPU

Database Server CPU

Client, Server Memory

Network Bandwidth Disk I/O

Transaction processing speed

Serialization and de-serialization speed Network latency

Limitations of the 2nd /3rd party servers/add-ins

Page 14: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 14/42

Performance Testing Lab

Simulation of realistic scenario

Having adequate hardware

Having feature rich testing tools Test Automation and Unit tests

Performance testing expertise

Creating real test data

Page 15: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 15/42

Performance Team

Performance Test Engineer

Senior Developer

Database Specialist Hardware Engineer

Network Specialist

Page 16: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 16/42

Microsoft Testing Tools

PERFMON

SQL Profiler

ACT (Application Centre Test) WAST (Web Application Stress Tool)

TEAM TEST (Visual Studio Team System)

windebug /ddk

Page 17: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 17/42

Some Industry Leading Performance

and Scalability Tools

Load Runner (Mercury now HP) *

Silk Performer (Segue now Boland) *

QA Load ANTS

Open STA (Open Source)

E-Load (Emprix) SHUNRA

SPIRENT Test Centre

Page 18: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 18/42

 Process of Analyzing Performance and

Scalability Issues

Non Invasive action (Low hanging fruits)1 Analyzing of Performance counters

2 Profiling

3 Load testing tool analysis. Two steps

- Run concurrent users- Run specific number of users continuously

4 Simulate different network conditions

5 Tracing and debugging .NET components

6 Use of windebug /ddk Invasive Action

1.Re-factoring 2.Architectural change

Page 19: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 19/42

Tool selection Strategy

#  Areas to Test GUI Automation

(Feature Testing) 

Single Userperformanc

e Multiple User

Performance  Stress/Stability Testing 

1  Web Clients  TestPartner/TestComplete  

Manual/Benchmark

Tools/Visual

Studio LoadRunner/SilkPerformer/

TestComplete LoadRunner/SilkPerformer

/TestComplete 

2  Office client  TestPartner/TestComplete  

Manual/Benchmark

Tools/VisualStudio  LoadRunner/SilkPerformer   LoadRunner/SilkPerformer  

Central server – DB server  TestPartner/TestComplete  

Manual/Benchmark

Tools/Visual

Studio LoadRunner/SilkPerformer/

TestComplete LoadRunner/SilkPerformer

/TestComplete 

NetworkInfrastructure  SUNRA/SPIRENT 

Manual/Benchmark

Tools/Visual

Studio  SUNRA/SPIRENT  SUNRA/SPIRENT 

5 HardwareInterfaces  Internal Simulators 

Manual/Benchmark

Tools/Visual

Studio  Internal Simulators  Internal Simulators 

Mobile Client – Windows CE  TestComplete 

Manual/Benchmark

Tools/Visual

Studio  Internal Simulators  Internal Simulators 

Page 20: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 20/42

Problems with Manual Performance

testing in the Lab

Difficult to mimic concurrency operations

Cannot be repeated easily

Difficult to setup and organize

Lab could be expensive

Very time consuming

Cannot afford to have large scale performance

labs in every development locationsFull NFRs cannot be tested

Page 21: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 21/42

Commercial tools Vs Internal tools

Consider the scope of features needed

Estimate the ROI

How soon you need the tool Does the test team has performance

testing expertise

Customer requirements for benchmarksand proper test results

Page 22: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 22/42

Tool Evaluation Process

Phase 1 – Fact finding of requirements,

suitable vendors and preparing aproposal for project stakeholders – 

5 weeks

Phase 2 - Tool demonstrations in lab – 

6 weeks (2 weeks for each vendor)

Phase 3 – Complete Evaluation Process – 

1 week

Phase 4 – Negotiation and Purchase of a tool – 4 weeks

Phase 5 – Tool deployment – 1 week 

Page 23: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 23/42

  Issue # 1 – Testing Non Functional

Requirements

Unless it is tested we cannot guarantee thatthe application going to work for the stated

NFRs. That is if we say that our application can

support 500 mobile clients we need to test

these scenarios before clamming the limits of 

our system. We cannot test 50 clients and say

that the system should work with 500 clients

calculating performance parameters byinterpolating them.

Page 24: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 24/42

Solution #1: Always test/simulate full

NFRs

Shouldn’t interpolate single user data for 

multiple users

Try to test with worst-case scenario

Different bottlenecks restrain achievingbetter performance/Scalability.

Proper testing Lab Use tools to simulate and test full NFRs

Page 25: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 25/42

Issue # 2 – Cost of fixing Performance

Defects

We need to start testing Performanceand scalability early in the development

life cycle. More you do this early it is

easy to find solutions and less costly tothe project.

Page 26: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 26/42

Solution #2: Reducing Project Costs

Page 27: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 27/42

Issue # 3 – Unable to gauge performance

Performance optimizations shouldn’t beintegrated haphazardly. We need to have

mechanism and tools to monitor

performance and scalability regularly. If it is not with weekly builds we should at

least try to monitor this at least once a

month with set of test scenarios covering

good part of operations of the

application. It would be ideal if we can

automate this.

Page 28: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 28/42

Solution #3: Regular Performance

Measurements – Heartbeat of the project

Page 29: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 29/42

Issue # 4- Unrealistic/Untested NFRs

We need to better scrutinize the NFRrequirements coming from Marketing to

really understand that we can support

them with the technology and theplatform that we select for the product.

Page 30: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 30/42

Page 31: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 31/42

Issue # 5 – Agile Performance Testing

If Agile method has been adopted forthe development process try to do

performance and scalability testing

in each sprint tied down to userstories. This will give developers

immediate feedback of the status of 

performance of the particular area.

Page 32: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 32/42

Solution # 5 – Traditional Performance

Testing

Page 33: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 33/42

Solution # 5 – Agile Performance Testing

Page 34: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 34/42

Issue # 6 – Testing with unrealistic data

We need to test systems with morerealistic data as possible. We should

create different sizes/profiles of 

databases and benchmark results foreach category. We can develop these

data sets together with the

development team as this is

important for them as well.

Page 35: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 35/42

Solution # 6 – Data Generation

We need to programmaticallygenerate application data keeping

the data integrity.

Do this for different profiles

(standard, heavy and ceiling)

Update and maintain this dataThis is a responsibility of both test

and dev teams

I # 7 l k f t f db k till

Page 36: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 36/42

Issue # 7 – lack of customer feedback till

end of the project

Many projects we find major issues

because our process does not has

room to get customer feedback aearly in the project.

Page 37: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 37/42

Solution # 7 – More input from Support

Dept and Customers

Provide Implementation/Supportdepartment with working

software/system before the application

transitioned to collect feedbackGet customer feedback if possible before

the release

Expose identified dev and test teammembers for real customer environments

if possible.

Page 38: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 38/42

Issue # 8: Growing customer demands

Once a customer buys your product withtime their requirements overpass theoriginal application requirements.

Mostly this is to do with handlingincrease amount of data. Somecustomers may even require to keepeven 10 years worth of data in the

running system. This could be a majorchallenge if not planned properly.

Page 39: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 39/42

Solution # 8: Capacity Planning

Collecting data from Customers/field

Consolidate this data for a 6 months/1

year targets

Focus more on most frequent & mostimportant features

Get the Performance Team to start on

these targets early

Do Capacity planning for both software

and hardware/network

Page 40: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 40/42

Microsoft Performance Testing Labs

Can use for benchmarking

Can use testing tools with 1000’s of user

licenses

Can use Microsoft domain experts on

Performance

Worth investment towards improving

system performance

Page 41: Essence of Performance and Load Testing VanQ 30 April 2009

7/31/2019 Essence of Performance and Load Testing VanQ 30 April 2009

http://slidepdf.com/reader/full/essence-of-performance-and-load-testing-vanq-30-april-2009 41/42

Books & Reference materials

MSDN articles

Pattern & Practices (Performance

tuning MS .NET Applications) – By MS

ACE Team)

Improving .NET Application

Performance and Scalability – by Rico

Mariani, Scott Barber)


Recommended