SlideShare a Scribd company logo
1 of 103
Download to read offline
Жесточайшая
Дима Дудин @nedudi
Оптимизация скорости
загрузки веб-страниц
Зачем ?
… неужели это так важно
1секунда?
1 секунда в WEB
11% - потеря количества
просмотров.
16% - потеря удовлетворенности
клиентов
7% - потеря конверсии
Конверсия магазинов
увеличивается на
74%
при уменьшении
времени загрузки
с 8 до 2 секунд
Деньги - не главное
Как понять ?
… анализы, анализы
Pingdom
Pingdom
YSLOW
WEBPAGETEST
pagespeed
pagespeed
pagespeed
Типовые проблемы
… тяжко жить веб-разработчику
РАЗМЕР
ИЗОБРАЖЕНИЙ
авто
Сжималки
разрезалки
спрайты и тп…
grunt-contrib-imagemin
grunt-imageoptim
grunt-webp
grunt-imageNormalize
grunt-image-resize
grunt-spritefiles
grunt-montage
…….
addyosmani.com/blog/image-optimization-tools
<Picture>
vimeo.com/108326836
<picture>
<source
media="(min-width: 650px)"
srcset="images/kitten-stretching.png">
<source
media="(min-width: 465px)"
srcset="images/kitten-sitting.png">
<img
src="images/kitten-curled.png"
alt="a cute kitten">
</picture>
И еще …
<img src=“hi.png"
height="100" width=“100”
/>
ФОРМАТЫ
ИЗОБРАЖЕНИЙ
JPEG
PNG
SVG
Lazy
loading…
GZIP
Cache
CACHE отключен
1. Last-Modified
Last-modified: Fri, 16 Mar 2007 04:00:25 GMT File
Contents (could be an image, HTML, CSS,
Javascript...)
2. ETag
ETag: ead145f File Contents (could be an image,
HTML, CSS, Javascript...)
3. EXPIRES
Expires:Tue, 20 Mar 2007 04:00:25 GMT File
Contents (could be an image, HTML, CSS,
Javascript...)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 1 year"
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 year"
ExpiresDefault "access plus 2 days"
</IfModule>
server {
...
location ~* .(gif|ico|jpe?g|png)(?[0-9]+)?$ {
expires 1w;
}
location ~* .(css|js)$ {
expires 1d;
}
...
}
4. MAX AGE
cache-control: max-age=0
1 day in seconds = 86400
1 week in seconds = 604800
1 month in seconds = 2629000
1 year in seconds = 31536000
(effectively infinite on internet time)
5. Public and Private
cache-control: private
Cache-control: public
Cache-control: private
Cache-control: no-cache
<ifModule mod_headers.c>
<FilesMatch ".(gif|ico)$">
Header set Cache-Control "max-age=2592000, public"
</FilesMatch>
<FilesMatch ".(js)$">
Header set Cache-Control "max-age=86400,
private, must-revalidate"
</FilesMatch>
<FilesMatch ".(php)$">
Header set Cache-Control "private, no-store, no-cache,
must-revalidate, no-transform, max-age=0"
Header set Pragma "no-cache"
</FilesMatch>
</ifModule>
server {
...
location ~* .(?:ico|css|js|gif|jpe?g|png)$ {
add_header Cache-Control "max-age=86400, public";
}
...
}
обфускация
js сss html
Сборка
js сss
JavaScript
в конец документа
CSS
в начало документа
?
CDN
DNS
Lookup time
feedthebot.com/tools/requests
<link rel="dns-prefetch" href="//trololo.com">
Enable
Keep-AlivE
избегаем
javascript
редиректов
Google Pagespeed
… xoчу все сразу
хочу
все
и
сразу
developers.google.com/speed/pagespeed/module/filters
pagespeed
Apache
ModPagespeedEnableFilters collapse_whitespace
Nginx
pagespeed EnableFilters collapse_whitespace;
Collapse Whitespace
Apache
ModPagespeedEnableFilters insert_dns_prefetch
Nginx
pagespeed EnableFilters insert_dns_prefetch;
Pre-Resolve DNS
Apache
ModPagespeedEnableFilters combine_css
Nginx
pagespeed EnableFilters combine_css;
combine css
Apache
ModPagespeedEnableFilters rewrite_css
Nginx
pagespeed EnableFilters rewrite_css;
Minify CSS
Apache
ModPagespeedEnableFilters move_css_to_head
Nginx
pagespeed EnableFilters move_css_to_head;
Move CSS to Head
Apache
ModPagespeedEnableFilters prioritize_critical_css
Nginx
pagespeed EnableFilters prioritize_critical_css;
Prioritize Critical CSS
Apache
ModPagespeedEnableFilters combine_javascript
Nginx
pagespeed EnableFilters combine_javascript;
combine js
Apache
ModPagespeedEnableFilters rewrite_javascript
Nginx
pagespeed EnableFilters rewrite_javascript;
Minify Js
Apache
ModPagespeedEnableFilters
canonicalize_javascript_libraries
Nginx
pagespeed EnableFilters
canonicalize_javascript_libraries;
Canonicalize JavaScript Libraries
Apache
ModPagespeedEnableFilters
include_js_source_maps
Nginx
pagespeed EnableFilters
include_js_source_maps;
Include JavaScript Source Maps
Apache
ModPagespeedEnableFilters
move_css_above_scripts
Nginx
pagespeed EnableFilters
move_css_above_scripts;
Move CSS Above Scripts
Apache
ModPagespeedEnableFilters defer_javascript
Nginx
pagespeed EnableFilters defer_javascript;
Defer JavaScript
Apache
ModPagespeedEnableFilters dedup_inlined_images
Nginx
pagespeed EnableFilters dedup_inlined_images;
Deduplicate Inlined Images
Apache
ModPagespeedEnableFilters elide_attributes
Nginx
pagespeed EnableFilters elide_attributes;
Elide Attributes
Apache
ModPagespeedEnableFilters extend_cache
Nginx
pagespeed EnableFilters extend_cache;
Extend Cache
Apache
ModPagespeedEnableFilters flatten_css_imports
Nginx
pagespeed EnableFilters flatten_css_imports;
Flatten CSS Imports
Apache
ModPagespeedEnableFilters lazyload_images
Nginx
pagespeed EnableFilters lazyload_images;
Lazyload Images
Apache
ModPagespeedEnableFilters sprite_images
Nginx
pagespeed EnableFilters sprite_images;
Sprite Images
Apache
ModPagespeedEnableFilters rewrite_images
Nginx
pagespeed EnableFilters rewrite_images;
Optimize Images
inline_images +
recompress_images +
convert_png_to_jpeg +
resize_images
Apache
ModPagespeedEnableFilters local_storage_cache
Nginx
pagespeed EnableFilters local_storage_cache;
Local Storage Cache
ЭКСПЕРИМЕНТИРУЙТЕ
НИКОМУ НЕ ВЕРЬТЕ
@nedud @html5by
Вопросы ? nedudi@gmail.com
html5.by
vk.com/html5by
facebook.com/html5by
twitter.com/html5by

