SlideShare a Scribd company logo
Leveraging Functional Test Tools
and AWS for Performance Testing
Siva A
sqlandsiva.blogspot.in
 Journey from developing Utilities and scaling it for
Performance
 Perf testing experience
Key Focus
Leading Retail solutions product for managing Traffic,
EAS, Inventory Solutions for large retailers like Macys
(Link)
Product Under Test
 Daily Continuous builds
 Test bed management Tasks
 Test data management
 APIs Testing / Data Services Testing
Functional Testing Challenges
 Minimum testable functionality / continuous builds
requires quick reusable tools
 Smaller components with dedicated code ownership
would help in better maintenance, customization
 Usually tools developed by one person ends up modified
by someone else in team
 "Writing small components will give your software a high
chance of survival: all individual components are easy to
use and understand, and are usable on their own in various
use cases“ (Source)
Smaller Test utilities / tools than a
large consolidated Suite
 Horizontally scaling existing architecture for
performance improvements
Performance Validation
 Measure Response time of requests for multi user
scenarios
 Concurrency and Race Conditions
 Failover Testing / Upgrade Testing
 Metadata Sync Services
 Web Services
Non Functional Testing Demand
 Web Services – SOAP UI
 Metadata Sync Services – Tablediff
 Measuring Response time – custom code
 Concurrency and Race Conditions– custom code
multithreaded application
 Failover /Upgrade testing approach – Reboot cases/
Upgrades
Non Functional Testing Demand
 Challenges
 Environment set up
 Different customer environments setup required
 Upgrade / Changing configurations is hard
AWS was one of evaluated options that met our needs
Secret behind Performance Story line
SQL Server
IO
CPU
Memory Schema
Data
Code
Minimum Reads and WritesOptimum memory usage
Effective CPU Utilization Well configured and
maintained
Index Tuning
/ TSQL Tuning
Relevant
Optimized
Area Counter Definition Significance Accepted Values
CPU Analysis Total %Processor Time
Total percentage usage of processors, this
means usage of all cores divided by their
numbers
A High total processor usage means that
system is of shortage of CPU resources, and
that will result in longer time of processing
queries and requests. It can also state that
DB Design, Indexing and queries are not
optimal
Should be less that 85% for OLTP
Systems. Number higher than 85%
for longer periods (more than 10
minutes) would indicate CPU
Contention
CPU Analysis Processor Queue Length
This is the number of threads ready in
processor queue but not currently able to
use processor
The more of these processes, the indication
that CPU is under pressure and it is putting
processes on queue
Generally < 4 per CPU, < 8 is good,
< 12 is fair
Memory Analysis Available Mbytes
Amount of free memory in Mbytes on the
server that can used by new processes, If the
server is under pressure then this value will
decrease because processes keep acquiring
memory
The more the free memory server has, then
chances that processes won't fight for
memory they need.
Value should not be less than 300
Mbytes, Otherwise it suggests
memory (RAM) bottleneck
Databases (TempDB,
Transaction
Databases)
Transactions / Sec
Write Transactions / Sec
Active Transactions
Baseline values for comparison of
performance against different configurations
SQL Server
Behaviour Index Searches Vs FULL Scans
Index Seeks - Number of seek operations
engine performs. This includes physical
tables, tables created in memory or tempdb
Full Scans - Number of FULL Table Scans Table Scans are very expensive
Ensure table scans are minimal
and indexes are used eliminating
need for table scans
IO and Disk Analysis
Total Disk Queue Length vs
Total current disk queue
length
Outstanding requests waiting for the disk
resources to become available and be
processed High value indicates disk bottleneck
Acceptable values should be
usually less than 3
360 Degree view of Performance
 Take VanillaDB Backup, Restore Versions of
DB based on test setting (Automated)
 Configure Perf Counters
 Clean-up previous run logs / counters / DB
traces (Automated)
 Enable Deadlock Trace
 Start Perf Counters
 Start Run (Start LoadGenerators to hit to
sites) – Tool, Automated
 After run completion, Collect stats from
LoadGenerators, CPU, RAM, DB usage
Perf Test Cycle
Perf Test Landscape
 Invoking Rest API
 Result Comparison (Sample REST API Loadgenerator)
– Github Code
 From workstation – 4 Proc , 8 GB, (Execution time is -
17.44 minutes, Rate 172.00 - calls per minute, Rate 2.86 - calls per
second)
 From AWS Machine – 8 Proc, 30GB
