chapter 5.pptx: drainage and irrigation engineering
PAC 2019 virtual Philip Webb
1. Mark59 : A Jmeter-Selenium-CI Open Source Solution
By Philip Webb
2. Overview
• The Team
• Problems and progression through solutions
- ‘traditional P&V’ to CI P&V to ‘Mark59’
• A technical overview of Mark59
- scripting
7. DataHunter
• Test data management
• Mark59 development begins with the ‘DataHunter’ application
• … Later also becomes the Mark59 ‘sample applicaton’
19. UsingJmeter with Java Selenium ?
• Triggered by a ‘problem project’
• .. but with a full java selenium regression suite available
• Alignment with design philosophy
• Skills growth and knowledge sharing
• Justified by cost savings
• Jmeter
• Java friendly, well-known established open source tool
• ‘Mark59’ : Selenium-Implementation for Jmeter built
23. Phil’s Mark59 Selenium and JmeterRecipe
Ingredients
• 1 x Fully cooked Selenium DSL
• 1 x Raw Apache Jmeter
• Min 1 fresh Web Browser
(Chrome preferred)
• Min 1 good Selenium Driver
(ChromeDriver preferred)
• 1 x Fully prepared Eclipse
(Springboot Plugin optional)
• 2 x Jars of Mark59
• Min 1 DIY script sauce
Method
• Mix together Ecplise, DSL and Driver
• Pour in the jars of Mark59
• Add your script sauce and use a Maven to
place the results an a clean jar
• Add all into the raw Jmeter
• Switch on the Jmeter and Run
• Note: kitchen is assumed to have a git
• Advanced Chefs
• Should consider combining all ingredients
in a Jenkins
24. Mark59 Data Flow Overview (Jmeter)
Diagram Excludes:
LoadRunner Processing,
Logging, Archiving, API
Target
System
41. Injector LoadCapacity Data (Virtual /non-AWSServers)
• All injectors :
• Inter(R) Xeon(R) E7-2870 @ 2.40GHz 16 CPU (Virtual) 24 GB Ram 200GB Disk Win ‘16
• Largest current single server Selenium-only Test
• 13,000 txns/hr , 45 threads : CPU Util Average 30%
• ‘Just to Big’ for single server Selenium-only Test (10% degradation in responses)
• 27,000 txns/hr , 60 threads ,
• When executed on a single injector : CPU Util Average 50 – 60 %
• Distributedacross 2 injectors : CPU Util Average 20 – 30%
• Largest distributed (2 servers) Selenium-only Run
• 44,000 txns/hr , 100 threads : CPU Util Average 30-45%
42. LoadCapacity: historical CPU variance distributedinjectors
• Largest distributed (2 server) Selenium-only Run (44000 txns/hr , 100 threads)
Injector CPU Utilization Averages (last 10 soak runs)
• Guesstimate max practical capacity using similiar sized VMs : ~ 10 servers => ~ ~ 200,00 txns/hr
Injector 1
Injector 2
43. Thank You
• Follow-up
• If ‘Mark59’ gets traction we’ll monitor on Stack Overflow
• Please watch for updates and progress at https://github.com/iagcl/mark59
• and soon at https://mark59.com