Performance Testing of a Road Tolling System

Similar documents
Siegfried Goeschl. Gatling Tales From A Journey

Sage 300 ERP. Compatibility Guide Version Revised: Oct 1, Version 6.0 Compatibility Guide i

Improve Web Application Performance with Zend Platform

Forensic Toolkit System Specifications Guide

Sage Compatibility guide. Last revised: August 20, 2018

Performance Testing: A Comparative Study and Analysis of Web Service Testing Tools

Silicon House. Phone: / / / Enquiry: Visit:

Website Performance Testing. ebook

70-414: Implementing an Advanced Server Infrastructure Course 01 - Creating the Virtualization Infrastructure

Oracle 10g and IPv6 IPv6 Summit 11 December 2003

Open source tools used in effective testing

Sage ERP Accpac. Compatibility Guide Version 6.0. Revised: November 18, 2010

Sage ERP Accpac. Compatibility Guide Version 6.0. Revised: February 2, Version 6.0 Compatibility Guide

High Availability Without the Cluster (or the SAN) Josh Sekel IT Manager, Faculty of Business Brock University

Data Scientists / Data Analysts (m/f) educational ackground university degree in data science, computer science, software engineering

Testing with Soap UI. Tomaš Maconko

Performance Monitoring and SiteScope

Our goal is to help you create, manage and grow your successful online business. We offer a full range of website design and development services.

Cloud Services. Introduction

Diplomado Certificación

B2W Software Resource Requirements & Recommendations

Migrating to JBoss. Agenda. US Coverage Map. Company Overview. Partner Websites. Brand Websites

Case Study Ecommerce Store For Selling Home Fabrics Online

Hardware & System Requirements

13. Databases on the Web

Ivanti Service Desk and Asset Manager Technical Specifications and Architecture Guidelines

Application Architecture

Luckily, our enterprise had most of the back-end (services, middleware, business logic) already.

Scaling ColdFusion. Presenter Mike Collins, Sr. ColdFusion Consultant - SupportObjective

Architecture and Governance with SharePoint for Internet Sites. Ashish Bahuguna Kartik Shah

Market Data Publisher In a High Frequency Trading Set up

Excerpts of Web Application Security focusing on Data Validation. adapted for F.I.S.T. 2004, Frankfurt

Application Management Webinar. Daniela Field

Session 20710: High Availability Options for JD Edwards EnterpriseOne

How can you manage what you can t see?

ArcGIS Enterprise: Portal Administration BILL MAJOR CRAIG CLEVELAND

Command Travel Time System

ArcGIS Server Performance and Scalability : Optimizing GIS Services

Sage ERP Accpac. Compatibility Guide Versions 5.5 and 5.6. Revised: November 18, Compatibility Guide for Supported Versions

CITRIX 1Y0-200 EXAM QUESTIONS & ANSWERS

DOWNLOAD PDF TELEPHONE BILLING SYSTEM PROJECT

PostgreSQL and REST API s The Easy Way

Performance and Scalability: Tuning, Testing, and Monitoring

VietSoftware International Inc. Software Testing Competence

Next-Generation Cloud Platform

Document Sub Title. Yotpo. Technical Overview 07/18/ Yotpo

Course 6231A: Maintaining a Microsoft SQL Server 2008 Database

vcdm System Requirements Version 6.6 English

Introduction 2 Load Testing

SecureAware Technical Whitepaper

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky)

COPYRIGHTED MATERIAL

Oracle 10g on Solaris to Oracle RAC 11gR2 on Linux Upgrade

Oracle Primavera P6 Enterprise Project Portfolio Management Performance and Sizing Guide. An Oracle White Paper April 2011

Using Automated Network Management at Fiserv. June 2012

Quality - The Key to Successful SOA. Charitha Kankanamge WSO2 February 2011

Scale-out Storage Solution and Challenges Mahadev Gaonkar igate

Oracle Database 10G. Lindsey M. Pickle, Jr. Senior Solution Specialist Database Technologies Oracle Corporation

Sage Accpac. Sage Accpac ERP 5.6. Compatibility Guide (Revised as of: October 22, 2009) Sage Accpac ERP 5.6. Important

Edge Foundational Training

Hardware Requirements

GIS Application Delivery Challenges & Solutions During State of Emergencies

Bill Wear. VirtualVault Product Manager. Internet Banking Case Study

Use Case: Scalable applications

Developing with the Cloud

Optimizing GIS Services: Scalability & Performance. Firdaus Asri

Aurora, RDS, or On-Prem, Which is right for you

Vernetzte Fahrerassistenzsysteme (BMW + AWS ) Hazard Preview

SCALING UP VS. SCALING OUT IN A QLIKVIEW ENVIRONMENT