Learn to Play with AWS in Mins
 Leverage same environments for multiple customers
issues repro / fix verification
 Save images when not needed, reuse for next cycle
 Create and clone multiple load generators on need
basis
 Able to benchmark and recommend load handling
capacity for client specified hardware / recommend
hardware for client performance needs
Lessons Learnt
 Use same environments to run tests
 Develop reusable utilities
 Don’t expect commercial tools to do everything
 In Progress - CI Integration for functional testing
using WIN32 automation, installation, setup, run tests
Key Takeaways
 Database and Monitoring Utilities
 WSDL comparison across multiple versions
 SSMS Tools Pack, Atlantis SQL Server (Data
generation / schema analysis)
 Tablediff – Data comparison across multiple DB’s
 Perf Counters Interpretation & Analysis
Tools

More Related Content

PPT
Performance engineering
PDF
Load Testing & Apache JMeter
PPTX
Run tests at scale with on-demand Selenium Grid using AWS Fargate
PDF
Prometheus (Microsoft, 2016)
PDF
Building Web APIs that Scale
PDF
"Building intuitive command-line interfaces in .NET", Alex Thissen
PPTX
Perfmon And Profiler 101
PDF
CCI2018 - Benchmarking in the cloud
Performance engineering
Load Testing & Apache JMeter
Run tests at scale with on-demand Selenium Grid using AWS Fargate
Prometheus (Microsoft, 2016)
Building Web APIs that Scale
"Building intuitive command-line interfaces in .NET", Alex Thissen
Perfmon And Profiler 101
CCI2018 - Benchmarking in the cloud

What's hot (20)

PDF
Benchmarking Performance and Scalability with Web Stress
PDF
Salesforce app limits_cheatsheet latest by 25 oct 2019
PDF
12 Steps to API Load Testing with Apache JMeter
PDF
LoadRunner walkthrough
PDF
Jmeter Walkthrough
PDF
Infinite Topic Backlogs with Apache Pulsar
PDF
Message queues
PPTX
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
PPTX
Web api scalability and performance
PPTX
Prevent Recovery Amnesia - Forget The Backups
PPTX
Scalable load testing using jmeter in cloud
PPTX
Cache optimization
PPTX
Overview of Message Queues
PPT
Rest services caching
PPTX
Diesel load testing tool
PDF
Introduction to Apache Heron
DOC
How to improve your apache web server’s performance
PDF
3.2 Streaming and Messaging
PDF
AWS Cloud Front and Cloud Formation
PDF
Build a custom metrics on aws cloud
Benchmarking Performance and Scalability with Web Stress
Salesforce app limits_cheatsheet latest by 25 oct 2019
12 Steps to API Load Testing with Apache JMeter
LoadRunner walkthrough
Jmeter Walkthrough
Infinite Topic Backlogs with Apache Pulsar
Message queues
Webinar: MongoDB Management Service (MMS): Session 02 - Backing up Data
Web api scalability and performance
Prevent Recovery Amnesia - Forget The Backups
Scalable load testing using jmeter in cloud
Cache optimization
Overview of Message Queues
Rest services caching
Diesel load testing tool
Introduction to Apache Heron
How to improve your apache web server’s performance
3.2 Streaming and Messaging
AWS Cloud Front and Cloud Formation
Build a custom metrics on aws cloud
Ad

Similar to Leveraging Functional Tools and AWS for Performance Testing (20)

PPT
NoCOUG Presentation on Oracle RAT
PPTX
Performance eng prakash.sahu
PPTX
Windows Azure Acid Test
PPT
Web Performance & Scalability Tools
PPTX
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
PPT
Scalable Apache for Beginners
PPT
Software Performance
PPT
ScalabilityAvailability
PPTX
Performance Testing
PDF
Performance tuning in sql server
PPTX
Mapping Data Flows Perf Tuning April 2021
PPT
Test automation process _ QTP
PPT
Test automation process
PDF
OTM Performance Review and Benchmarking
PPTX
QSpiders - Installation and Brief Dose of Load Runner
PPTX
Azure Data Factory Data Flow Performance Tuning 101
PPT
Lamp Stack Optimization
PPTX
Handling Data in Mega Scale Systems
PPTX
Expert summit SQL Server 2016
PPTX
Sql Server
NoCOUG Presentation on Oracle RAT
Performance eng prakash.sahu
Windows Azure Acid Test
Web Performance & Scalability Tools
Black Friday and Cyber Monday- Best Practices for Your E-Commerce Database
Scalable Apache for Beginners
Software Performance
ScalabilityAvailability
Performance Testing
Performance tuning in sql server
Mapping Data Flows Perf Tuning April 2021
Test automation process _ QTP
Test automation process
OTM Performance Review and Benchmarking
QSpiders - Installation and Brief Dose of Load Runner
Azure Data Factory Data Flow Performance Tuning 101
Lamp Stack Optimization
Handling Data in Mega Scale Systems
Expert summit SQL Server 2016
Sql Server
Ad

