SlideShare a Scribd company logo
Web Performance
Optimierung
Walter Ebert
Web Performance Optimierung - DWX13
http://www.webpagetest.org/result/121212_RW_ED4/
http://www.akamai.com/html/about/press/releases/2010/press_061410.html
57% der Online-Käufer
warten 3 Sekunden oder weniger
bevor sie eine Webseite verlassen
Amazon
100 Millisekunden schneller
1% mehr Umsatz
http://www.strangeloopnetworks.com/resources/infographics/web-performance-and-ecommerce/amazon-100ms-faster-1-revenue-increase/
Mozilla
2,2 Sekunden schneller
15,4% mehr Downloads
https://blog.mozilla.org/metrics/2010/04/05/firefox-page-load-speed-%E2%80%93-part-ii/
http://googlewebmastercentral.blogspot.de/2010/04/using-site-speed-in-web-search-ranking.html
SEO
http://www.nccgroup.com/en/blog/2013/06/will-faster-user-bandwidth-fix-your-site-performance-woes/
DSL (1.5Mbps) > Cable (5Mbps)
333% mehr Bandbreite
Performance-Gewinn
12%
Web Performance Optimierung - DWX13
http://www.telekom.com/medien/produkte-fuer-privatkunden/184370
http://www.flickr.com/photos/patrik_karlsson/6851386144/
http://www.flickr.com/photos/usnavy/6083504722/
Last-Tests
• Apache Bench
• Siege
• jMeter
• WebLoadUI
Skalierbarkeit
vs.
Performance
Content Delivery Network
(CDN)
https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html
http://caniuse.com/nav-timing
W3C Navigation Timing
http://kaaes.github.io/timing/
https://www.webpagetest.org/result/130610_D0_PDZ/
https://www.webpagetest.org/result/130610_D0_PDZ/
http://www.webpagetest.org/result/130607_YF_TAK/
http://yslow.org/
Web Performance Optimierung - DWX13
http://mobitest.akamai.com/m/results.cgi?testid=130413_GA_T
http://httparchive.org/trends.php
http://www.flickr.com/photos/dominicspics/5829559819/
Web Performance Optimierung - DWX13
Bilder optimieren
• ImageOptim (Mac)
• Trimage (Linux)
• kraken.io / smush.it (Web)
• Google Pagespeed (Chrome / Firefox)
• Kommadozeile:
• jpegtran, jpegoptim, jpegrescan, optipng,
pngcrush, advpng, pngquant, gifsicle
Jpegtran
783K -copy all
750K -copy none
742K -copy none -optimize
740K -copy all -optimize -progressive
708K -copy none -optimize -progressive
853K graffiti.jpg
https://bitbucket.org/walterebert/image-conversion-comparison
ImageMagick
5.6M graffiti.png
774K -quality 85
661K -quality 75
368K -quality 50
288K graffiti.webp
95K -resize 600x337
http://adaptive-images.com/ https://github.com/davemcdermid/AdaptiveImages
http://responsiveimages.org/
https://github.com/scottjehl/picturefill
CSS Sprites
.flag {
display: inline-block;
width: 16px;
height: 11px;
overflow: hidden;
background: transparent url(flags.png) scroll -1px -1px no-repeat;
}
.europeanunion
{background-position: -1px -1px;}
.AUD
{background-position: -1px -287px;}
.BRL
{background-position: -1px -40px;}
.BGN
{background-position: -1px -27px;}
.CAD
{background-position: -1px -52px;}
DATA URIs
Kommando
$ base64 -w 0 fb.png > fb.png.txt
$ php -r "echo base64_encode(file_get_contents('fb.png'));" > fb.png.txt
CSS
a.facebook {background-image: url('data:image/png;base64,iVBORw…g==');}
< Internet Explorer 8
HTML
<link rel="stylesheet" type="text/css" href="style.css" />
<!--[if lt IE 8]>
<link rel="stylesheet" type="text/css" href="lt-ie-8.css" />
<![endif]-->
CSS
a.facebook {background-image: url('fb.png');}
http://www.invifire.net/2013/01/17/data-uris-explained/
https://github.com/nzakas/cssembed
http://www.spritebaker.com/
DATA URIs
<img src='data:image/png;base64,iVBORw…g==' alt=''>
Web Performance Optimierung - DWX13
Web Performance Optimierung - DWX13
https://github.com/filamentgroup/grunticon http://www.grumpicon.com/
http://icomoon.io/
Abmessungen festlegen
<img src="logo.png"
width="182"
height="60"
alt="Logo" />
http://www.flickr.com/photos/soulsystem2010/4502340253/
Serverkonfiguration
GZIP
Text (HTML, CSS, JS, JSON, XML, SVG, ...)
Expires header
Browser cache
Keep alive
TCP/IP-Verbindung
https://github.com/h5bp/server-configs
Kombiniere CSS / Javascript
<link rel="stylesheet" type="text/css" href="style.css" />
<link rel="stylesheet" type="text/css" href="forms.css" />
<link rel="stylesheet" type="text/css" href="layer.css" />
<link rel="stylesheet" type="text/css" href="jcarousel.css" />
<link rel="stylesheet" type="text/css" href="lightbox.css" />
Wird
<link rel="stylesheet" type="text/css" href="combined.css?v=20130625" />
Oder
<link rel="stylesheet" type="text/css" href="combined-20130625.css" />
Minifiziere CSS / Javascript
• Yahoo! YUI Compressor (Java)
• Google Closure Compiler (Java)
• Uglify.js (Node.js)
• Microsoft Ajax Minifier (Windows)
https://github.com/h5bp/ant-build-script https://github.com/h5bp/node-build-script
https://developers.google.com/speed/pagespeed/mod
http://www.youtube.com/watch?v=uR5urTx8S4E
http://www.webpagetest.org/result/130616_3E_A0H/1/details/
SSL
HTTP(S)
<script src="//connect.facebook.net/de_DE/all.js"></script>
Javascript am Ende
Also:
</div>
<script src=scripts.js></script>
</body>
</html>
Anstatt:
<head>
<script src=scripts.js></script>
</head>
<body>
Alternativ:
<script src=scripts.js defer></script>
http://walterebert.com/playground/wpo/js-footer/
http://www.webpagetest.org/video/view.php?id=130622_547adbeec08ac5728ade73cc274453758a4ef2f8&data=1
http://www.webpagetest.org/video/view.php?id=130622_547adbeec08ac5728ade73cc274453758a4ef2f8&data=1
Nicht-blockierend laden
Aus:
<script src=//connect.facebook.net/de_DE/all.js></script>
Wird:
<script>
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/de_DE/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, "script", "facebook-jssdk"));
</script>
Oder:
<script src=//connect.facebook.net/de_DE/all.js async></script>
Webfonts
Aus:
<link rel='stylesheet' id='fontdeck-css'
href='http://f.fontdeck.com/s/css/qjAxanDb3GzL8rviVV7PWUySExw/*.smashingmagazine.c
om/12777.css?ver=1363158490' type='text/css' media='screen, print' />
Wird:
<script>
WebFontConfig ={
fontdeck: {
id: '12777'
}
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
'://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
</script>
https://developers.google.com/webfonts/docs/webfont_loader
Vergleich
http://www.webpagetest.org/video/compare.php?tests=130208_6K_PNS,130208_CZ_PNT
Redirects
<?php
header('Location: /de/startseite');
Clientseitig
vs.
Serverseitig
http://www.brucelawson.co.uk/2013/the-amazing-all-new-performant-holy-grail-app-development-method/
http://www.netmagazine.com/news/twitter-hashbang-walloped-121992
Web Performance Optimierung - DWX13
Prefetching
<link rel="dns-prefetch" href="//ajax.googleapis.com">
<link rel="prefetch" href="http://tastywhe.at/yes/">
<link rel="prerender" href="http://tastywhe.at/no/">
<input type="email" required>
http://walterebert.com/playground/html5/input-types/
Form Input Types
Touch
Video Media Queries
<video controls>
<source src="small.mp4" type="video/mp4"
media="all and (max-width:480px)">
<source src="small.webm" type="video/webm"
media="all and (max-width:480px)">
<source src="big.mp4" type="video/mp4">
<source src="big.webm" type="video/webm">
</video>
Könnte aus der HTML5 Spezifikation entfernt werden!
MP4 Support
<script>
function supports_mp4() {
return !!document.createElement('video').canPlayType('video/mp4;
codecs="avc1.42E01E"').replace(/^no$/,'');
}
function supports_flash() {
var hasFlash = false;
try {
var fo = new ActiveXObject('ShockwaveFlash.ShockwaveFlash');
if(fo) hasFlash = true;
}catch(e){
var fm = navigator.mimeTypes["application/x-shockwave-flash"];
if( fm && fm.enabledPlugin ) hasFlash = true;
}
return hasFlash;
}
</script>
http://walterebert.com/playground/video/mp4/
MP4 moov atom
ffmpeg -i alt.mp4 -c:v copy -c:a copy -movflags faststart neu.mp4
http://ffmpeg.org/
http://www.adobe.com/devnet/video/articles/mp4_movie_atom.html
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
http://wurfl.sourceforge.net/
Responsive Design + Server Side Components
(RESS)
http://www.lukew.com/ff/entry.asp?1392
http://de.slideshare.net/buddybrewer/tying-web-performance-data-to-human-behavior
Fazit
• Weniger Requests
• Kleinere Datenmengen
• Parallele Downloads
• Optische Täuschung
Web Performance Optimierung - DWX13

More Related Content

PPTX
High Performance HTML5 (SF HTML5 UG)
PPTX
High Performance Mobile (SF/SV Web Perf)
PPTX
Design+Performance
PDF
Prebrowsing - Velocity NY 2013
PPTX
@media - Even Faster Web Sites
PPT
Web 2.0 Expo: Even Faster Web Sites
PPTX
do u webview?
PDF
HTML5@电子商务.com
High Performance HTML5 (SF HTML5 UG)
High Performance Mobile (SF/SV Web Perf)
Design+Performance
Prebrowsing - Velocity NY 2013
@media - Even Faster Web Sites
Web 2.0 Expo: Even Faster Web Sites
do u webview?
HTML5@电子商务.com

What's hot (20)

PPTX
Website performance optimisation
PPTX
How fast are we going now?
PDF
Joomla! Plugin Development
PDF
Speak The Web: The HTML5 Experiments
PDF
Speed is Essential for a Great Web Experience
PDF
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
KEY
Speed is Essential for a Great Web Experience
PPTX
5 single page application principles developers need to know
PDF
Mobile Web Speed Bumps
PPTX
10 things to make you a Great Mobile Web Developer
PDF
Stefan Judis "Did we(b development) lose the right direction?"
KEY
Sniffing the Mobile Context
PDF
Preconnect, prefetch, prerender...
PDF
RESS: An Evolution of Responsive Web Design
PDF
Single Page Application Best practices
PDF
Building an Appier Web - May 2016
PDF
The Case for HTTP/2 - GreeceJS - June 2016
PPT
Web systems architecture, Performance and More
PPTX
That's crazy! how to build single page web apps
PDF
Making Mobile Sites Faster
Website performance optimisation
How fast are we going now?
Joomla! Plugin Development
Speak The Web: The HTML5 Experiments
Speed is Essential for a Great Web Experience
The Case for HTTP/2 - Internetdagarna 2015 - Stockholm
Speed is Essential for a Great Web Experience
5 single page application principles developers need to know
Mobile Web Speed Bumps
10 things to make you a Great Mobile Web Developer
Stefan Judis "Did we(b development) lose the right direction?"
Sniffing the Mobile Context
Preconnect, prefetch, prerender...
RESS: An Evolution of Responsive Web Design
Single Page Application Best practices
Building an Appier Web - May 2016
The Case for HTTP/2 - GreeceJS - June 2016
Web systems architecture, Performance and More
That's crazy! how to build single page web apps
Making Mobile Sites Faster
Ad

Viewers also liked (19)

PDF
Bilder einbinden ist kein Thema, oder?
PDF
Sinn und Unsinn von SSL
PDF
Responsive Design: Mehr als CSS
PDF
(Responsive) Video
PDF
Web-Performance
PDF
Die .htaccess richtig nutzen
PDF
Above the fold content
PDF
Responsive Videos, mehr oder weniger
PDF
Content Security Policy - PHPUGFFM
PDF
HTTPS + Let's Encrypt
PDF
High Performance Images
PDF
WordPress-Themes mit Twig entwickeln
PDF
Bilder usw...
PDF
WordPress Multisite
PDF
Mehr Performance für WordPress - WordCamp Köln
PDF
Mehr Performance für WordPress - WPFra
PDF
WordPress-Templates mit Twig erstellen - PHPUGFFM
PDF
WordPress mit Composer und Git verwalten
PDF
Weniger aus Bilder holen
Bilder einbinden ist kein Thema, oder?
Sinn und Unsinn von SSL
Responsive Design: Mehr als CSS
(Responsive) Video
Web-Performance
Die .htaccess richtig nutzen
Above the fold content
Responsive Videos, mehr oder weniger
Content Security Policy - PHPUGFFM
HTTPS + Let's Encrypt
High Performance Images
WordPress-Themes mit Twig entwickeln
Bilder usw...
WordPress Multisite
Mehr Performance für WordPress - WordCamp Köln
Mehr Performance für WordPress - WPFra
WordPress-Templates mit Twig erstellen - PHPUGFFM
WordPress mit Composer und Git verwalten
Weniger aus Bilder holen
Ad

Similar to Web Performance Optimierung - DWX13 (20)

PDF
4-identifying-problems.pdf
KEY
Faster Frontends
PPTX
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
PPTX
Modelling Web Performance Optimization - FFSUx
PDF
Developing web applications in 2010
PPTX
High Performance Websites
PDF
Speed Up Wordpress, Wordpress Horsepower
KEY
Taking your Web App for a walk
PDF
Open-source website performance tools
PPTX
Web Performance Optimization
PPT
Csdn Drdobbs Tenni Theurer Yahoo
PPTX
Hardcode SEO
PDF
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
PDF
Now you see me... Adaptive Web Design and Development
PDF
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
PPTX
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
PPT
Widget Summit 2008
KEY
Building Faster Websites
PDF
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
PPTX
Webworks
4-identifying-problems.pdf
Faster Frontends
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
Modelling Web Performance Optimization - FFSUx
Developing web applications in 2010
High Performance Websites
Speed Up Wordpress, Wordpress Horsepower
Taking your Web App for a walk
Open-source website performance tools
Web Performance Optimization
Csdn Drdobbs Tenni Theurer Yahoo
Hardcode SEO
Fisl 11 - Dicas de Desenvolvimento Web com Ruby
Now you see me... Adaptive Web Design and Development
Consegi 2010 - Dicas de Desenvolvimento Web com Ruby
Google I/O 2012 - Protecting your user experience while integrating 3rd party...
Widget Summit 2008
Building Faster Websites
Surviving the Zombie Apocalypse of Connected devices - Jfokus 2013
Webworks

More from Walter Ebert (14)

PDF
FrOSCon 2023: WordPress als ActivityPub-Instanz
PDF
Hero Video Performance - DrupalCamp Ruhr
PDF
Sicherheit für WordPress
PDF
WordPress aufräumen - WordCamp Stuttgart
PDF
WordPress aufräumen
PDF
Hero Video Performance
PDF
WordPress-Webseiten umziehen / online stellen
PDF
Using browser settings for performance
PDF
Das richtige WordPress-Theme finden
PDF
WordPress Health Check - WordCamp Würzburg
PDF
WordPress Health Check
PDF
Making WordPress fast(er)
PDF
Testumgebungen für WordPress
PDF
Modernism in Web Design
FrOSCon 2023: WordPress als ActivityPub-Instanz
Hero Video Performance - DrupalCamp Ruhr
Sicherheit für WordPress
WordPress aufräumen - WordCamp Stuttgart
WordPress aufräumen
Hero Video Performance
WordPress-Webseiten umziehen / online stellen
Using browser settings for performance
Das richtige WordPress-Theme finden
WordPress Health Check - WordCamp Würzburg
WordPress Health Check
Making WordPress fast(er)
Testumgebungen für WordPress
Modernism in Web Design

Recently uploaded (20)

PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PPT
Teaching material agriculture food technology
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
KodekX | Application Modernization Development
PDF
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Approach and Philosophy of On baking technology
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Empathic Computing: Creating Shared Understanding
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
Teaching material agriculture food technology
“AI and Expert System Decision Support & Business Intelligence Systems”
Network Security Unit 5.pdf for BCA BBA.
KodekX | Application Modernization Development
Shreyas Phanse Resume: Experienced Backend Engineer | Java • Spring Boot • Ka...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Dropbox Q2 2025 Financial Results & Investor Presentation
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Approach and Philosophy of On baking technology
Mobile App Security Testing_ A Comprehensive Guide.pdf
MYSQL Presentation for SQL database connectivity
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Empathic Computing: Creating Shared Understanding
Unlocking AI with Model Context Protocol (MCP)
Electronic commerce courselecture one. Pdf

Web Performance Optimierung - DWX13