SharePoint 2010 Technical Case Study: Microsoft SharePoint Server 2010 Enterprise Intranet Collaboration Environment

Technical Brief PANVIVA TECHNICAL BRIEF FEBRUARY

Distributed Architectures & Microservices. CS 475, Spring 2018 Concurrent & Distributed Systems

Polarion 18.2 Enterprise Setup

Performance Pack. Benchmarking with PlanetPress Connect and PReS Connect

Drilling Through The Stack. Burkhard Neidecker-Lutz Technical Director, SAP Research SAP AG

Oracle Communications Services Gatekeeper

Introduction. Architecture Overview

Aim behind client server architecture Characteristics of client and server Types of architectures

ARCHITECTURE GUIDE. Campaign Manager 6.0

Toad for Oracle Suite 2017 Functional Matrix

Adapted from: TRENDS AND ATTRIBUTES OF HORIZONTAL AND VERTICAL COMPUTING ARCHITECTURES

Vendor: Citrix. Exam Code: 1Y Exam Name: Managing Citrix XenDesktop 7 Solutions Exam. Version: Demo

FIREFLY ARCHITECTURE: CO-BROWSING AT SCALE FOR THE ENTERPRISE

Xytech MediaPulse Equipment Guidelines (Version 8 and Sky)

Project Genesis. Cafepress.com Product Catalog Hundreds of Millions of Products Millions of new products every week Accelerating growth

Maintaining a Microsoft SQL Server 2008 Database (Course 6231A)

In the Driver s Seat

Secure Login for SAP Single Sign-On Sizing Guide

QLIKVIEW SCALABILITY BENCHMARK WHITE PAPER

CIS 086 : Week 1. Web Development with PHP and MySQL

SQL Server 2014 Upgrade

Technical Brief SUPPORTPOINT TECHNICAL BRIEF MARCH

Overview of the Performance and Sizing Guide

TSPLUS PRODUCTS CATALOG RDP Software Editor 1

IBM C IBM PureApplication System V1.1, System Administration.

Using and Developing with Azure. Joshua Drew

Mitchell Bosecke, Greg Burlet, David Dietrich, Peter Lorimer, Robin Miller

Technical Overview. Access control lists define the users, groups, and roles that can access content as well as the operations that can be performed.

WHITE PAPER AGILOFT SCALABILITY AND REDUNDANCY

Test management and load testing with Salomé-TMF and CLIF is a Load Injection

Transcription:

Performance Testing of a Road Tolling System Oliver Baendl Siegfried Goeschl

Gauteng Open Road Tolling South Africa

42 Tolling Points

1.500.000 registered road-user

11 Satellite Centers

41 E-Toll Shops

20 Mobile Payment Units

Central Operation Center

750 Concurrent CRM Client Users

162 vehicle passges per second

400 concurrent web users

Two Data Centers

Master Control Program

Project Overview Vehicles are passing through a tolling point The vehicle is identified either using the license plate number (via OCR) or a tag Vehicle passage are transmitted to Open Road Tolling Back Office (ORTBO) 90% video passages with three images 10% tag passages

Project Overview Vehicle passages are collected and assigned to road-user accounts in the Transaction Clearing House (TCH) TCH responsible for billing the customer Passages of unregistered or black-listed cars are processed by the Violation Processing Center (VPC)

Project Overview Overall system contains multiple Oracle RACs and MSSQL clusters Interfaces between the subsystems mostly web services Backup data center replicates the Central Operation Center over dark fiber

Schedule Phase One Performance testing of CRM Server simulating 750 concurrent & active CRM client sessions Performance testing of public-facing web portal simulating 400 concurrent & active web user sessions On success the CRM subsystem goes live and has real user accounts

Schedule Phase Two Simulating up to 162 vehicle passage per second Validating the end-to-end processing under load (passage processing, customer billing and violation processing) On success the overall system goes live

Performance Test Scope End to end performance acceptance test Mandatory and client-witnessed test Strict acceptance criteria regarding throughput number and severity of errors validation of test runs

Performance Test Types Baseline Test One hour average load Stress Test One hour peak load Endurance Test 24 hours maximum load

Performance Test Hardware Six dedicated load injectors Windows 2008 Server 3 physical and 3 virtual boxes Dual quad-cores with 8 GB RAM No direct access outside the data center Citrix over RDP over RDP

Performance Test Tools All performance test tools have issues Make sure that they work for you We prefer JVM-based test tools Easy to migrate between different OS We are Java developers We prefer command-line invocation RDP over slow network is really slow

Performance Test Tools We use a non-distributed installation Complex network and routing Firewall not under our control Check the license and price tags Virtual users can be expensive Connectivity to license server?

The Test Tools We Used Subsystem Interface Planned Delivered CRM Server WebService Public Web Portal HTML Vehicle Passage Processing WebService

