This presentation deals with the Performance testing implemented in the Project.
We have to use Certain Tools in the POC process.
1) VSTS
2) JMeter
finally, VSTS has been Implemented.
I hope this presentation helps the viewer to get the overview of the tools which Accenture Deals.
10. Performance Test Load Test Stress Test
Goal Speed System behavior Under High Load Extreme Load
Objective/Risk
Mitigation
User Statisfaction, Future Growth, System Breakdown
Response time Resource Consumption, Recovery/Resiliance
Time to First Byte CPU and Memory Usage, Security Vulnurability
Profiling Concurrency Issue Slow Leak
Monitoring and Profiling High Availability
Monitoring
TYPES OF PERFORMANCE TESTS
12. DISCUSSION
Running Performance Testing from Cloud/Central server.
Perf vs Prod setup.
Monitoring Controller : Explore the monitoring available on
GCP ( stackdriver , any other GCP tool etc.) during perf load
tests.
13. Copyright 2017 Accenture. All rights reserved. 17
IDENTIFYING AND SETTING PERFORMANCE GOALS
Naturally, in order to achieve a goal, we first need to understand what that goal is So, before we can
determine whether the application performs well, we need to understand what that means in terms of the
metrics the application needs to produce.
Lets say business has a customer base of 5,000 concurrent users, but what does that really mean? It
means we need to ask the questions like those below.
If the application is being used by the entire customer base, what is the typical usage pattern?
• What percentage of users are using overview pages?
• What percentage of the users are using admin pages?
• What percentage of users are using people pages?
14. DISTRIBUTING LOAD ACROSS APPLICATION - SITE MAP
Copyright 2017 Accenture. All rights reserved. 18
15. Copyright 2017 Accenture. All rights reserved. 19
Scenario
Concurre
nt users
Accepted
response
times
Pages
applicabl
e to
Next
year
Next 2
years
Typical
usage
1,000
< 5
seconds
Overview
Page
1,500 2,500
Typical
usage
1,000
1–3
seconds
Admin
Page
1,500 2,500
Peak
2,500–
3,000
< 8
seconds
Overview
Page
1,500 2,500
Peak
2,500–
3,000
3–5
seconds
Admin
Page
3,500–
4,000
4,000–
5,000
WORK LOAD
SPECIFICATION
The number of typical concurrent users that
represents average usage.
The number of concurrent users during peak
times.
The project growth of the user-base over time.
16. While doing performance test, we monitor the server behavior for couple of hours and test for endurance with
predefined time and load.
Business Transactions - APM tools display response time of the transaction and categorize the business transaction statuses
such as: Normal, Slow, Very Slow, Stall and Error. They also provide transaction snapshots with call graphs, which allow to drill
down details of application tier, calling methods, external calls etc., and enables us to see which method is taking more time.
Code Level Diagnostics - As part of performance testing, it provides ability to determine which transaction is slow, and helps us
in identifying the reasons for slow transaction by allowing to drill down to the method in code causing issue and helps in isolating
the performance bottlenecks.
Custom Dashboards – Provides custom dashboards with graphical representation of the dozens of required performance
metrics and KPIs. APM tools allow us to create custom dashboards based on the choice of metrics CPU, memory, garbage
collection, heap memory usage etc., and to view in different Chart Styles. It also allows to share the dashboard reports by
creating specific URL.
Alerts/Notifications - Alerts can be created based on rules, conditions, threshold or policies over any changes in the key
performance indicators or server health metrics. Alerts can be shared via mail or SMS.
Server Metrics - APM tools continuously monitor end to end infrastructure which include health of the server and server level
metrics such as garbage collection, heap memory utilization, CPU, memory etc., and makes it easy to identify performance
bottlenecks.
MONITORING
Copyright 2017 Accenture. All rights reserved. 20
17. Performance testing can provide the broad metrics and characteristics required to
determine where changes need to be made, and profiling can pinpoint the exact areas
that need those changes.
Determine what specific aspects of the application need improving.
Profiling will highlight, at a granular level, what methods take a long time to execute, what
objects are utilizing excessive amounts of memory, and so on.
There are generally two types of profiling : performance-based and memory-based.
Performance profiling measures how long a method or function may take to run.
Memory profiling measures how much memory certain aspects of the application (or even
individual objects) use.
PROFILING
Copyright 2017 Accenture. All rights reserved. 21