Submit Search
Upload
Website Performance Basics
•
0 likes
•
441 views
G
geku
Follow
Slides for my Website Performance Basic presentation at http://frontendconf.ch/ in Zurich.
Read less
Read more
Technology
Report
Share
Report
Share
1 of 20
Download now
Download to read offline
Recommended
Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)
Mandakini Kumari
Varnish more than a cache
Varnish more than a cache
bloeffeld
Die .htaccess richtig nutzen
Die .htaccess richtig nutzen
Walter Ebert
Big data with hadoop Setup on Ubuntu 12.04
Big data with hadoop Setup on Ubuntu 12.04
Mandakini Kumari
Php basic for vit university
Php basic for vit university
Mandakini Kumari
5 things MySql
5 things MySql
sarahnovotny
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricks
Vladimir Malyk
Os Pruett
Os Pruett
oscon2007
Recommended
Html5 drupal7 with mandakini kumari(1)
Html5 drupal7 with mandakini kumari(1)
Mandakini Kumari
Varnish more than a cache
Varnish more than a cache
bloeffeld
Die .htaccess richtig nutzen
Die .htaccess richtig nutzen
Walter Ebert
Big data with hadoop Setup on Ubuntu 12.04
Big data with hadoop Setup on Ubuntu 12.04
Mandakini Kumari
Php basic for vit university
Php basic for vit university
Mandakini Kumari
5 things MySql
5 things MySql
sarahnovotny
Mongo performance tuning: tips and tricks
Mongo performance tuning: tips and tricks
Vladimir Malyk
Os Pruett
Os Pruett
oscon2007
Pse2010 rel storage
Pse2010 rel storage
Lars Noldan
LCA2014 - Introduction to Go
LCA2014 - Introduction to Go
dreamwidth
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
Paul Redmond
High Performance Ajax Applications
High Performance Ajax Applications
Siarhei Barysiuk
Optimising Web Application Frontend
Optimising Web Application Frontend
tkramar
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
Faysal Shahi
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Joseph Scott
Scaling my sql_in_3d
Scaling my sql_in_3d
sarahnovotny
all data everywhere
all data everywhere
sarahnovotny
There's Nothing so Permanent as Temporary
There's Nothing so Permanent as Temporary
Positive Hack Days
The A to Z of developing for the web
The A to Z of developing for the web
Matt Wood
Os Bunce
Os Bunce
oscon2007
Os Furlong
Os Furlong
oscon2007
CORS review
CORS review
Eric Ahn
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
Sho Ito
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Stoyan Stefanov
Web scraping 101 with goutte
Web scraping 101 with goutte
Joshua Copeland
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
Myles Braithwaite
CouchDB Day NYC 2017: Mango
CouchDB Day NYC 2017: Mango
IBM Cloud Data Services
04 web optimization
04 web optimization
Nguyen Duc Phu
Basics of Reliability Engineering
Basics of Reliability Engineering
Accendo Reliability
Imitation and Innovation
Imitation and Innovation
ebcla
More Related Content
What's hot
Pse2010 rel storage
Pse2010 rel storage
Lars Noldan
LCA2014 - Introduction to Go
LCA2014 - Introduction to Go
dreamwidth
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
Paul Redmond
High Performance Ajax Applications
High Performance Ajax Applications
Siarhei Barysiuk
Optimising Web Application Frontend
Optimising Web Application Frontend
tkramar
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
Faysal Shahi
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Joseph Scott
Scaling my sql_in_3d
Scaling my sql_in_3d
sarahnovotny
all data everywhere
all data everywhere
sarahnovotny
There's Nothing so Permanent as Temporary
There's Nothing so Permanent as Temporary
Positive Hack Days
The A to Z of developing for the web
The A to Z of developing for the web
Matt Wood
Os Bunce
Os Bunce
oscon2007
Os Furlong
Os Furlong
oscon2007
CORS review
CORS review
Eric Ahn
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
Sho Ito
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Stoyan Stefanov
Web scraping 101 with goutte
Web scraping 101 with goutte
Joshua Copeland
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
Myles Braithwaite
CouchDB Day NYC 2017: Mango
CouchDB Day NYC 2017: Mango
IBM Cloud Data Services
04 web optimization
04 web optimization
Nguyen Duc Phu
What's hot
(20)
Pse2010 rel storage
Pse2010 rel storage
LCA2014 - Introduction to Go
LCA2014 - Introduction to Go
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
High Performance Ajax Applications
High Performance Ajax Applications
Optimising Web Application Frontend
Optimising Web Application Frontend
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
WordPress Security - ওয়ার্ডপ্রেসের সিকিউরিটি
Site Performance - From Pinto to Ferrari
Site Performance - From Pinto to Ferrari
Scaling my sql_in_3d
Scaling my sql_in_3d
all data everywhere
all data everywhere
There's Nothing so Permanent as Temporary
There's Nothing so Permanent as Temporary
The A to Z of developing for the web
The A to Z of developing for the web
Os Bunce
Os Bunce
Os Furlong
Os Furlong
CORS review
CORS review
Attractive HTML5~開発者の視点から~
Attractive HTML5~開発者の視点から~
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Web scraping 101 with goutte
Web scraping 101 with goutte
Apache CouchDB talk at Ontario GNU Linux Fest
Apache CouchDB talk at Ontario GNU Linux Fest
CouchDB Day NYC 2017: Mango
CouchDB Day NYC 2017: Mango
04 web optimization
04 web optimization
Viewers also liked
Basics of Reliability Engineering
Basics of Reliability Engineering
Accendo Reliability
Imitation and Innovation
Imitation and Innovation
ebcla
Web performance Talk
Web performance Talk
Prasoon Agrawal
Client side performance analysis
Client side performance analysis
Tsimafei Avilin
Performance Engineering Basics
Performance Engineering Basics
Impetus Technologies
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Atul Pant
Performance testing interview questions and answers
Performance testing interview questions and answers
Garuda Trainings
An Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
Correlsense
Performance Bottleneck Identification
Performance Bottleneck Identification
Mustufa Batterywala
Viewers also liked
(9)
Basics of Reliability Engineering
Basics of Reliability Engineering
Imitation and Innovation
Imitation and Innovation
Web performance Talk
Web performance Talk
Client side performance analysis
Client side performance analysis
Performance Engineering Basics
Performance Engineering Basics
Performance Test Plan - Sample 2
Performance Test Plan - Sample 2
Performance testing interview questions and answers
Performance testing interview questions and answers
An Introduction to Software Performance Engineering
An Introduction to Software Performance Engineering
Performance Bottleneck Identification
Performance Bottleneck Identification
Similar to Website Performance Basics
Web-Performance
Web-Performance
Walter Ebert
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014
Progressive Downloads and Rendering
Progressive Downloads and Rendering
Stoyan Stefanov
Magento Performance Optimization 101
Magento Performance Optimization 101
Angus Li
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
Ontico
High performance website
High performance website
Chamnap Chhorn
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Bastian Grimm
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Bastian Grimm
Going on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web Performance
Adam Norwood
JavaScript performance patterns
JavaScript performance patterns
Stoyan Stefanov
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
beyond tellerrand
JavaScript Performance Patterns
JavaScript Performance Patterns
Stoyan Stefanov
Client Side Optimization
Client Side Optimization
Patrick Huesler
performance.ppt
performance.ppt
fakeaccount225095
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Jamie Matthews
Ajax Performance Tuning and Best Practices
Ajax Performance Tuning and Best Practices
Doris Chen
The new static resources framework
The new static resources framework
marcplmer
Please dont touch-3.6-jsday
Please dont touch-3.6-jsday
Francesco Fullone
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
Paul Calvano
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
Sam Keen
Similar to Website Performance Basics
(20)
Web-Performance
Web-Performance
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
Progressive Downloads and Rendering
Progressive Downloads and Rendering
Magento Performance Optimization 101
Magento Performance Optimization 101
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
High performance website
High performance website
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Going on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web Performance
JavaScript performance patterns
JavaScript performance patterns
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
Scott Jehl - Delivering Responsibly - beyond tellerrand Düsseldorf 2015
JavaScript Performance Patterns
JavaScript Performance Patterns
Client Side Optimization
Client Side Optimization
performance.ppt
performance.ppt
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Five Pound App talk: hereit.is, Web app architecture, REST, CSS3
Ajax Performance Tuning and Best Practices
Ajax Performance Tuning and Best Practices
The new static resources framework
The new static resources framework
Please dont touch-3.6-jsday
Please dont touch-3.6-jsday
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
NYC WebPerf Meetup Feb 2020 - Measuring the Adoption of Web Performance Techn...
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
Recently uploaded
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
NavinnSomaal
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Pixlogix Infotech
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Zilliz
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
gvaughan
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Curtis Poe
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
2toLead Limited
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Precisely
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Mark Billinghurst
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Manik S Magar
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
UiPathCommunity
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
charlottematthew16
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Florian Wilhelm
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Mark Simos
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Commit University
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
Stephanie Beckett
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Alan Dix
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
DianaGray10
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
LoriGlavin3
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Alex Barbosa Coqueiro
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Enterprise Knowledge
Recently uploaded
(20)
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Website Performance Basics
1.
Website
Performance Basics http://www.flickr.com/photos/jerseygal2009/5762584119/ 1
2.
About • Georg Kunz •
Working at www.local.ch • Organizer of Ruby on Rails Usergroup Switzerland www.rubyonrails.ch 2
3.
Agenda • Whats wrong? •
Solutions • Website Performance Analysis • Rails Solution 3
4.
Whats wrong? <!DOCTYPE html> <html
lang='en'> <head> <title>Jobs at local.ch</title> <link href="/styles/site.css" media="all" rel="stylesheet" type="text/css" /> <link href="/styles/page.css" media="all" rel="stylesheet" type="text/css" /> </head> <body> <div id="header"> <img alt="logo" src="/images/logo.gif"/> </div> ... • Many requests • Limited parallel downloads • No caching • File size 4
5.
Fewer Requests
5
6.
Combine CSS and
JavaScript 6
7.
Images Sprites
.image { background-position: -75px 0; width: 25px; height: 36px; } 7
8.
Inline Images in
CSS background-image: url("data:image/ png;charset=utf-8;base64,iVBORw0KGgoAAAANSUhEU gAAABcAAAAfCAIAAACDG8GaAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAArp JREFUeNpi/Pr1669fv169evXu3bvv378zEA04OTmFhITExMTY2NgY379/f/ 36dUlJSVFRUW5ubuJNAVr/+vXr58+fa2pqsgBZQCMUFBQYSATcYABkAE1gAroF6Cpk6f +EALJioF6gCSw/fvzg4uKCCP379w/CmLn11e6zH289+f7kza+Fpcq +loJo1gBJJiYmIAnUCzSBhZGREVkOApbve3Pp/jcIe+rml8L8LFZavGg+AqqH6AWSTHBTgA6Bu3l/ j6auIsiBLMyMT17/2nn6A6a/4A5HMQVN0f5uDaBBhUES6d6ie85/si++tu/CR6wBBDQBu48gYF +XOoQRaCVYu+hp4+KnX7799bEQQFOGzy3IQEKIZXaBvLU2T9mcx68+/ MZ0CxPxCaQ5XtpIhTui9e7Hr3/RpJhISmmLyxW/// q3cPcbikwBAmtt3u2nP1FqSoqnyMevfyg1RV2G4+8/ hocvfyELskASMtaYxgOQ4whoAr70ghXcfPIDaK +cGCuxqQ4rmLvjjQAXM7JilFRHJDh69au7CR9a2mVhZmZGKxbwgITeRxxsjLHOAsiKgSaQ4KOGJS/ O3/m+p0OJl5MJzUdEmfL83Z+mZS/vPf/ ZmiAhzMuMphJkCp6Ydq26b6PNJSHIuubIRxYmhqpwMTtdbkxl+GLapfL+rac/bz/9KSbA4m/ BVxUhisu9OH3kVHH/7nNQ6vz7778gD7OkMAse/6KYgmyQtRYXHxfzkze/X3/846jPFe/ Mj2kKXCOKKUDv/fkDzWaNMaKYhT4agCcRUKoD1o8/f/ 4Ecvj4+FhYWIhJhCDLWViA6oFsoF6gCSzACuXLly/s7OwQg0jN4kC9QBOYeHh4Pn78+PbtW2CdT5J +oHqgLqBeoAmMwEr779+/ "); QBLYYPj9+zfxprCysgKbDcCqGhhAAAEGAMqnupnRLnW1AAAAAElFTkSuQmCC 8
9.
Parallel
Downloads • CDN • Additional hostnames http://www.flickr.com/photos/spinnn/3493452660/ 9
10.
Headers curl -I http://page/styles/site.css Cache-Control:
max-age=31536000, public Expires: Sat, 08 Sep 2012 22:41:49 GMT Caching <!DOCTYPE html> <html lang='en'> <head> <title>Jobs at local.ch</title> <link href="/styles/site.css" media="all" rel="stylesheet" type="text/css" /> <link href="/styles/page.css" media="all" rel="stylesheet" type="text/css" /> </head> <body> <div id="header"> <img alt="logo" src="/images/logo.gif"/> </div> ... 10
11.
Cache Busting <link
href="/styles/site-8af74128f904600e41a6e39241464e03.css" media="all" rel="styleshe <img alt="logo" src="/images/logo-6b940dbed280e11507510cf378ac1d7f.gif"/> http://www.flickr.com/photos/rhysasplundh/5201859761/ 11
12.
Minimize File Size http://www.flickr.com/photos/ssanyal/347789298/
12
13.
Compress Files 1.
Generate compressed files 2. <LocationMatch "^/assets/.*$"> # 2 lines to serve pre-‐gzipped version RewriteCond %{REQUEST_FILENAME}.gz -‐s RewriteRule ^(.+) $1.gz [L] # without it, Content-‐Type will be "application/x-‐gzip" <FilesMatch .*.css.gz> ForceType text/css </FilesMatch> <FilesMatch .*.js.gz> ForceType text/javascript </FilesMatch> </LocationMatch> 13
14.
Enable Compression <IfModule mod_deflate.c>
<IfModule mod_setenvif.c> <IfModule mod_headers.c> SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)s,?s(gzip|deflate)? RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding </IfModule> </IfModule> # html, txt, css, js, json, xml, htc: <IfModule filter_module> FilterDeclare COMPRESS FilterProvider COMPRESS DEFLATE resp=Content-Type /text/(html|css|javascript|plain|x(ml|-component))/ FilterProvider COMPRESS DEFLATE resp=Content-Type /application/(javascript|json|xml|x-javascript)/ FilterChain COMPRESS FilterProtocol COMPRESS change=yes;byteranges=no </IfModule> <IfModule !mod_filter.c> # Legacy versions of Apache AddOutputFilterByType DEFLATE text/html text/plain text/css application/json AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE text/xml application/xml text/x-component </IfModule> # webfonts and svg: <FilesMatch ".(ttf|otf|eot|svg)$" > SetOutputFilter DEFLATE </FilesMatch> </IfModule> 14
15.
YUI Compressor
Minify CSS/JS • Closure Compiler • UglifyJS • JSMin • YUI Compressor 15
16.
Check your page
http://www.webpagetest.org/result/ 110909_QY_22b0fa55b1bae814dd5af2579b041926/ 16
17.
Rails 3.1 Asset Pipeline
17
18.
Resources • http://code.google.com/speed/page-speed/
docs/rules_intro.htmls • http://www.webpagetest.org By Steve Souders 18
19.
BTW • We’re hiring •
Our jobs are open source: http://github.com/local-ch/local-ch.github.com • Looking forward to pull requests! 19
20.
Questions
20
Download now