Apache JMeter Open Source and free Implemented a new reporting backend to scope with huge result files Rock solid - only minor issues Extensible using scripting and Java libraries Rough GUI compared to commercial tools Unsuitable for complex ASP.NET web sites

WAPT Pro Excellent value for money Good support ASP.NET module saved my day Extensible through Javascript One major issue with generation of test values under high load (requires restart)

soapui Pro Excellent for prototyping and functional testing of web services WebService mocking saved my day Extensible using Groovy and Java libraries Various issues during load testing soapui was replaced with JMeter for performance tests

Some More Thoughts No software installation Take two (or more) Automation is your friend Performance test for everyone Performance tests are a valuable asset

No Software Installation

No Software Installation Portable Apps on USB Stick Run tests directly from USB Stick Clone USB Stick to hard disk Have all your tools on the USB stick Java, JMeter, Editor, Git,...

Take Two (or more) A minimum of two share-nothing load injectors are required to prove that the production servers is causing the performance bottleneck (and not your test tool) We used a maximum of five sharenothing load injectors simultaneously

Automation Is Your Friend Performance test were run mostly at night and over the weekend Test execution managed by Hudson Test failures triggers email notification Test protocols are copied to FTP server

Performance Tests for Everyone All test scenarios are configured as Hudson jobs Baseline, stress & endurance test Some other internal tests Everyone can start and monitor a performance test scenario over the web browser Even developers can run performance tests

Performance Tests as Asset Performance tests can be used in creative and un-planned ways Smoke test for new deployment Testing database failover Testing data center replication & failover Testing different database setups

The few things you should take home

Lessons Learned

Lessons Learned Tests tools are buggy

Lessons Learned Tests tools are buggy Performance tests are a valuable asset

Lessons Learned Tests tools are buggy Performance tests are a valuable asset Creation and maintenance of complex performance test suite is a project on its own

Questions & Answers

Resources JMeter SLA Report JAMon API JMeter ANT Tasks WAPT Pro soapui https://github.com/sgoeschl/jmeter-sla-report http://jamonapi.sourceforge.net/ http://www.programmerplanet.org/pages/ projects/jmeter-ant-task.php http://www.loadtestingtool.com http://www.soapui.org/

The Software Stack JMeter WAPT Pro soapui Pro Hudson Portable Apps Cacti Git JSPWiki Scripting

The Challenge Ahead

The Challenge Ahead A 100+ million EUR project

The Challenge Ahead A 100+ million EUR project High complexity

The Challenge Ahead A 100+ million EUR project High complexity Prohibitive contractual penalties

The Challenge Ahead A 100+ million EUR project High complexity Prohibitive contractual penalties Multi-site Development

The Challenge Ahead A 100+ million EUR project High complexity Prohibitive contractual penalties Multi-site Development Teams located in Austria, Sweden, Argentina and South Africa

The Challenge Ahead A 100+ million EUR project High complexity Prohibitive contractual penalties Multi-site Development Teams located in Austria, Sweden, Argentina and South Africa Development & QA overloaded

The Challenge Ahead A 100+ million EUR project High complexity Prohibitive contractual penalties Multi-site Development Teams located in Austria, Sweden, Argentina and South Africa Development & QA overloaded

The Challenge Ahead

The Challenge Ahead Performance testing on critical path

The Challenge Ahead Performance testing on critical path Lots of politics and finger-pointing

The Challenge Ahead Performance testing on critical path Lots of politics and finger-pointing Your performance tests are broken

The Challenge Ahead Performance testing on critical path Lots of politics and finger-pointing Your performance tests are broken Complex test scenarios

The Challenge Ahead Performance testing on critical path Lots of politics and finger-pointing Your performance tests are broken Complex test scenarios Often broken by new deployment

Plans are invitation to disappointment.

Two Data Centers, altogether 300 servers, MSSQL clusters, Oracle RACs, large SAN storage, 1.5 million registered road-users, 750 CRM users, backup data center over dark fiber

Things We Did To JMeter

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request Sending up to 400 SOAP requests / sec

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request Sending up to 400 SOAP requests / sec Sending 400 KB SOAP requests

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request Sending up to 400 SOAP requests / sec Sending 400 KB SOAP requests 70 MByte/sec over the wire

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request Sending up to 400 SOAP requests / sec Sending 400 KB SOAP requests 70 MByte/sec over the wire Using up to 750 worker threads per JVM

Things We Did To JMeter Three million WS requests over HTTPS requests where the server closes the socket after each request Sending up to 400 SOAP requests / sec Sending 400 KB SOAP requests 70 MByte/sec over the wire Using up to 750 worker threads per JVM 64-bit JVM with -Xmx=2048M