Upload
nzuresh
View
238
Download
0
Embed Size (px)
Citation preview
8/6/2019 How to Conduct Load Test
1/16
1
H ow t o Se t U p a Cu st o m er L oa d T es t
Performance, Data Management & Scalability
Learn ing Object ives
As a result of this session, you will:
Estimate the required resources for a performance test
Create a project plan for a custom performance test
8/6/2019 How to Conduct Load Test
2/16
2
1. Introductory Remarks
2. Planning a Custom Performance Test
3. Walking Through the Process Steps
4. Conclusion
Agenda
Di f ferent Per formanc e Test s (1 /2)
Performance AnalysisDetermine how fast some aspect of a system performs, such as
Single user tests
A single transaction test
Understand what parts of the system or workload cause the system to performbadly (diagnosis case)
Sca labi l i ty Test ingMeasure system behavior with varying workloads
Determine effects of adding additional hardware to distribute work among systemcomponents
Testing for linear resource consumption to obtain scalability with
Number of objects, size of objects, number of concurrent users,
Can be a series of single user performance tests as well as of multi-user stresstests
8/6/2019 How to Conduct Load Test
3/16
3
Dif ferent Per formanc e Test s (2 /2)
Volume Test ing or Load Test ingBlanket term that is used in many different ways across the professional software
testing community
Often used as a synonym for multi-user (load) testing
Practice of modeling the expected usage of a software program by simulating theusage of specific program services, thus representing important business scenarios
Concurrent users, that is, online activity
Background jobs
Various workloads (expected daily load)
Stress Test ingSubset of load testingDetermines the breaking point or unacceptable performance point of a system
Demonstration that the system meets performance criteria
Reflects peaks beyond the expected daily load
Per fo rmance Tes ts Approaches
Single user testSmall test system (QA, development), oneuser
Analyze & measureScalable behavior
Quality and implications of accessesto persistence layer
Linear resource consumption
Parallel processing mechanisms,load balancing
Memory usage and memory leaks
Disk requirements
Front-end network load
Performance predictions/sizingfor high volume environment
Volume tes t
Equivalent to multi-user test,stress test, load test Verification of assumptions +
8/6/2019 How to Conduct Load Test
4/16
4
Some Goals of High Volume Test s
Verification of scalable software and system infrastructure
Load balancing
Parallel processing
Locking behavior
System tuning and parameterization
Bottleneck analysis for infrastructure
Fail-over, back-up and disaster recovery strategies
Monitoring and system administration, calibration of thresholds
Robustness
No deadlocks
Data consistency
Possible performance degradation in overload situations
Verification of sizing models
Identification of memory leaks (especially with Java applications)
Cri t ic a l Succ ess Fact ors of High Volume Tests
Top-bottom: Success of the project depends on
Project management
Multiple stakeholders
Human and financial resources
Time restrictions
Handling infrastructure / hardware expenses
Dedicated test systems, the more complex, the more servers Complexity of test cases and their setup
Availability of test systems
Discipline during the testing: Avoid changes to test case / process
Expertise to analyze test results, especially to identify critical components
Simulation of proper system behavior
Note
Single analysis including tracing and profiling still has to be done
8/6/2019 How to Conduct Load Test
5/16
5
Side St ep: The Right People on the Bus
High as compared to s ing le user tes tsPeople from different departments and with different levels of expertiseare needed for the execution:
Development analysis of test results, setup of tests
Application Experts definition of test case including test data, definition of KeyPerformance Indicators
IT test environment, system administration
Test tool specialist
Performance measurement and monitoring specialist
In the single-user tests you may require
One application specialist One developer
(in most cases the developer is the application specialist)
One performance specialist
Three or all-in-one
Project
complexity
Info
rmatio
nal
valu
eofresults
Hardw
are
costs
Single user test
Volume load test
Effortof
executio
n
Analysisofcustom-
specificbehavior
Rat ing of Test Opportun i t ies
8/6/2019 How to Conduct Load Test
6/16
6
1. Introductory Remarks
2. Planning a Custom Performance Test
3. Walking Through the Process Steps
4. Conclusion
Agenda
A few Words on the Tes t Sys tems
System for s ing le user test Possibly QA-System, Development System
Goals: test functionality, remove performance bugs, testchanges in settings
2-CPUs (to be somewhat independent from other load)
Less than 10% CPU utilization
Load tes t sys tem Volume test
Any configuration (close to planned production)
Dedicated, possibly QA?
Separate sys tem s para l le l ac t iv i t ies
8/6/2019 How to Conduct Load Test
7/16
7
A few Words on the Team Members &
Assumpt ions
Teams Application team (AT)
Includes people responsible for implementation and application experts
Test system admin and technical team (IT)
Ski l ls Know the application and business requirements
Understand complete system architecture
Perform system analysis
I/O, OS, RDBMS, WebAS,
Where are the Team s involved
xxEvaluate test results
xxPerform volume tests
xxPerform single-user tests
(x)xCreate actual test data
x(x)Decide on methods of load and user simulation
xDetermine infrastructure of load test system
xSet up test scenarios for test systems
(x)xDo initial capacity planning for load test system
xEstablish test scenarios for business processes
xDetermine data distribution
(x)xDetermine needed functionality
xSet throughput and response time expectations
xDetermine critical business processes
ITApplicationMain Tasks
8/6/2019 How to Conduct Load Test
8/16
8
Most Tasks Can Run in Para l le l (Example)
Evaluate test results
Perform volume tests
Perform single-user tests
Create actual test data
Decide on methods of load anduser simulation
Determine infrastructure of loadtest system
Set up test scenarios for testsystems
Do initial capacity planning forload test system
Establish test scenarios forbusiness processes
Determine data distribution
Determine needed functionality
Set throughput and responsetime expectations
Determine critical businessprocesses
Mile stones
Actual hands-on
Planning steps
Elapse time: 3 months+
1. Introductory Remarks
2. Planning a Custom Performance Test
3. Walking Through the Process Steps
4. Conclusion
Agenda
8/6/2019 How to Conduct Load Test
9/16
9
Steps of a Load Tes t (1/8)
0. A l loca te p rojec t m embers, make sure they can ded ica tethemselves to the task1. Determine the bread-and-butter processes
Determine what users require for their daily work
Define top 5 (or 10) business processes for performance and scalability testing
Examples for important business processes
Daily high volume upload at night
Strong reporting at year-end closing
2. Document the expec ted th roughput f i gu res and /o r userand sys tem response t imes Include end users or implementation team
For example:
Upload of 75,000 sales order line items in 15 minutes
Upload orders and run MRP for 300,000 products in 2,5 hours
Processing of nn http requests per sec from mm parallel users
Expected response times 0.5 s in an Interaction Center
Entire scenarios can be included as well
Usually these figures are part of a requirement or specification document
Milestone: Target Def in i t ion is Set
This target definition will show whether your entire project is a successor not
Why? These expectations will become your internal benchmarks against which
all new releases have to be compared to
Also, he lpfu l for assessing the rea l costs of t he test Complexity
Batch tests are "cheaper" than online usage simulation
8/6/2019 How to Conduct Load Test
10/16
10
Steps of a Load Tes t (2/8)
3a. Determine the complet e set o f func t ional i t ies neededfor the load tes t and the resul t ing sof tw arecomponents For example
ATP (Available-to-Promise) Check in APO system
Pricing in IPC
Workflow or interfaces to other systems
3b. Def ine t he scope Discuss if the chosen business processes can actually be implemented
In close cooperation, but with a view from the IT perspective settle for the possible
For example
The AT might want to test the year-end closing but the IT team finds out thatimporting the data from another system may take too long
So the decision may be taken to use only 50% of the resources and test only
50% of the volume and then scale out
Steps of a Load Tes t (3/8)
4. Determine t he data d is t r ibut ion i .e . the t ype of mas terdata you need Avoid artificial bottlenecks, for example all orders use the same customer and
products
It is not enough to create a vast amount of data by simply copying it
5. Create t es t procedures Starting conditions must allow reproducible measurements It might be necessary to ensure this, using a backup and restore strategy, in other
cases a clean-up program may be sufficient
Even if you test in a small system you ought to have regular back-ups in order to starta test from scratch again or to repeat a test phase
Specify in detail and document well
Individual and detailed process steps
Input / output for the steps
Customizing environment
8/6/2019 How to Conduct Load Test
11/16
11
Steps of a Load Tes t (4/8)
6. Size and lay out o f the t es t sys tem Do sizing based on planned data volume (Quick Sizer, )
7. IT team sets t es t scenar ios Create detailed test cases for infrastructure
Example: WAN infrastructure, hardware load balancer
8. Prov ide and set up load tes t sys tem and sys teminf ras t ruc ture Prepare test environment
Servers, front ends, disk layout, instances and clients
Ensure that the system landscape is well configured
Backup and restore strategy in place
In some cases it makes sense to start testing with a small system which yougradually extend
Steps of a Load Tes t (5/8)
9. Dec ide on met hods of load and user s imulat ion Decide what data is inserted by real users or by tools
Advantage of real users
Training for end users
Feedback loop
Which tool is going to be used, is determined by the IT Team
Responsible for implementation Tool experience
10. Create tes t data For example: master data, customizing,
8/6/2019 How to Conduct Load Test
12/16
12
Steps of a Load Tes t (6/8)
11. Run the s ing le-user tes t on a smal l tes t sys tem For optimal results: have the system all to yourself
Stable
No background processes, CPU utilization below 10%
Measure performance and analyze the application
Check scalability of application,
e.g. linear resource consumption
Adherence to performance guidelines
Eliminate performance bugs
Side Step : Tes t ing fo r L inear Resource
Consumpt ion
To test whether the solution is scalable, perform "linearity tests"
These tests are basically a repeatable pattern for (example):
Scalability with an increasing number of objects
1 object, five line items
10 objects, five line items
100 objects, five line items
Scalability with an increasing of line items 1 object, 1 line item
1 object, 10 line items
1 object, 100 line items
The results of these controlled tests can be analyzedto determine if any performance bottlenecks exist.
8/6/2019 How to Conduct Load Test
13/16
13
Steps of a Load Tes t (7/8)
12. Run the vo lume load t es t Start with a small load and increase load step-by-step towards the final throughput
target
Measure the throughput
Measure the resource consumption using appropriate monitoring tools
Carefully monitor the expected performance bottlenecks
Optimize system parameter settings and repeat the test executionsif necessary
Steps of a Load Tes t (8/8)
13. Evaluate the t es t resul ts Document the achieved throughput numbers and the corresponding resource
consumption
Document the limiting components (bottlenecks)
Document the test system environment (hardware and software releases) carefully
The numbers may be needed for sizing of further systems
8/6/2019 How to Conduct Load Test
14/16
14
1. Introductory Remarks
2. Planning a Custom Performance Test
3. Walking Through the Process Steps
4. Conclusion
Agenda
Concluding Remark s
Del iverables f rom vo lume t es ts Sizing verification
Proposals for optimal system configuration and parametrization
"Operations handbook", lessons learned
Tuning
Monitoring
Backup & recovery
High availability
Data archiving
Background job scheduling
Escalation procedures
Settings for thresholds (alerts)
8/6/2019 How to Conduct Load Test
15/16
15
Too ls & Exper ience
SAP Tools eCATTs
For single user tests
Particularly handy for multiple testing of scenarios
Together with Global Performance Analysis
Benchmark tool kit
For volume load tests
Keep i t s imple Focus on most important scenario/component/process otherwise youll lose focus
Part and parc el Project management across teams, organizations, companies
Bear in mind milestones, deadlines
Drive team members
Communicate
Documentation
THANK YOU FOR YOUR
ATTENTION !
Q & A
QU EST ION S SU GGEST ION S DI SCU SSI ON
8/6/2019 How to Conduct Load Test
16/16
16
Copyright 2008 SAP AG
Al l r ights reserved
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changedwithout prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdgeand other SAP products and services mentioned herein as well as their respective logos aretrademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated logos displayedare the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
The information in this document is proprietary to SAP. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This documentcontains only intended strategies, developments, and functionalities of the SAPproduct and is not intended to be binding upon SAP to any particular course of business, product strategy,and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, orother items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties ofmerchantability, fitness for a particular purpose, or non-infringement.
SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitationshall not apply in cases of intent or gross negligence.
The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in thesematerials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages
Weitergabe und Vervielfltigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrckliche schriftliche Genehmigung durchSAP AG nicht gestattet. In dieser Publikation enthaltene Informationen knnen ohne vorherige Ankndigung gendert werden.
Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte knnen Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind.
SAP, R/3, xApps, xApp, SAP NetWeaver, Duet, SAP Business ByDesign, ByDesign, PartnerEdgeund andere in diesem Dokument erwhnte SAP-Produkte und Services sowie diedazugehrigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Lndern weltweit. Alle anderen in diesem Dokument erwhnten Namenvon Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zuInformationszwecken. Produkte knnen lnderspezifische Unterschiede aufweisen.
Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderenVereinbarung mit SAP. Dieses Dokument enthlt nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP-Produkts und ist fr SAP nicht bindend, einen bestimmtenGeschftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP bernimmt keine Verantwortung fr Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht dieRichtigkeit oder Vollstndigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewhr, wederausdrcklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschlielich, hinsichtlich der Gewhrleistung der Marktgngigkeit und d er Eignung fr einen bestimmten Zwecksowie fr die Gewhrleistung der Nichtverletzung geltenden Rechts.
SAP bernimmt keine Haftung fr Schden jeglicher Art, einschlielich und ohne Einschrnkung fr direkte, spezielle, indirekte oder Folgeschden im Zusammenhang mit der Verwendungdieser Unterlagen. Diese Einschrnkung gilt nicht bei Vorsatz oder grober Fahrlssigkeit.
Die gesetzliche Haftung bei Personenschden oder die Produkthaftung bleibt unberhrt. Die Informationen, auf die Sie mglicherweise ber die in diesem Material enthaltenen Hotlinkszugreifen, unterliegen nicht dem Einfluss von SAP, und SAP untersttzt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewhrleistungen oder Zusagen berInternetseiten Dritter ab.
Alle Rechte vorbehalten.