Coding Serbia. Systematic Load Testing of Web Applications.



Similar documents
Generating Load from the Cloud Handbook

A Guide to Getting Started with Successful Load Testing

TFE listener architecture. Matt Klein, Staff Software Engineer Twitter Front End

Performance Testing Percy Pari Salas

bla bla OPEN-XCHANGE Open-Xchange Hardware Needs

Exploring Oracle E-Business Suite Load Balancing Options. Venkat Perumal IT Convergence

Load balancing MySQL with HaProxy. Peter Boros Percona 4/23/13 Santa Clara, CA

High Availability CAS

Apache Tomcat Clustering

27 th March 2015 Istanbul, Turkey. Performance Testing Best Practice

MONITORING CF WHAT ARE MY OPTIONS AND WHY SHOULD I

Comparative Study of Load Testing Tools

Maintaining Non-Stop Services with Multi Layer Monitoring

Performance TesTing expertise in case studies a Q & ing T es T

Serving 4 million page requests an hour with Magento Enterprise

Architecting ColdFusion For Scalability And High Availability. Ryan Stewart Platform Evangelist

MID-TIER DEPLOYMENT KB

How To Monitor A Server With Zabbix

SAP WEB DISPATCHER Helps you to make decisions on Web Dispatcher implementation

Implementing a Well- Performing and Reliable Portal

PART IV Performance oriented design, Performance testing, Performance tuning & Performance solutions. Outline. Performance oriented design

Performance Testing. Why is important? An introduction. Why is important? Delivering Excellence in Software Engineering

LOAD BALANCING TECHNIQUES FOR RELEASE 11i AND RELEASE 12 E-BUSINESS ENVIRONMENTS

Continuous Performance Testing

Proxy Sniffer V4.3 Release Notes

Tools for Testing Software Architectures. Learning Objectives. Context

Pure Cloud Run all components of the Apica ProxySniffer product completely in the cloud.

Mobile Performance Testing Approaches and Challenges

MEASURING WORKLOAD PERFORMANCE IS THE INFRASTRUCTURE A PROBLEM?

1 How to Monitor Performance

Testing & Assuring Mobile End User Experience Before Production. Neotys

Pass Through Proxy. How-to. Overview:..1 Why PTP?...1

University of Edinburgh. Performance audit. Date: Niels van Klaveren Kasper van der Leeden Yvette Vermeer

Application Performance Testing Basics

How Comcast Built An Open Source Content Delivery Network National Engineering & Technical Operations

1 How to Monitor Performance

Load Testing Tools. Animesh Das

Tuning Tableau Server for High Performance

Mark Bennett. Search and the Virtual Machine

OBIEE 11g Scaleout & Clustering

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

SOA Solutions & Middleware Testing: White Paper

Performance Testing Process

WEBLOGIC ADMINISTRATION

Oracle WebLogic Server 11g Administration

Identifying Performance Bottleneck using JRockit. - Shivaram Thirunavukkarasu Performance Engineer Wipro Technologies

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Web Application s Performance Testing

PostgreSQL Backup Strategies

Performance Analysis of Lucene Index on HBase Environment

Implementing Internet Storage Service Using OpenAFS. Sungjin Dongguen Arum

Table of Contents. Overview... 1 Introduction... 2 Common Architectures Technical Challenges with Magento ChinaNetCloud's Experience...

On the Deficiencies of Active Network Discovery Systems

A Talk ForApacheCon Europe 2008

Recording HTTP/S Traffic from any iphone and ipad by using "Pure Cloud"

Tableau Server Scalability Explained

Web Application Firewalls: When Are They Useful? OWASP AppSec Europe May The OWASP Foundation

Cisco Application Networking for IBM WebSphere

KEMP LoadMaster. Enabling Hybrid Cloud Solutions in Microsoft Azure

Flexible Routing and Load Control on Back-End Servers. Controlling the Request Load and Quality of Service

Monitoring applications in multitier environment. Uroš Majcen A New View on Application Management.

Enterprise Edition Scalability. ecommerce Framework Built to Scale Reading Time: 10 minutes

Stingray Traffic Manager Sizing Guide

Cognos8 Deployment Best Practices for Performance/Scalability. Barnaby Cole Practice Lead, Technical Services

Cisco Application Networking for Citrix Presentation Server

Scalability of web applications. CSCI 470: Web Science Keith Vertanen

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Ensuring scalability and performance with Drupal as your audience grows

CMPT 471 Networking II

Microsoft Web Application Stress Tool

So in order to grab all the visitors requests we add to our workbench a non-test-element of the proxy type.

ArcGIS for Server: Administrative Scripting and Automation

This presentation covers virtual application shared services supplied with IBM Workload Deployer version 3.1.