More from Thoughtworks (20)

PDF
Design System as a Product
PDF
Designers, Developers & Dogs
PDF
Cloud-first for fast innovation
PDF
More impact with flexible teams
PDF
Culture of Innovation
PDF
Dual-Track Agile
PDF
Developer Experience
PDF
When we design together
PDF
Hardware is hard(er)
PDF
Customer-centric innovation enabled by cloud
PDF
Amazon's Culture of Innovation
PDF
When in doubt, go live
PDF
Don't cross the Rubicon
PDF
Error handling
PDF
Your test coverage is a lie!
PDF
Docker container security
PDF
Redefining the unit
PPTX
Technology Radar Webinar UK - Vol. 22
PDF
A Tribute to Turing
PDF
Rsa maths worked out
Design System as a Product
Designers, Developers & Dogs
Cloud-first for fast innovation
More impact with flexible teams
Culture of Innovation
Dual-Track Agile
Developer Experience
When we design together
Hardware is hard(er)
Customer-centric innovation enabled by cloud
Amazon's Culture of Innovation
When in doubt, go live
Don't cross the Rubicon
Error handling
Your test coverage is a lie!
Docker container security
Redefining the unit
Technology Radar Webinar UK - Vol. 22
A Tribute to Turing
Rsa maths worked out

Recently uploaded (20)

PPTX
A Presentation on Touch Screen Technology
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Hybrid model detection and classification of lung cancer
PDF
Enhancing emotion recognition model for a student engagement use case through...
PDF
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
PDF
August Patch Tuesday
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
MIND Revenue Release Quarter 2 2025 Press Release
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Web App vs Mobile App What Should You Build First.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
1. Introduction to Computer Programming.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Encapsulation theory and applications.pdf
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Hindi spoken digit analysis for native and non-native speakers
PPTX
Tartificialntelligence_presentation.pptx
PPTX
Group 1 Presentation -Planning and Decision Making .pptx
A Presentation on Touch Screen Technology
1 - Historical Antecedents, Social Consideration.pdf
Hybrid model detection and classification of lung cancer
Enhancing emotion recognition model for a student engagement use case through...
ENT215_Completing-a-large-scale-migration-and-modernization-with-AWS.pdf
August Patch Tuesday
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
MIND Revenue Release Quarter 2 2025 Press Release
Assigned Numbers - 2025 - Bluetooth® Document
Web App vs Mobile App What Should You Build First.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
1. Introduction to Computer Programming.pptx
A comparative study of natural language inference in Swahili using monolingua...
Chapter 5: Probability Theory and Statistics
Encapsulation theory and applications.pdf
NewMind AI Weekly Chronicles - August'25-Week II
Hindi spoken digit analysis for native and non-native speakers
Tartificialntelligence_presentation.pptx
Group 1 Presentation -Planning and Decision Making .pptx