More Related Content

What's hot

Slides pour blog
Slides pour blogSlides pour blog
Slides pour blog
lyago
 
Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013
Andy Davies
 
MOConf'13: WebNotBombs: Optimize this
MOConf'13: WebNotBombs: Optimize thisMOConf'13: WebNotBombs: Optimize this
MOConf'13: WebNotBombs: Optimize this
Boris Zapolsky
 

What's hot (20)

The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
 
Harder, Better, Faster, Stronger
Harder, Better, Faster, StrongerHarder, Better, Faster, Stronger
Harder, Better, Faster, Stronger
 
DevNexus 2016
DevNexus 2016DevNexus 2016
DevNexus 2016
 
Weniger aus Bilder holen
Weniger aus Bilder holenWeniger aus Bilder holen
Weniger aus Bilder holen
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
 
Frontend grote projecten
Frontend grote projectenFrontend grote projecten
Frontend grote projecten
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
 
Front End Performance
Front End PerformanceFront End Performance
Front End Performance
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
 
Make your website 2 times faster
Make your website 2 times fasterMake your website 2 times faster
Make your website 2 times faster
 
Slides pour blog
Slides pour blogSlides pour blog
Slides pour blog
 
Rapid Testing, Rapid Development
Rapid Testing, Rapid DevelopmentRapid Testing, Rapid Development
Rapid Testing, Rapid Development
 
