SlideShare a Scribd company logo
Continuous Web
Performance
Monitoring with
Jenkins
Vienna, July 17th 2013
Web Performance is serious
The correlation between web performance and conversion
is a
Measuring performance provides a lever for Fun & Profit
Measuring it continuously helps to identify issues early
…and the best part about that, it is
fact
to set up
so easy, it will make you
Jenkins, YSlow, sitespeed.io
There is a number of different tools to integrate into Jenkins for
web performance monitoring
Two of them are: YSlow and sitespeed.io
Different tools, different approaches:
Track one or many URLs with one job
Which metrics to apply
How does it
work?
Steps
1. Set up Jenkins
2. Set up YSLow and/or sitespeed.io
3. Configure Jenkins projects
Setting up Jenkins
Packaged for a number OS and distributions
E.g.
Often, the Jenkins package shipped with the OS is out-of-date
Install additional plugins via the Jenkins UI:
TAP plugin
Plot plugin
apt-get install jenkins
Steps
1. Set up Jenkins ✓
2. Set up YSLow and/or sitespeed.io
3. Configure Jenkins projects
YSlow & Jenkins
Built on PhantomJS
Sample install on a Debian (sid) box
apt-get install phantomjs unzip
mkdir -p ~/apps/yslow.js &&
curl http://yslow.org/yslow-phantomjs-3.1.5.zip | funzip > ~/apps/yslow.js/yslow.js
Steps
1. Set up Jenkins ✓
2. Set up YSLow ✓ and/or sitespeed.io
3. Configure Jenkins projects
sitespeed.io & Jenkins
Built on PhantomJS (>=1.9)
Sample install on a Debian (sid) box
apt-get install phantomjs xsltproc git
mkdir ~/apps/ && cd ~/apps &&
git clone https://github.com/soulgalore/sitespeed.io.git
right?
Steps
1. Set up Jenkins ✓
2. Set up YSLow or sitespeed.io ✓
3. Configure Jenkins projects
Sample project using YSlow
Shell commands
# Create TAP result with the YSLow grade results
phantomjs $pathto/yslow.js -i grade 
-t '{"overall": "C", "ycdn": "F"}' 
-f tap http://xims.info/ > yslow.tap
# Create component metrics result for plotting
phantomjs $pathto/yslow.js -i comps 
-f xml http://xims.info/ > yslow.xml
Sample project using YSlow
Post-Build Action Plugins
Sample project using YSlow
Post-Build Action Plugins
Sample project using
sitespeed.io
Shell commands
# Create an HTML report
$pathto/sitespeed.io 
-r "$WORKSPACE/sitespeed-result/" 
-u http://xims.info/
# Create Junit output
mkdir -p "$WORKSPACE/sitespeed-junit"
/home/pepl/apps/sitespeed.io/sitespeed-junit.io 
-r "$WORKSPACE/sitespeed-result/" 
-o "$WORKSPACE/sitespeed-junit" -l 85 -a 85
How does it look like?
Screenshots & Live Demo
TAP Results sample (YSlow)
Junit Results sample
(sitespeed.io)
Time To First Byte
sample graph
sitespeed.io HTML report
(from Jenkins project
workspace)
Continuous Web Performance Monitoring with Jenkins
Why not just use GA instead?
Question is wrong, use GA in addition!
Still: Via Jenkins you'll get
Checks and Alerts directly after commit or deployment
GA can not be that specific
GA might not have performance stats for your domain
References
YSlow for Phantom.js
Jenkins & sitespeed.io
Thank You!
Questions?

More Related Content

PDF
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
 
PDF
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
 
PPTX
The Dog Ate My Deployment - PHP Uncoference September 2013
 
PPT
OpenStack How To - PyLadies ATX
PDF
CI : the first_step: Auto Testing with CircleCI - (MOSG)
PDF
AtlasCamp 2015 Docker continuous integration training
PDF
Building a Django App on Heroku
PDF
Jenkins with Heroku
The Dog Ate My Deployment - Symfony Usergroup Cologne July 2013
 
Dennis Benkert - The Dog Ate My Deployment - Symfony Usergroup Berlin March ...
 
The Dog Ate My Deployment - PHP Uncoference September 2013
 
OpenStack How To - PyLadies ATX
CI : the first_step: Auto Testing with CircleCI - (MOSG)
AtlasCamp 2015 Docker continuous integration training
Building a Django App on Heroku
Jenkins with Heroku

What's hot (20)

