Top Banner
Жесточайшая Дима Дудин @nedudi Оптимизация скорости загрузки веб-страниц
103
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Web page load speed optimization

Жесточайшая

Дима Дудин @nedudi

Оптимизация скорости

загрузки веб-страниц

Page 2: Web page load speed optimization
Page 3: Web page load speed optimization

Зачем ?… неужели это так важно

Page 4: Web page load speed optimization

1 секунда?

Page 5: Web page load speed optimization
Page 6: Web page load speed optimization
Page 7: Web page load speed optimization
Page 8: Web page load speed optimization

1 секунда в WEB

11% - потеря количества просмотров.

16% - потеря удовлетворенности клиентов

7% - потеря конверсии

Page 9: Web page load speed optimization

Конверсия магазинов увеличивается на

74%

при уменьшении времени загрузки

с 8 до 2 секунд

Page 10: Web page load speed optimization
Page 11: Web page load speed optimization
Page 12: Web page load speed optimization
Page 13: Web page load speed optimization
Page 14: Web page load speed optimization

Деньги - не главное

Page 15: Web page load speed optimization
Page 16: Web page load speed optimization
Page 17: Web page load speed optimization

Как понять ?… анализы, анализы

Page 18: Web page load speed optimization

Pingdom

Page 19: Web page load speed optimization

Pingdom

Page 20: Web page load speed optimization

YSLOW

Page 21: Web page load speed optimization

WEBPAGETEST

Page 22: Web page load speed optimization

pagespeed

Page 23: Web page load speed optimization

pagespeed

Page 24: Web page load speed optimization

pagespeed

Page 25: Web page load speed optimization

Типовые проблемы

… тяжко жить веб-разработчику

Page 26: Web page load speed optimization

РАЗМЕР ИЗОБРАЖЕНИЙ

Page 27: Web page load speed optimization

авто

Сжималки

разрезалки

спрайты и тп…

Page 28: Web page load speed optimization

grunt-contrib-imagemin grunt-imageoptim

grunt-webpgrunt-imageNormalize

grunt-image-resizegrunt-spritefilesgrunt-montage

…….

addyosmani.com/blog/image-optimization-tools

Page 29: Web page load speed optimization

<Picture>

Page 30: Web page load speed optimization
Page 31: Web page load speed optimization
Page 32: Web page load speed optimization

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>

Page 33: Web page load speed optimization

И еще …

<img src=“hi.png" height="100" width=“100”

/>

Page 34: Web page load speed optimization

ФОРМАТЫ

ИЗОБРАЖЕНИЙ

Page 35: Web page load speed optimization
Page 36: Web page load speed optimization

JPEG

Page 37: Web page load speed optimization

PNG

Page 38: Web page load speed optimization

SVG

Page 39: Web page load speed optimization
Page 40: Web page load speed optimization

Lazy

loading…

Page 41: Web page load speed optimization
Page 42: Web page load speed optimization
Page 43: Web page load speed optimization

GZIP

Page 44: Web page load speed optimization
Page 45: Web page load speed optimization
Page 46: Web page load speed optimization

Cache

Page 47: Web page load speed optimization

CACHE отключен

Page 48: Web page load speed optimization

1. Last-Modified

Last-modified: Fri, 16 Mar 2007 04:00:25 GMT File Contents (could be an image, HTML, CSS, Javascript...)

Page 49: Web page load speed optimization

2. ETag

ETag: ead145f File Contents (could be an image, HTML, CSS, Javascript...)

Page 50: Web page load speed optimization

3. EXPIRES

Expires: Tue, 20 Mar 2007 04:00:25 GMT File Contents (could be an image, HTML, CSS, Javascript...)

Page 51: Web page load speed optimization

<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>

Page 52: Web page load speed optimization

server { ...

location ~* \.(gif|ico|jpe?g|png)(\?[0-9]+)?$ { expires 1w; } location ~* \.(css|js)$ { expires 1d; } ...

}

Page 53: Web page load speed optimization

4. MAX AGE

cache-control: max-age=0

1 day in seconds = 864001 week in seconds = 6048001 month in seconds = 26290001 year in seconds = 31536000 (effectively infinite on internet time)

Page 54: Web page load speed optimization

5. Public and Private

cache-control: private

Cache-control: publicCache-control: privateCache-control: no-cache

Page 55: Web page load speed optimization

<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>

Page 56: Web page load speed optimization

server { ...

location ~* \.(?:ico|css|js|gif|jpe?g|png)$ { add_header Cache-Control "max-age=86400, public"; } ...

}

Page 57: Web page load speed optimization

обфускация

js сss html

Page 58: Web page load speed optimization

Сборка

js сss

Page 59: Web page load speed optimization

JavaScript в конец документа

Page 60: Web page load speed optimization

CSS в начало документа

?

Page 61: Web page load speed optimization

CDN

Page 62: Web page load speed optimization
Page 63: Web page load speed optimization
Page 64: Web page load speed optimization
Page 65: Web page load speed optimization
Page 66: Web page load speed optimization
Page 67: Web page load speed optimization

