Jérôme Lepage - CFCamp 2013. Mondadori France



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

JMETER - MONITOR TEST PLAN

Web Application Testing. Web Performance Testing

Load Testing with JMeter

Various Load Testing Tools

Apache JMeter HTTP(S) Test Script Recorder

Performance Testing Process

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

Tutorial: Load Testing with CLIF

CA APM Cloud Monitor. Scripting Guide. Release 8.2

Performance Analysis of webmethods Integrations using Apache JMeter Information Guide for JMeter Adoption

MID-TIER DEPLOYMENT KB

Tool - 1: Health Center

Test Run Analysis Interpretation (AI) Made Easy with OpenLoad

UKCMG TEC 2010 Track P - Performance

Citrix Receiver for Mobile Devices Troubleshooting Guide

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2

SOA Software: Troubleshooting Guide for Agents

Tools for Testing Software Architectures. Learning Objectives. Context

Virtual Web Appliance Setup Guide

Comparative Study of Load Testing Tools

Crawl Proxy Installation and Configuration Guide

SOA Solutions & Middleware Testing: White Paper

New Relic & JMeter - Perfect Performance Testing

Configuring EPM System for SAML2-based Federation Services SSO

WEBAPP PATTERN FOR APACHE TOMCAT - USER GUIDE

Sensitivity Analysis and Patterns Implementation on Load Testing Software Systems

Virtual Managment Appliance Setup Guide

A Tool for Evaluation and Optimization of Web Application Performance

Sametime 9 Meetings deployment Open Mic July 23rd 2014

Web Load Stress Testing

JMeter Testing. Identify Preformance acceptance criteria: Identfy throughput,response time and resource utilization goals and constraints.

How To Test A Web Server

Regression & Load Testing BI EE 11g

Copyright 1

A Talk ForApacheCon Europe 2008

Load Testing Essentials

Open Source and Commercial Performance Testing Tools

ISSN: (Online) Volume 2, Issue 1, January 2014 International Journal of Advance Research in Computer Science and Management Studies

Monitoring Nginx Server

How To Test Your Web Site On Wapt On A Pc Or Mac Or Mac (Or Mac) On A Mac Or Ipad Or Ipa (Or Ipa) On Pc Or Ipam (Or Pc Or Pc) On An Ip

Securing SAS Web Applications with SiteMinder

Informatica Master Data Management Multi Domain Hub API: Performance and Scalability Diagnostics Checklist

Spam Marshall SpamWall Step-by-Step Installation Guide for Exchange 5.5

2 Downloading Access Manager 3.1 SP4 IR1

qliqdirect Active Directory Guide

Continuous Performance Testing

Chapter 1 - Web Server Management and Cluster Topology

AAI for Mobile Apps How mobile Apps can use SAML Authentication and Attributes. Lukas Hämmerle

Tableau Server Trusted Authentication

Microsoft Office Web Apps Server 2013 Integration with SharePoint 2013 Setting up Load Balanced Office Web Apps Farm with SSL (HTTPS)

BusinessObjects Enterprise XI Release 2

Hosting more than one FortiOS instance on. VLANs. 1. Network topology

Benchmarking and monitoring tools

Performance Testing Process A Whitepaper

1. Introduction 2. Getting Started 3. Scenario 1 - Non-Replicated Cluster 4. Scenario 2 - Replicated Cluster 5. Conclusion

Configuring Nex-Gen Web Load Balancer

Stress Testing for Performance Tuning. Stress Testing for Performance Tuning

Volume SYSLOG JUNCTION. User s Guide. User s Guide


Course Description. Course Audience. Course Outline. Course Page - Page 1 of 5

W3Perl A free logfile analyzer

<Insert Picture Here> Oracle Web Cache 11g Overview

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

Managing Latency in IPS Networks

FROM BANNER 8 TO BANNER XE. What s the story?

Internet Information TE Services 5.0. Training Division, NIC New Delhi

Holistic Performance Analysis of J2EE Applications

Introduction to the AirWatch Cloud Connector (ACC) Guide

Configuring Apache HTTP Server as a Reverse Proxy Server for SAS 9.2 Web Applications Deployed on BEA WebLogic Server 9.2

Single-sign-on between MWS custom portlets and IS services

Apache JMeter. Emily H. Halili. Chapter No. 6 "Functional Testing"

Automating Big Data Benchmarking for Different Architectures with ALOJA

Load and Performance Load Testing. RadView Software October

Performance Testing of Java Enterprise Systems

Qualogy M. Schildmeijer. Whitepaper Oracle Exalogic FMW Optimization

Zing Vision. Answering your toughest production Java performance questions

CA Performance Center

Lifecycle Manager Installation and Configuration Guide

Managing Virtual Servers

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT

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

Mohammed Khan SUMMARY

Instant Chime for IBM Sametime High Availability Server Guide

ez Agent Administrator s Guide

NMS300 Network Management System

LockoutGuard v1.2 Documentation

Unified Monitoring Portal Online Help List Viewer

White Paper. The Ten Features Your Web Application Monitoring Software Must Have. Executive Summary

Informatica Data Director Performance

WebLogic Server Admin

TNT SOFTWARE White Paper Series

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

Winning the J2EE Performance Game Presented to: JAVA User Group-Minnesota

MySQL Enterprise Monitor

GSX Monitor & Analyzer. for IBM Collaboration Suite

Transcription:

Jérôme Lepage - CFCamp 2013 Mondadori France