PPTX
Devops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As Code
PPTX
How do i update the crawford slackware box so that it is running the most up ...
PPTX
GitHub Actions for 5 minutes
PPTX
Development with Vagrant
PDF
Fastlane - Automation and Continuous Delivery for iOS Apps
PDF
GlassFish Embedded API
PDF
Rise of the Machines - Automate your Development
PDF
Using Composer with WordPress
PPTX
15-ways-to-optimize-spring-boot-for-the-cloud
PPTX
Bringing Javascript to the Desktop with Electron
PDF
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
PDF
Openstack Vagrant plugin overview
PDF
VCCW - Vagrant based WordPress development environment
PPT
Parkjihoon phonegap research_for_bada
PDF
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
PDF
Octopus Deploy Tech Fest 2014
PDF
node.js app deploy to heroku PaaS
PDF
Web Applications with Eclipse RT and Docker in the Cloud
PDF
Multiple django applications on a single server with nginx
PPTX
DockerCon EU 2017 - Docker on Windows workshop
Devops Boise - Israel Shirk - Pragmatic Migration to Infrastructure As Code
How do i update the crawford slackware box so that it is running the most up ...
GitHub Actions for 5 minutes
Development with Vagrant
Fastlane - Automation and Continuous Delivery for iOS Apps
GlassFish Embedded API
Rise of the Machines - Automate your Development
Using Composer with WordPress
15-ways-to-optimize-spring-boot-for-the-cloud
Bringing Javascript to the Desktop with Electron
Build and deploy to the cloud using NetflixOSS (Gradle Summit 2016)
Openstack Vagrant plugin overview
VCCW - Vagrant based WordPress development environment
Parkjihoon phonegap research_for_bada
[English][Test Girls] Zero to Hero: Start Test automation with Cypress
Octopus Deploy Tech Fest 2014
node.js app deploy to heroku PaaS
Web Applications with Eclipse RT and Docker in the Cloud
Multiple django applications on a single server with nginx
DockerCon EU 2017 - Docker on Windows workshop
Ad

Viewers also liked (20)

PPTX
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
PPTX
Database Change Management as a Service
PPTX
Automed .NET Performance Testing with NBench
PPTX
We're all distributed systems devs now: a crash course in distributed program...
DOCX
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
PPTX
Performance Testing with LoadRunner Case Study
PPTX
Using Jenkins and Jmeter to build a scalable Load Testing solution
PPTX
Soasta | CloudBees webinar 11/12/2015
PDF
Continuous Delivery Pipeline with Docker and Jenkins
PDF
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
PDF
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
PPTX
Building Cloud Native Applications
PPTX
How to Analyze Reports in Jmeter
PDF
Continuous integration and delivery for java based web applications
PDF
Docker Overview - Rise of the Containers
PDF
How to start performance testing project
PDF
Continuous Integration using Docker & Jenkins
PDF
Chef Fundamentals Training Series Module 1: Overview of Chef
PPTX
Interpreting Performance Test Results
PDF
Jenkins Docker
How To Use Jenkins for Continuous Load and Mobile Testing with SOASTA & Cloud...
Database Change Management as a Service
Automed .NET Performance Testing with NBench
We're all distributed systems devs now: a crash course in distributed program...
Jenkins/Jmeter Configuration - Colombo Performance Test Meetup - 2016 April
Performance Testing with LoadRunner Case Study
Using Jenkins and Jmeter to build a scalable Load Testing solution
Soasta | CloudBees webinar 11/12/2015
Continuous Delivery Pipeline with Docker and Jenkins
Grunt js for the Enterprise Vol.1: Frontend Performance with Phantomas
CI and CD at Scale: Scaling Jenkins with Docker and Apache Mesos
Building Cloud Native Applications
How to Analyze Reports in Jmeter
Continuous integration and delivery for java based web applications
Docker Overview - Rise of the Containers
How to start performance testing project
Continuous Integration using Docker & Jenkins
Chef Fundamentals Training Series Module 1: Overview of Chef
Interpreting Performance Test Results
Jenkins Docker
Ad

Similar to Continuous Web Performance Monitoring with Jenkins (20)

PPTX
Seawebperf 201207
PDF
454976614-Jenkins-Cheat-Sheet-pdf.pdf hoja de ayuda
PDF
Sensepost assessment automation
PPTX
An introduction to PhantomJS: A headless browser for automation test.
PDF
At Your Service: Using Jenkins in Operations
PPTX
Jenkins.pptx
PDF
Proactive Web Performance Optimization.(Marcel Duran)
PDF
JUC Europe 2015: Jenkins Made Easy
PPTX
Supermondays: Jenkins CI lightning talk
PPTX
Mage Titans USA 2016 - Jonathan Bownds - Magento CI and Testing
PDF
前瞻性Web性能优化pwpo
PPT
Getting to push_button_deploys
PPTX
Introduction to jenkins for the net developer
PPTX
how to mesure web performance metrics
PDF
Jenkins and visual regression – Exove
PDF
XebiaLabs @ Jenkins User Conference Boston 2014
PDF
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
PDF
Code fast & Break things with Jenkins & Continuous Integration
PPTX
Introduction to jenkins
PDF
Continuous Quality Assurance using Selenium WebDriver
Seawebperf 201207
454976614-Jenkins-Cheat-Sheet-pdf.pdf hoja de ayuda
Sensepost assessment automation
An introduction to PhantomJS: A headless browser for automation test.
At Your Service: Using Jenkins in Operations
Jenkins.pptx
Proactive Web Performance Optimization.(Marcel Duran)
JUC Europe 2015: Jenkins Made Easy
Supermondays: Jenkins CI lightning talk
Mage Titans USA 2016 - Jonathan Bownds - Magento CI and Testing
前瞻性Web性能优化pwpo
Getting to push_button_deploys
Introduction to jenkins for the net developer
how to mesure web performance metrics
Jenkins and visual regression – Exove
XebiaLabs @ Jenkins User Conference Boston 2014
TYPO3 Camp Stuttgart 2015 - Continuous Delivery with Open Source Tools
Code fast & Break things with Jenkins & Continuous Integration
Introduction to jenkins
Continuous Quality Assurance using Selenium WebDriver