DNS Lookup time

Page 68: Web page load speed optimization
Page 69: Web page load speed optimization

feedthebot.com/tools/requests

Page 70: Web page load speed optimization

<link rel="dns-prefetch" href="//trololo.com">

Page 71: Web page load speed optimization

Enable Keep-AlivE

Page 72: Web page load speed optimization
Page 73: Web page load speed optimization
Page 74: Web page load speed optimization

избегаем

javascript редиректов

Page 75: Web page load speed optimization

Google Pagespeed

… xoчу все сразу

Page 76: Web page load speed optimization

хочу все и

сразу

Page 77: Web page load speed optimization

developers.google.com/speed/pagespeed/module/filters

Page 78: Web page load speed optimization

pagespeed

Page 79: Web page load speed optimization

Apache ModPagespeedEnableFilters collapse_whitespace

Nginx pagespeed EnableFilters collapse_whitespace;

Collapse Whitespace

Page 80: Web page load speed optimization

Apache ModPagespeedEnableFilters insert_dns_prefetch

Nginx pagespeed EnableFilters insert_dns_prefetch;

Pre-Resolve DNS

Page 81: Web page load speed optimization

Apache ModPagespeedEnableFilters combine_css

Nginx pagespeed EnableFilters combine_css;

combine css

Page 82: Web page load speed optimization
Page 83: Web page load speed optimization

Apache ModPagespeedEnableFilters rewrite_css

Nginx pagespeed EnableFilters rewrite_css;

Minify CSS

Page 84: Web page load speed optimization

Apache ModPagespeedEnableFilters move_css_to_head

Nginx pagespeed EnableFilters move_css_to_head;

Move CSS to Head

Page 85: Web page load speed optimization

Apache ModPagespeedEnableFilters prioritize_critical_css

Nginx pagespeed EnableFilters prioritize_critical_css;

Prioritize Critical CSS

Page 86: Web page load speed optimization

Apache ModPagespeedEnableFilters combine_javascript

Nginx pagespeed EnableFilters combine_javascript;

combine js

Page 87: Web page load speed optimization

Apache ModPagespeedEnableFilters rewrite_javascript

Nginx pagespeed EnableFilters rewrite_javascript;

Minify Js

Page 88: Web page load speed optimization

Apache ModPagespeedEnableFilters

canonicalize_javascript_libraries

Nginx pagespeed EnableFilters

canonicalize_javascript_libraries;

Canonicalize JavaScript Libraries

Page 89: Web page load speed optimization

Apache ModPagespeedEnableFilters include_js_source_maps

Nginx pagespeed EnableFilters

include_js_source_maps;

Include JavaScript Source Maps

Page 90: Web page load speed optimization

Apache ModPagespeedEnableFilters move_css_above_scripts

Nginx pagespeed EnableFilters

move_css_above_scripts;

Move CSS Above Scripts

Page 91: Web page load speed optimization

Apache ModPagespeedEnableFilters defer_javascript

Nginx pagespeed EnableFilters defer_javascript;

Defer JavaScript

Page 92: Web page load speed optimization

Apache ModPagespeedEnableFilters dedup_inlined_images

Nginx pagespeed EnableFilters dedup_inlined_images;

Deduplicate Inlined Images

Page 93: Web page load speed optimization

Apache ModPagespeedEnableFilters elide_attributes

Nginx pagespeed EnableFilters elide_attributes;

Elide Attributes

Page 94: Web page load speed optimization
Page 95: Web page load speed optimization

Apache ModPagespeedEnableFilters extend_cache

Nginx pagespeed EnableFilters extend_cache;

Extend Cache

Page 96: Web page load speed optimization

Apache ModPagespeedEnableFilters flatten_css_imports

Nginx pagespeed EnableFilters flatten_css_imports;

Flatten CSS Imports

Page 97: Web page load speed optimization

Apache ModPagespeedEnableFilters lazyload_images

Nginx pagespeed EnableFilters lazyload_images;

Lazyload Images

Page 98: Web page load speed optimization

Apache ModPagespeedEnableFilters sprite_images

Nginx pagespeed EnableFilters sprite_images;

Sprite Images

Page 99: Web page load speed optimization

Apache ModPagespeedEnableFilters rewrite_images

Nginx pagespeed EnableFilters rewrite_images;

Optimize Imagesinline_images +

recompress_images +convert_png_to_jpeg +

resize_images

Page 100: Web page load speed optimization

Apache ModPagespeedEnableFilters local_storage_cache

Nginx pagespeed EnableFilters local_storage_cache;

Local Storage Cache

Page 101: Web page load speed optimization

ЭКСПЕРИМЕНТИРУЙТЕ

Page 102: Web page load speed optimization

НИКОМУ НЕ ВЕРЬТЕ

Page 103: Web page load speed optimization

@nedud @html5by

Вопросы ? [email protected]

html5.by

vk.com/html5byfacebook.com/html5bytwitter.com/html5by