Software Support Done Right
Software Support Done RightSoftware Support Done Right
Software Support Done Right
 
Maurizio Mangione - Get the best out of your PWA with Workbox JS - Codemotion...
Maurizio Mangione - Get the best out of your PWA with Workbox JS - Codemotion...Maurizio Mangione - Get the best out of your PWA with Workbox JS - Codemotion...
Maurizio Mangione - Get the best out of your PWA with Workbox JS - Codemotion...
 
Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013Web Performance Workshop - Velocity London 2013
Web Performance Workshop - Velocity London 2013
 
Jag tag
Jag tagJag tag
Jag tag
 
MOConf'13: WebNotBombs: Optimize this
MOConf'13: WebNotBombs: Optimize thisMOConf'13: WebNotBombs: Optimize this
MOConf'13: WebNotBombs: Optimize this
 
Introduction à AngularJS
Introduction à AngularJSIntroduction à AngularJS
Introduction à AngularJS
 
Biological Modelling, Powered by AngularJS
Biological Modelling, Powered by AngularJSBiological Modelling, Powered by AngularJS
Biological Modelling, Powered by AngularJS
 
Cache Money Business
Cache Money BusinessCache Money Business
Cache Money Business
 

Viewers also liked

Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
Tony Fabeen
 

Viewers also liked (20)

ESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map WidgetsESRI Dev Meetup: Building Distributed JavaScript Map Widgets
ESRI Dev Meetup: Building Distributed JavaScript Map Widgets
 
Chrome Extensions
Chrome ExtensionsChrome Extensions
Chrome Extensions
 
Webpage Caches - the big picture (WordPress too)
Webpage Caches - the big picture (WordPress too)Webpage Caches - the big picture (WordPress too)
Webpage Caches - the big picture (WordPress too)
 
Running PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtnRunning PHP on Nginx / PHP wgtn
Running PHP on Nginx / PHP wgtn
 
Accelerating Nginx Web Server Performance
Accelerating Nginx Web Server PerformanceAccelerating Nginx Web Server Performance
Accelerating Nginx Web Server Performance
 
5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012Caching and tuning fun for high scalability @ FOSDEM 2012
Caching and tuning fun for high scalability @ FOSDEM 2012
 
High Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling TechniquesHigh Performance Php My Sql Scaling Techniques
High Performance Php My Sql Scaling Techniques
 
Maximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINXMaximizing PHP Performance with NGINX
Maximizing PHP Performance with NGINX
 
Nginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with LuaNginx Scripting - Extending Nginx Functionalities with Lua
Nginx Scripting - Extending Nginx Functionalities with Lua
 
Nginx pres
Nginx presNginx pres
Nginx pres
 
How to secure your web applications with NGINX
How to secure your web applications with NGINXHow to secure your web applications with NGINX
How to secure your web applications with NGINX
 
Documents in JavaScript
Documents in JavaScriptDocuments in JavaScript
Documents in JavaScript
 
How to monitor NGINX
How to monitor NGINXHow to monitor NGINX
How to monitor NGINX
 
How to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - EnglishHow to be Successful with Responsive Sites (Koombea & NGINX) - English
How to be Successful with Responsive Sites (Koombea & NGINX) - English
 
Load Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINXLoad Balancing and Scaling with NGINX
Load Balancing and Scaling with NGINX
 
The 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference ArchitectureThe 3 Models in the NGINX Microservices Reference Architecture
The 3 Models in the NGINX Microservices Reference Architecture
 