Vico Software Installation Guide

Performance Testing. Slow data transfer rate may be inherent in hardware but can also result from software-related problems, such as:

Aqua Connect Load Balancer User Manual (Mac)

The Evolution of Load Testing. Why Gomez 360 o Web Load Testing Is a

Apache Tomcat. Tomcat Clustering: Part 2 Load balancing. Mark Thomas, 15 April Pivotal Software, Inc. All rights reserved.

Monitoring Remedy with BMC Solutions

NetIQ Access Manager 4.1

Background. Industry: Challenges: Solution: Benefits: APV SERIES CASE STUDY Fuel Card Web Portal

JBoss Seam Performance and Scalability on Dell PowerEdge 1855 Blade Servers

Table of Contents INTRODUCTION Prerequisites... 3 Audience... 3 Report Metrics... 3

Check Point FireWall-1 HTTP Security Server performance tuning

Tuning WebSphere Application Server ND 7.0. Royal Cyber Inc.

INUVIKA OPEN VIRTUAL DESKTOP FOUNDATION SERVER

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Perfect Your Mobile App with Load Testing and Test Automation

Siebel & Portal Performance Testing and Tuning GCP - IT Performance Practice

Getting Started with PRTG Network Monitor 2012 Paessler AG

A Scalability Study for WebSphere Application Server and DB2 Universal Database

Performance Testing of a Cloud Service

MAGENTO HOSTING Progressive Server Performance Improvements

ZXTM (Zeus Extensible Traffic Manager) In Virtual Mode With Microsoft Virtual Server

Transcription:

Coding Serbia. Systematic Load Testing of Web Applications. Jürg Stuker. CEO. Partner. October 9, 2015

Nutrition Facts Serving Size about 45 Minutes % Daily Value* Performance Tuning 1% Load Test Basics (Client View) 25% My Experience 20% Questions & Answers 15% Tool Demo 39% No significantsourceof Business Blah Blah. * Percent Daily Values are based on a tech diet. Oct. 9, 2015 2 Coding Serbia. Systematic Load Testing of Web Applications.Namics.

Please shoot! à The sum of the expertise of the people in the audience is greater than the sum of expertise of the people on stage, so please #WebLoadTest @jstuker Oct. 9, 2015 3 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Why, When and Where? Oct. 9, 2015 4 Coding Serbia. Systematic Load Testing of Web Applications.

Why, When and Where? Why should I test? à Load capacity and performance How many users can the application serve (in parallel)? How long does it take to deliver pages? How much bandwith does the system use? à Stability Over time à Memory leaks & overflows Under load à Concurrency & deadlocks à Fittness of Infrastructure à Reproduction of problems in order to fix them Oct. 9, 2015 5 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Why, When and Where? When to think about testing? Requirements Integration / Deployment Proof of Concept Development Going Live Operations Specificationneeds Concurrent Users User Stories ReponseTime Test of Frameworks Test of overall Application At each Release / Fix Oct. 9, 2015 6 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Why, When and Where? Where to test? à Client à Traffic Shaper / Firewall 1. Do not test the environmentfirst 2. Treat application as a black box 3. When there is an issue Look into black box Change pointof measurement à LoadBalancer à Reverse Proxy à Webserver à Frontend Server Application Code à Backend Server Application Code à Data Persistance Application Code Oct. 9, 2015 7 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Tools Oct. 9, 2015 8 Coding Serbia. Systematic Load Testing of Web Applications.

Tools Very many what we use regularly (1/2) à ApacheBench Hammer on application http://httpd.apache.org/docs/2.2/programs/ab.html à Apache JMeter Loadtestworkhorse, weak usability http://jmeter.apache.org/ à Gatling Loadtestmodern, easy to integrate http://gatling.io/ à Dynatrace Application monitoring, white box, very powerful http://www.dynatrace.com/ Oct. 9, 2015 9 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Tools Very many what we use regularly (2/2) à Proxy Sniffer http://www.proxy-sniffer.com/ or https://www.apicasystem.com/load-testing/tools/ Originally built in Switzerland by David Fischer, now owned by Apica Systems Free Version (20 virtual users, duration 10 minutes) Browser based, just needs > Java 1.5 (runs on Unix-like, Mac and Windows) Verrrrrry flexible (scriptable, cloud and small footprint) Nice documentation and reporting Oct. 9, 2015 10 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Tools Components of Proxy Sniffer Application à Just two files: prxsniff.jar and prxsniff.key port 7990 WebAdmin / GUI port 7999 HTTP Proxy port 7993 Exec Agent recording execution Oct. 9, 2015 11 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Tools Sequence of a Test with Proxy Sniffer record scenario tweak (one thing at the time) validate recording (clean it up) interpret generate test (java code) execute compile test (class file) Oct. 9, 2015 12 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Let s do some work Oct. 9, 2015 13 Coding Serbia. Systematic Load Testing of Web Applications.