Recently uploaded (20)

PDF
Spectral efficient network and resource selection model in 5G networks
PDF
KodekX | Application Modernization Development
PDF
Encapsulation theory and applications.pdf
PPTX
sap open course for s4hana steps from ECC to s4
PPTX
Cloud computing and distributed systems.
PPTX
Programs and apps: productivity, graphics, security and other tools
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Review of recent advances in non-invasive hemoglobin estimation
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Spectral efficient network and resource selection model in 5G networks
KodekX | Application Modernization Development
Encapsulation theory and applications.pdf
sap open course for s4hana steps from ECC to s4
Cloud computing and distributed systems.
Programs and apps: productivity, graphics, security and other tools
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Dropbox Q2 2025 Financial Results & Investor Presentation
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Building Integrated photovoltaic BIPV_UPV.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Review of recent advances in non-invasive hemoglobin estimation
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
Unlocking AI with Model Context Protocol (MCP)
Reach Out and Touch Someone: Haptics and Empathic Computing
NewMind AI Weekly Chronicles - August'25 Week I
The Rise and Fall of 3GPP – Time for a Sabbatical?
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Continuous Web Performance Monitoring with Jenkins

  • 2. Web Performance is serious The correlation between web performance and conversion is a Measuring performance provides a lever for Fun & Profit Measuring it continuously helps to identify issues early …and the best part about that, it is fact
  • 4. so easy, it will make you
  • 5. Jenkins, YSlow, sitespeed.io There is a number of different tools to integrate into Jenkins for web performance monitoring Two of them are: YSlow and sitespeed.io Different tools, different approaches: Track one or many URLs with one job Which metrics to apply
  • 7. Steps 1. Set up Jenkins 2. Set up YSLow and/or sitespeed.io 3. Configure Jenkins projects
  • 8. Setting up Jenkins Packaged for a number OS and distributions E.g. Often, the Jenkins package shipped with the OS is out-of-date Install additional plugins via the Jenkins UI: TAP plugin Plot plugin apt-get install jenkins
  • 9. Steps 1. Set up Jenkins ✓ 2. Set up YSLow and/or sitespeed.io 3. Configure Jenkins projects
  • 10. YSlow & Jenkins Built on PhantomJS Sample install on a Debian (sid) box apt-get install phantomjs unzip mkdir -p ~/apps/yslow.js && curl http://yslow.org/yslow-phantomjs-3.1.5.zip | funzip > ~/apps/yslow.js/yslow.js
  • 11. Steps 1. Set up Jenkins ✓ 2. Set up YSLow ✓ and/or sitespeed.io 3. Configure Jenkins projects
  • 12. sitespeed.io & Jenkins Built on PhantomJS (>=1.9) Sample install on a Debian (sid) box apt-get install phantomjs xsltproc git mkdir ~/apps/ && cd ~/apps && git clone https://github.com/soulgalore/sitespeed.io.git
  • 14. Steps 1. Set up Jenkins ✓ 2. Set up YSLow or sitespeed.io ✓ 3. Configure Jenkins projects
  • 15. Sample project using YSlow Shell commands # Create TAP result with the YSLow grade results phantomjs $pathto/yslow.js -i grade -t '{"overall": "C", "ycdn": "F"}' -f tap http://xims.info/ > yslow.tap # Create component metrics result for plotting phantomjs $pathto/yslow.js -i comps -f xml http://xims.info/ > yslow.xml
  • 16. Sample project using YSlow Post-Build Action Plugins
  • 17. Sample project using YSlow Post-Build Action Plugins
  • 18. Sample project using sitespeed.io Shell commands # Create an HTML report $pathto/sitespeed.io -r "$WORKSPACE/sitespeed-result/" -u http://xims.info/ # Create Junit output mkdir -p "$WORKSPACE/sitespeed-junit" /home/pepl/apps/sitespeed.io/sitespeed-junit.io -r "$WORKSPACE/sitespeed-result/" -o "$WORKSPACE/sitespeed-junit" -l 85 -a 85
  • 19. How does it look like? Screenshots & Live Demo
  • 22. Time To First Byte sample graph
  • 23. sitespeed.io HTML report (from Jenkins project workspace)
  • 25. Why not just use GA instead? Question is wrong, use GA in addition! Still: Via Jenkins you'll get Checks and Alerts directly after commit or deployment GA can not be that specific GA might not have performance stats for your domain