Swift for back end: A new generation of full stack languages?
Swift for back end: A new generation of full stack languages?Swift for back end: A new generation of full stack languages?
Swift for back end: A new generation of full stack languages?
 
Tehnik trading
Tehnik tradingTehnik trading
Tehnik trading
 

Similar to Web page load speed optimization

The High Performance Web Application Lifecycle
The High Performance Web Application LifecycleThe High Performance Web Application Lifecycle
The High Performance Web Application Lifecycle
Alois Reitbauer
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
Christopher Schmitt
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
Christopher Schmitt
 
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
Ontico
 

Similar to Web page load speed optimization (20)

The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
The Need for Speed (5 Performance Optimization Tipps) - brightonSEO 2014
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
 
Bringing the JAMstack to the Enterprise
Bringing the JAMstack to the EnterpriseBringing the JAMstack to the Enterprise
Bringing the JAMstack to the Enterprise
 
The High Performance Web Application Lifecycle
The High Performance Web Application LifecycleThe High Performance Web Application Lifecycle
The High Performance Web Application Lifecycle
 
Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015Design & Performance - Steve Souders at Fastly Altitude 2015
Design & Performance - Steve Souders at Fastly Altitude 2015
 
Web performance tuning
Web performance tuning Web performance tuning
Web performance tuning
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
 
Design+Performance Velocity 2015
Design+Performance Velocity 2015Design+Performance Velocity 2015
Design+Performance Velocity 2015
 
CSS and image optimization
CSS and image optimizationCSS and image optimization
CSS and image optimization
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
When dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniquesWhen dynamic becomes static - the next step in web caching techniques
When dynamic becomes static - the next step in web caching techniques
 
Minimalism in Web Development
Minimalism in Web DevelopmentMinimalism in Web Development
Minimalism in Web Development
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
 
Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering
 
Web Performance: 3 Stages to Success
Web Performance: 3 Stages to SuccessWeb Performance: 3 Stages to Success
Web Performance: 3 Stages to Success
 