Let s do some work... A word of caution Load testing generates load ;-) Oct. 9, 2015 14 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Let s do some work... Live Demo or Recording ;) à https://youtu.be/0akj5qw8_so Oct. 9, 2015 15 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Oct. 9, 2015 16 Coding Serbia. Systematic Load Testing of Web Applications.

Interpreting the Outcome Linear Water Channel à More water == more througput à Pass through time is (close to) constant Pass through time Throughput: Liters per minute Oct. 9, 2015 17 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Unlimited Linear Model Throughput: Liters per minute Water per minute Pass through time Water per minute Oct. 9, 2015 18 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Limited Water Channel Pass through time narrowing Throughput: Liters per minute Oct. 9, 2015 19 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Limited Linear Model Throughput: Liters per minute Water per minute Pass through time maximim capacity reached, after that jam (saturation) Water per minute Oct. 9, 2015 20 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Non Linear System Throughput: Liters per minute system collaps system blocked Pass through time Water per minute pressure brake(?) maximum capacity reached, after that jam (saturation) Water per minute Oct. 9, 2015 21 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Example of test results (1 of 4) Oct. 9, 2015 22 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Example of test results (2 of 4) 85Mb / second Oct. 9, 2015 23 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Example of test results (3 of 4) concurrency problem Oct. 9, 2015 24 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting the Outcome Example of test results (4 of 4) swell Oct. 9, 2015 25 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting to Outcome Tipps for executing the test à To find the correct scenario is really hard Look at historic logfiles / stats (plus safety margin) Ask domain experts Take the user stories ( follow the money ) à What to go for Bandwith à Fetch one large item (again and again) # Transactions à Short test cycles with 5, 10, 20, 40... users to find out where the systems levels (or decreases or crashes) Long runner à Execute a slow test during hours à What s nice to know too Start system under load Stop system under load Degradation (i.e. cluster node shutdown) Oct. 9, 2015 26 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting to Outcome Watch out for à Realistic scenario request mix think time read vs write (POST requests) caching à Get 100% CPU of the tested system first à Look at the database (slow queries) à Look at the HTTP response content/headers of the test à Did the system that executes the test deliver the load? à Error logs Oct. 9, 2015 27 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Interpreting to Outcome The usual suspects à Network (Pipe, Router, Firewall) < 1% à Load Balancer 5 % à Reverse Proxy (Product) 5 % à Reverse Proxy (Configuration) 10 % à OS configuration (TCP/IP Stack) 5 % à Application Framework 10 % à Configuration of Application 20 % à Programming/Code of Application 40 % à Database 5% Oct. 9, 2015 28 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Wrap Up Oct. 9, 2015 29 Coding Serbia. Systematic Load Testing of Web Applications.

Wrap up Summary à Load testing MUST be part of every project plan à Product owner must define what s needed à Do not test/optimize performance early in the dev cycle à Test as close to the application as you can get and only when you find issues à change view à Percentile statistics are OK (90% of requests fit) à Scenarios are though to get à Validate test results... Oct. 9, 2015 30 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Wrap up Homework à Read the HTTP Specification https://tools.ietf.org/html/rfc7230 Oct. 9, 2015 31 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

About Namics Oct. 9, 2015 33 Coding Serbia. Systematic Load Testing of Web Applications.

About Namics Who is Namics? Focus High-end e-business services for large, global customers Leading also in complex largescale projects Stability Long-term customer relationships and stable organisation Owned by a group of 29 employees (Namics Partners) Company operating since 1995 Oct. 9, 2015 34 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

About Namics Namics figures in a Nutshell Revenue (in Mio. CHF) and number of employees 60 500 55 50 45 40 35 30 25 20 10 2009 2010 2011 2012 2013 2014 450 400 350 300 250 200 150 100 50 à Quality as growth engine Best of Swiss Web agency in 2013 & 2014 (Best of Swiss Web Association) Proven track record à Stable relationship with our key clients More than 70% of our clients stay with us for 3+ years Oct. 9, 2015 35 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

About Namics Namics in Serbia Highlights newest location in Europe cross country teams, interdisciplinary Belgrade in a nutshell start-up culture new 480m2 office collaboration Awesome since 1995. Now in Serbia. Namics. Oct. 9, 2015 36 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

About Namics We are looking for new talent in Belgrade! à http://namics.com/jobs Oct. 9, 2015 37 Coding Serbia. Systematic Load Testing of Web Applications. Namics.

Download-Link: http://nam.to/webloadtest jurg.stuker@namics.com @jstuker