Reducing large amounts of data to key metrics without losing too much information
René Schwietzke, Xceptance GmbH
@ReneSchwietzke
#java #qa #test #performance #performancetest #quality #automation
Quick Peak at the Basics
A response in a nutshell
Of course, this is a very compressed view on the topic.
Who consumes the results and why?
Of course, this is very ecommerce and Xceptance-centric.
What are we looking for?
Once again, very much simplified.
All the Numbers We Are Dealing With
What data can we capture (not only measure)
Simplified to almost HTTP only.
A collected example
R,QuickView.1,1571927593069,112,false,1593,6096,200,https://host/842177173640.html?cgid=sales,text/html,0,0,111,0,111,111,,,,,0,,
R,QuickView.2,1571927593184,79,false,1639,592,200,https://../Wishlist?productID=842177173640,application/json,0,0,79,0,79,79,,,,,0,,
A,QuickView,1571927593064,199,false
R,AddToCart.1,1571927597981,263,false,1727,3889,200,https://host/Cart-AddProduct?format=ajax,text/html,0,0,260,1,260,261,,,,,0,,
A,AddToCart,1571927597981,264,false
T,TOrder,1571927533453,100982,false,,
It could be so simple
500 ms
or faster
321 ms
Turn the point into a line by adding a dimension
We are looking for more than just single numbers
Just collect
A standard load test result of a large US customer
How many data points are captured?
Transaction | 9 |
Action | 5 |
Request | 23 |
Custom | 5 |
Event | 5 |
Agent | 23 |
Transaction | 47,395,170 |
Action | 279,627,770 |
Request | 2,810,274,044 |
Custom | 622,595 |
Event | 26,163,605 |
Agent | 1,228,407 |
Total | 3,165,311,591 |
A few data points are optional or only occasionally reported.
These numbers show the dimensions
Our Result and Communication Challenge
A data example
Test time: 1 h - Total: 14,645 - Mean: 174 ms - P95: 210 ms - P99: 250 ms - Max: 1,169 ms - P99.9: 480 ms
Is the average good enough?
Test time: 8 h - Total: 6,796 - Mean: 156 ms - P95: 730 ms - P99: 1,610 ms - Max: 6,592 ms - P99.9: 4,930 ms
Which PXX might be a good vehicle for the message?
Test Time: 3h 30 m - Total: 114,386 - Mean: 504 ms - P95: 550 ms - P99: 2,660 ms - Max: 6,169 ms - P99.9: 4,280 ms
What is our final communication data set?
Test time: 1 h - Total: 112,695 - Mean: 501 ms - P50: 250 ms - P95: 1,950 ms - P99: 5,170 ms - Max: 16,689 ms - P99.9: 7,830 ms
Test time: 3 h - Total: 3,145,233 - Mean: 669 ms - P50: 250 ms - P95: 2,760 ms - P99: 8,740 ms - Max: 35,945 ms - P99.9: 30,020 ms
Does it makes sense to collect 10x more data than needed?
Some More Technical Stuff
How we crunch the data
There is More That can be Done
Ideas for Master and Bachelor Theses
Thank you very much!