[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design[html5tx] Adaptive Images in Responsive Web Design
[html5tx] Adaptive Images in Responsive Web Design
 
A High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI CompositionA High-Performance Solution To Microservices UI Composition
A High-Performance Solution To Microservices UI Composition
 
A holistic approach to web performance
A holistic approach to web performanceA holistic approach to web performance
A holistic approach to web performance
 
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
 

Recently uploaded

Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
amitlee9823
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
Neometrix_Engineering_Pvt_Ltd
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Kandungan 087776558899
 

Recently uploaded (20)

UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
Generative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPTGenerative AI or GenAI technology based PPT
Generative AI or GenAI technology based PPT
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Employee leave management system project.
Employee leave management system project.Employee leave management system project.
Employee leave management system project.
 
Unit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdfUnit 2- Effective stress & Permeability.pdf
Unit 2- Effective stress & Permeability.pdf
 
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance BookingCall Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
Call Girls Wakad Call Me 7737669865 Budget Friendly No Advance Booking
 
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night StandCall Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
Call Girls In Bangalore ☎ 7737669865 🥵 Book Your One night Stand
 
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
Navigating Complexity: The Role of Trusted Partners and VIAS3D in Dassault Sy...
 
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort ServiceCall Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
Call Girls in Ramesh Nagar Delhi 💯 Call Us 🔝9953056974 🔝 Escort Service
 
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
(INDIRA) Call Girl Bhosari Call Now 8617697112 Bhosari Escorts 24x7
 
Integrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - NeometrixIntegrated Test Rig For HTFE-25 - Neometrix
Integrated Test Rig For HTFE-25 - Neometrix
 
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
Hazard Identification (HAZID) vs. Hazard and Operability (HAZOP): A Comparati...
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
A Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna MunicipalityA Study of Urban Area Plan for Pabna Municipality
A Study of Urban Area Plan for Pabna Municipality
 
Block diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.pptBlock diagram reduction techniques in control systems.ppt
Block diagram reduction techniques in control systems.ppt
 
DC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equationDC MACHINE-Motoring and generation, Armature circuit equation
DC MACHINE-Motoring and generation, Armature circuit equation
 
University management System project report..pdf
University management System project report..pdfUniversity management System project report..pdf
University management System project report..pdf
 
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak HamilCara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
Cara Menggugurkan Sperma Yang Masuk Rahim Biyar Tidak Hamil
 

Web page load speed optimization

Editor's Notes

  1. 1-секундная задержка в загрузке веб-страницы влечет за собой: 11% - потеря количества просмотров. 16% - потеря удовлетворенности клиентов 7% - потеря конверсии
  2. Иногда мы не знаем, что будет через 1 сек
  3. Иногда 1 сек все тотально решает
  4. According to the Guinness Book of World Records, Steven Petrosino is the Beer Chugging World Champion. On June 22, 1977, he drank 1 liter of beer in 1.3 seconds at the Gingerbreadman in Carlise, PA, a 56% improvement over the previous world record set several years earlier by Peter Dowdeswell of England (2.3 seconds for 1 liter)
  5. 1-секундная задержка в загрузке веб-страницы влечет за собой: 11% - потеря количества просмотров. 16% - потеря удовлетворенности клиентов 7% - потеря конверсии
  6. 1-секундная задержка в загрузке веб-страницы влечет за собой: 11% - потеря количества просмотров. 16% - потеря удовлетворенности клиентов 7% - потеря конверсии
  7. Shopzilla ускорить среднее время загрузки страницы из 6 секунд до 1,2 секунд, а увеличение доходов на 12% и просмотров страниц на 25%. Amazon увеличил выручку на 1% за каждые 100 мс улучшения (так же, как Walmart). Yahoo увеличение трафика на 9% за каждые 400 мс улучшения. Наконец, Mozilla получили 60 миллионов больше Firefox загрузок в год, делая свои страницы 2,2 секунды быстрее.
  8. мы все ждем такой реакции пользователя
  9. а что мы зачастую получаем
  10. информационно-развлекательных систем
  11. http://addyosmani.com/blog/image-optimization-tools/ As we saw a few weeks ago, the weight of an average web page is now almost 1.5MB (median ~1MB), with > 50% of this being images указывайте аттрибуты юзайте спратйы
  12. . Why GZIP? • GZIP is not the best compression method, but there are a few good reasons to use it. • Provides a good tradeoff between speed and ratio. • Difficulty to add newer compression methods. The "Content-Encoding"/"Accept-Encoding" and "Transfer-Encoding"/"TE" headers in HTTP/1.1 allow clients to optionally receive compressed HTTP responses and (less commonly) to send compressed requests. The specification for HTTP/1.1 (RFC 2616) specifies three compression methods: "gzip" (RFC 1952; the content wrapped in a gzip stream), "deflate" (RFC 1950; the content wrapped in a zlib-formatted stream), and "compress" (explained in RFC 2616 section 3.5 as "The encoding format produced by the common UNIX file compression program compress. This format is an adaptive Lempel-Ziv-Welch coding (LZW)."). Many client libraries, browsers, and server platforms (including Apache and Microsoft IIS) support gzip. Many agents also support deflate, although several important players incorrectly implement deflate support using the format specified by RFC 1951 instead of the correct format specified by RFC 1950 (which encapsulates RFC 1951). Notably, Internet Explorer versions 6, 7, and 8 report deflate support but do not actually accept RFC 1950 format, making actual use of deflate highly unusual. Many clients accept both RFC 1951 and RFC 1950-formatted data for the "deflate" compressed method, but a server has no way to detect whether a client will correctly handle RFC 1950 format.[9]
  13. Accept-Encoding: gzip
  14. What is GZIP? Web server GET index.html Accept-Encoding: gzip
  15. Add an Expires header
  16. http://betterexplained.com/articles/how-to-optimize-your-site-with-http-caching/ http://www.mobify.com/blog/beginners-guide-to-http-cache-headers/
  17. Browser: Hey, give me logo.png, but only if it’s been modified since Mar 16, 2007. Server: (Checking the modification date) Server: Hey, you’re in luck! It was not modified since that date. You have the latest version. Browser: Great! I’ll show the user the cached version. Sending the short “Not Modified” message is a lot faster than needing to download the file again, especially for giant javascript or image files. Caching saves the day (err… the bandwidth).
  18. Сравнивая версии с временем изменения обычно работает, но может привести к проблемам. Что делать, если часы сервера изначально неправильно, а затем устроился? Что делать, если летнее время наступает рано и сервер не обновляется? В тайниках может быть неточным. Browser: Can I get logo.png, if nothing matches tag “ead145f”? Server: (Checking fingerprint on logo.png) Server: You’re in luck! The version here is “ead145f”. It was not modified. Browser: Score! I’ll show the user my cached version.
  19. Browser: Self, is it before the expiration date of Mar 20, 2007? (Assume it is). Browser: Verily, I will show the user the cached version.
  20. Avoid CSS @import
  21. Но на самом деле все не так просто. У Tizen есть длинная предистория. Выглядит она приблизительно так:
  22. Но на самом деле все не так просто. У Tizen есть длинная предистория. Выглядит она приблизительно так:
  23. Но на самом деле все не так просто. У Tizen есть длинная предистория. Выглядит она приблизительно так:
  24. Но на самом деле все не так просто. У Tizen есть длинная предистория. Выглядит она приблизительно так:
  25. Но на самом деле все не так просто. У Tizen есть длинная предистория. Выглядит она приблизительно так:
  26. Reduce DNS Lookups: DNS (Domain Name System) Lookup occurs when a URL (hostname) is typed in a browser and a DNS resolver returns that server’s IP address. The time needed for this process is around 20 – 120 milliseconds, however, multiple hostnames can be used for various elements on a website, which includes the URL, images, script files, style sheets and flash elements. With multiple unique hostnames the DNS lookup also increases thus increasing the page load time. Reducing the number of unique hostnames will reduce the number of parallel downloads, which may increase the page loading time. It is thus ideal to use one host when you have less than six resources. You can also use URL paths instead of hostnames. This means that if you have a blog page that is hosted on blog.yoursite.com, you can instead host it on www.yoursite.com/blog.
  27. Know what your webpage is doing. Decide what is important to your page.
  28. Know what your webpage is doing. Decide what is important to your page.
  29. Know what your webpage is doing. Decide what is important to your page.
  30. Reduce DNS Lookups: DNS (Domain Name System) Lookup occurs when a URL (hostname) is typed in a browser and a DNS resolver returns that server’s IP address. The time needed for this process is around 20 – 120 milliseconds, however, multiple hostnames can be used for various elements on a website, which includes the URL, images, script files, style sheets and flash elements. With multiple unique hostnames the DNS lookup also increases thus increasing the page load time. Reducing the number of unique hostnames will reduce the number of parallel downloads, which may increase the page loading time. It is thus ideal to use one host when you have less than six resources. You can also use URL paths instead of hostnames. This means that if you have a blog page that is hosted on blog.yoursite.com, you can instead host it on www.yoursite.com/blog.
  31. Know what your webpage is doing. Decide what is important to your page.
  32. Know what your webpage is doing. Decide what is important to your page.
  33. информационно-развлекательных систем
  34. MaxCombinedCssBytes MaxSegmentLength
  35. MaxCombinedCssBytes MaxSegmentLength
  36. MaxCombinedCssBytes MaxSegmentLength
  37. MaxCombinedCssBytes MaxSegmentLength
  38. MaxCombinedCssBytes MaxSegmentLength
  39. MaxCombinedCssBytes MaxSegmentLength
  40. MaxCombinedCssBytes MaxSegmentLength
  41. MaxCombinedCssBytes MaxSegmentLength
  42. MaxCombinedCssBytes MaxSegmentLength
  43. MaxCombinedCssBytes MaxSegmentLength
  44. defer_javascript tries to defer JavaScript execution until page load. It defers this by changing the type and src attributes of <script> elements on the HTML page to pagespeed_orig_type and pagespeed_orig_src respectively. It also adds a new type attribute whose value is set to text/psajs. A window.onload handler is added to the HTML, which executes all the deferred scripts. defer_javascript doesn't defer a script tag if it has the pagespeed_no_defer attribute. This is useful when a script tag needs to be executed while loading the page. For example, a script tag may be updating the main content dynamically as a slideshow of images in the visible content of the page. Usage:
  45. defer_javascript tries to defer JavaScript execution until page load. It defers this by changing the type and src attributes of <script> elements on the HTML page to pagespeed_orig_type and pagespeed_orig_src respectively. It also adds a new type attribute whose value is set to text/psajs. A window.onload handler is added to the HTML, which executes all the deferred scripts. defer_javascript doesn't defer a script tag if it has the pagespeed_no_defer attribute. This is useful when a script tag needs to be executed while loading the page. For example, a script tag may be updating the main content dynamically as a slideshow of images in the visible content of the page. Usage:
  46. defer_javascript tries to defer JavaScript execution until page load. It defers this by changing the type and src attributes of <script> elements on the HTML page to pagespeed_orig_type and pagespeed_orig_src respectively. It also adds a new type attribute whose value is set to text/psajs. A window.onload handler is added to the HTML, which executes all the deferred scripts. defer_javascript doesn't defer a script tag if it has the pagespeed_no_defer attribute. This is useful when a script tag needs to be executed while loading the page. For example, a script tag may be updating the main content dynamically as a slideshow of images in the visible content of the page. Usage:
  47. defer_javascript tries to defer JavaScript execution until page load. It defers this by changing the type and src attributes of <script> elements on the HTML page to pagespeed_orig_type and pagespeed_orig_src respectively. It also adds a new type attribute whose value is set to text/psajs. A window.onload handler is added to the HTML, which executes all the deferred scripts. defer_javascript doesn't defer a script tag if it has the pagespeed_no_defer attribute. This is useful when a script tag needs to be executed while loading the page. For example, a script tag may be updating the main content dynamically as a slideshow of images in the visible content of the page. Usage:
  48. Description dedup_inlined_images replaces repeated inlined images with JavaScript that loads the image from the first occurence of the image. If the first image doesn't have an id, one is generated and added to it. Operation dedup_inlined_images rewrites inlined images: If the image's data URL has not appeared earlier in the page then, if it doesn't already have one an id attribute is generated and added to the tag, then the existing/added id is recorded along with the data URL for comparison with subsequent inlined images. Otherwise, the <img> tag is replaced with an inline <script> tag that replaces itself with an <img> tag, loading the data URL from the preceding <img> tag with the id matching this tag's data URL.
  49. defer_javascript tries to defer JavaScript execution until page load. It defers this by changing the type and src attributes of <script> elements on the HTML page to pagespeed_orig_type and pagespeed_orig_src respectively. It also adds a new type attribute whose value is set to text/psajs. A window.onload handler is added to the HTML, which executes all the deferred scripts. defer_javascript doesn't defer a script tag if it has the pagespeed_no_defer attribute. This is useful when a script tag needs to be executed while loading the page. For example, a script tag may be updating the main content dynamically as a slideshow of images in the visible content of the page. Usage:
  50. MaxCombinedCssBytes MaxSegmentLength
  51. 'Extend Cache' seeks to improve the cacheability of a web page's resources without compromising the ability of site owners to change the resources and have those changes propagate to users' browsers. This filter is based on the best practice to optimize caching, as applied to the browser.
  52. Reduce the number of HTTP round-trips by combining multiple CSS resources into one.
  53. Reduce the number of HTTP round-trips by combining multiple CSS resources into one.
  54. Reduce the number of HTTP round-trips by combining multiple CSS resources into one.
  55. Reduce the number of HTTP round-trips by combining multiple CSS resources into one.
  56. Reduce the number of HTTP round-trips by combining multiple CSS resources into one.
  57. информационно-развлекательных систем
  58. MaxCombinedCssBytes MaxSegmentLength