Leveraging Functional Tools and AWS for Performance Testing

  • 1. Leveraging Functional Test Tools and AWS for Performance Testing Siva A sqlandsiva.blogspot.in
  • 2.  Journey from developing Utilities and scaling it for Performance  Perf testing experience Key Focus
  • 3. Leading Retail solutions product for managing Traffic, EAS, Inventory Solutions for large retailers like Macys (Link) Product Under Test
  • 4.  Daily Continuous builds  Test bed management Tasks  Test data management  APIs Testing / Data Services Testing Functional Testing Challenges
  • 5.  Minimum testable functionality / continuous builds requires quick reusable tools  Smaller components with dedicated code ownership would help in better maintenance, customization  Usually tools developed by one person ends up modified by someone else in team  "Writing small components will give your software a high chance of survival: all individual components are easy to use and understand, and are usable on their own in various use cases“ (Source) Smaller Test utilities / tools than a large consolidated Suite
  • 6.  Horizontally scaling existing architecture for performance improvements Performance Validation
  • 7.  Measure Response time of requests for multi user scenarios  Concurrency and Race Conditions  Failover Testing / Upgrade Testing  Metadata Sync Services  Web Services Non Functional Testing Demand
  • 8.  Web Services – SOAP UI  Metadata Sync Services – Tablediff  Measuring Response time – custom code  Concurrency and Race Conditions– custom code multithreaded application  Failover /Upgrade testing approach – Reboot cases/ Upgrades Non Functional Testing Demand
  • 9.  Challenges  Environment set up  Different customer environments setup required  Upgrade / Changing configurations is hard AWS was one of evaluated options that met our needs Secret behind Performance Story line
  • 10. SQL Server IO CPU Memory Schema Data Code Minimum Reads and WritesOptimum memory usage Effective CPU Utilization Well configured and maintained Index Tuning / TSQL Tuning Relevant Optimized
  • 11. Area Counter Definition Significance Accepted Values CPU Analysis Total %Processor Time Total percentage usage of processors, this means usage of all cores divided by their numbers A High total processor usage means that system is of shortage of CPU resources, and that will result in longer time of processing queries and requests. It can also state that DB Design, Indexing and queries are not optimal Should be less that 85% for OLTP Systems. Number higher than 85% for longer periods (more than 10 minutes) would indicate CPU Contention CPU Analysis Processor Queue Length This is the number of threads ready in processor queue but not currently able to use processor The more of these processes, the indication that CPU is under pressure and it is putting processes on queue Generally < 4 per CPU, < 8 is good, < 12 is fair Memory Analysis Available Mbytes Amount of free memory in Mbytes on the server that can used by new processes, If the server is under pressure then this value will decrease because processes keep acquiring memory The more the free memory server has, then chances that processes won't fight for memory they need. Value should not be less than 300 Mbytes, Otherwise it suggests memory (RAM) bottleneck Databases (TempDB, Transaction Databases) Transactions / Sec Write Transactions / Sec Active Transactions Baseline values for comparison of performance against different configurations SQL Server Behaviour Index Searches Vs FULL Scans Index Seeks - Number of seek operations engine performs. This includes physical tables, tables created in memory or tempdb Full Scans - Number of FULL Table Scans Table Scans are very expensive Ensure table scans are minimal and indexes are used eliminating need for table scans IO and Disk Analysis Total Disk Queue Length vs Total current disk queue length Outstanding requests waiting for the disk resources to become available and be processed High value indicates disk bottleneck Acceptable values should be usually less than 3 360 Degree view of Performance
  • 12.  Take VanillaDB Backup, Restore Versions of DB based on test setting (Automated)  Configure Perf Counters  Clean-up previous run logs / counters / DB traces (Automated)  Enable Deadlock Trace  Start Perf Counters  Start Run (Start LoadGenerators to hit to sites) – Tool, Automated  After run completion, Collect stats from LoadGenerators, CPU, RAM, DB usage Perf Test Cycle
  • 14.  Invoking Rest API  Result Comparison (Sample REST API Loadgenerator) – Github Code  From workstation – 4 Proc , 8 GB, (Execution time is - 17.44 minutes, Rate 172.00 - calls per minute, Rate 2.86 - calls per second)  From AWS Machine – 8 Proc, 30GB Learn to Play with AWS in Mins
  • 15.  Leverage same environments for multiple customers issues repro / fix verification  Save images when not needed, reuse for next cycle  Create and clone multiple load generators on need basis  Able to benchmark and recommend load handling capacity for client specified hardware / recommend hardware for client performance needs Lessons Learnt
  • 16.  Use same environments to run tests  Develop reusable utilities  Don’t expect commercial tools to do everything  In Progress - CI Integration for functional testing using WIN32 automation, installation, setup, run tests Key Takeaways
  • 17.  Database and Monitoring Utilities  WSDL comparison across multiple versions  SSMS Tools Pack, Atlantis SQL Server (Data generation / schema analysis)  Tablediff – Data comparison across multiple DB’s  Perf Counters Interpretation & Analysis Tools

Editor's Notes

  • #6: Working throw away solution solves current hunger while prioritizing on next set of applicable changes
  • #8: Note – Why not commercial performance test tool. API in-depth code level validation.
  • #13: Diagram of it, Sequential diagram. How we solved it. Voice over tools explain them. Reduce test cycle time from 4 hrs to 2 hour