French press magazine group (#3) Subsidiary of Mondadori Italia ~ 30 magazines 10,6% market in 2011 381,6 million in 2012

In Web Development since 1999 Php for 14 years Java for 9 years Technical Project Manager for Mondadori France

Reason #1 : Tune platform Determine capacity of architecture Test and find best performance configs Find the limits to your platform

Reason #2 : Test application code Test application in real action Unit tests are jailed and not multi-users Detect pro-actively failure or memory leak

Reason #3 : Find and resolve failures On an environment same as production Time to (try to) reproduce failure(s) (vm clone) Analyze problem, fix it, verify the solution You won t and don t touch the production!

Reason #4 : Improve delivery process Test your application before deployment If it passes unit and scalability tests, go on prod It costs, but on high risk app., it s cheaper than a bug If you need to do #3, you are ready for it.

HUMAN TESTS You need people (of course Bozo!) Heavy work to prepare tests Heavy work to train users Heavy work to get feedback from users

HUMAN TESTS Random degree depends only on users Closeness to reality (or even the plan)? Who knows?! Hard to do the first test! It has to be short! Don t count on a second test! Users get bored!

HUMAN TESTS : Conclusions High costs on time, energy and money Results are not really what we expect High risk of ending up in jail for mass murder! Only good reason to do it, is for political reasons!

COMPUTED TESTS You need only you and maybe some admin sys. Heavy work to prepare scenario No user to train You have assertions to get/verify results

COMPUTED TESTS Random degree depends only your scenarios Closeness to reality depends on you Hard to do the first test! You can play and replay them as you want!

COMPUTED TESTS : Conclusions Cost (only) YOUR time, YOUR energy Results reflect the time you spent on it You can stay friends with your colleagues! Only reason not to do it : time or laziness

Comparison : Humans Computed Persons needed Many Close to 1 Random degree Medium to high Low to medium Closeness to reality Depends on testers Depends on you Difficulty to play once Medium Medium Difficulty to re-play Higher Low Time period of tests Short As you want Costs (not only on money) Medium to Life Low

Oh Yeah Baby! Come closer! jmeter Remote jmeter Test Server Client & Server on same app. http://jmeter.apache.org/

It s a Client-Server Application You need to avoid traffic from network You need to reduce impact on your network You need to reduce distance between server and jmeter Use VM on same node or Physical server on same switch

jmeter Client WorkBench Test Plan Test Controller Make scenario / tests Play Tests

#1 part : Preparation of tests You have to know the application You should know what users do (or will do) You should make small tests rather than a big one You should plan relevant tests for application

#2 part : Run tests You should do it more than once You should do several scenario to be sure and crossreference results You should get/save all data that you could have You have to write all your actions and results

#3 part : Interpret results If you don t, you let people do it by themselves You need to say more than It s work (or not)! Sloppy analysis will invalidate your time spent / work Months or years later, the context has been forgotten

Interpret results 25% Running test 15% Creating Scenario 60%

manually, the boring way You have to put all elements You have to configure all elements POST / GET data HTTP headers

with the proxy, the happy way You surf on server with your browser jmeter will record data sent GET / POST jmeter will handle HTTP headers jmeter will create a response assertion for each URL

In both cases (manually or by proxy) : you have to add realism with timers Timers will simulate user reading or pausing Nobody clicks a million times per minute Unless you test a website for people on Ecstasy

Stop talking, and make a live demo!

Test Plan Add Thread Group Add HTTP Request Defaults Config Server Name and port Add HTTP Cookie Manager Check Clear cookie on each iteration

Workbench : Add HTTP proxy Check Add Assertions Select Recording controller Use patterns to filter (or not) Add Listener > View Results Tree

Record your visit Do a first run with 1 user Complete Response Assertion Clean/Remove non-relevant links Do another run for check

On response assertions Test response code is useless and wrong Test on specific text for each page Use a sample text Use a regular expression

On Thread Group Number of threads (users?!) Number of independent threads launched Ram-up period in seconds Seconds between the beginning of a thread and the next

Aggregate report

Results Tree

Graph Result (if you can understand it)

Why FusionReactor? A HUMAN CAN UNDERSTAND THIS!!!!

Where to look?

Where to look? JVM Memory

Where to look? CPU

Where to look? CPU

Where to look? Database Requests

Where to look? DB Request Average

Where to look? DB Request Average

Where to look? Request Activity

Where to look? Request Activity

Where to look? Request Activity

Where to look? Request Activity

Get / watch/ verify all data that you can have. Don t base all your interpretation on only one tool. Be careful with SNMP monitoring tools (like cacti/zabbix) A new monitoring tool on beta : Morpheus for Railo.

Add more tests (other paths, other ways) Add complexity to tests (but not too much) Write a strategy of testing (You could have to justify it) Interpret results

Clean previous results after each run. Restart services before each run Test once manually Test as human on a run to sniff around Test each scenario separately before mixing

Test with data loaded from a CSV file (like auth) Connect and use auth from a LDAP Retrieve data from the loaded page Follow links from a starting page (not recommended) Test java or database directly

Request/sec. is not User capacity Users take from 30 to 60 sec/page 20 req/sec capacity => 600 1200 actives users capacity per sec Inversely : (Users target / avg time spend per page) = Req/sec target

Michael Hnat from BlueGras FusionReactor / Intergral Team Aurélien Deleusière from Prisma IT Jocelyne Treilly from Mondadori France

Questions? Thanks for your attention Twitter : @jlepage_info Don t leave now I get a last surprise!