SlideShare a Scribd company logo
1 of 33
Download to read offline
СКОРОСТЬ ЗАГРУЗКИ 
СТРАНИЦЫ 
или 
"РОЖЕННЫЙ ПОЛЗАТЬ - ЛЕТАТЬ НЕ 
МОЖЕТ?..."
СЕЗОН 1 
СЕРИЯ 1 "ЗАДАЧА"
СЕРИЯ 2 "ПРОБЛЕМА"
все начиналось хорошо :)
Наша веб-страница 
Веб-страницы стают все больше и больше (контент, CSS, 
JS, катринки, шрифты) 
Количество юзеров, которые заходят с телефонов и 
планшетов растет
0:12
СЕРИЯ 3 "ЦЕЛЬ"
< 1s 1-3s > 10s
Цель - 1 *опой на 2 стульях 
увеличить скорость загрузки 
НЕ обрезать фичи, НЕ обидеть фронт
СЕРИЯ "ЧЕМ 4 ДАЛЬШЕ В ЛЕС, ..."
диагноз неутешительный 
GO лечить!
ладно, пошли в Google!
google PageSpeed 
результат.
кеш браузера 
Expires: Thu, 15 Apr 2010 20:00:00 GMT 
Cache-Control: public 
результат -1.5%
ок - пошли к админу 
кеширующий сервер 
дороговато... 
реакция клиента
сократить CSS 
сократить JS
$cssFiles = array( 
"ads.css", 
"formatting.css", 
"pagesections.css", 
"print.css", 
"screen.css", 
"sidebar.css" 
); 
$buffer = ""; 
foreach ($cssFiles as $cssFile) { 
$buffer .= file_get_contents($cssFile); 
}
// Remove comments 
$buffer = preg_replace('!/*[^*]**+([^/][^*]**+)*/!', '', $buffer); 
// Remove space after colons 
$buffer = str_replace(': ', ':', $buffer); 
// Remove whitespace 
$buffer = str_replace(array("rn", "r", "n", "t", ' ', ' ', ' '), '', $buffer);
// Enable GZip encoding. 
ob_start("ob_gzhandler"); 
// Enable caching 
header('Cache‐Control: public'); 
// Expire in one day 
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT'); 
// Set the correct MIME type, because Apache won't set it for us 
header("Content‐type: text/css"); 
// Write everything out 
echo($buffer);
0:06
СЕРИЯ "ВСКРЫВАЕМ 5 ЧЕРНЫЙ ЯЩИК"
{ 
Critical Rendering Path
А как же картинки! 
Картинки НЕ блокируют построение DOM, НИ 
отрисовку страницы
Кажеться, о чем-то забыли... 
JavaScript!
<p> 
Hello <span>there</span>, SitePoint! 
<script> 
</script>How are you? 
<img src="photo.jpg"> 
</p> 
document.write('How are you?'); 
var color = elem.style.color; 
elem.style.color = 'red'; 
JavaScript - может менять дерево DOM => JavaScript 
блокирует отрисовку
СЕРИЯ 6 "РЕШЕНИЕ"
Уменьшить кол-1. во байтов на выходе: 
минимизировать (убрать пробелы, комменты) 
ужать (gzip) 
кеш браузера
Минимизировать CSS 2. Render Blocking: 
поместить link в head 
<!‐‐</head>‐‐> 
<!‐‐?php flush(); ?‐‐> 
<!‐‐<body>‐‐> 
<title>Sample Site</title> 
<link href="style.css" rel="stylesheet"> 
<link href="print.css" rel="stylesheet" media="print"> 
<link href="landscape.css" rel="stylesheet" media="orientation:landscape"> 
...
Минимизировать Parser Blocking 3. JavaScript: 
... 
<script src="app.js" async=""></script>
СЕРИЯ ФИНАЛ "HAPPY END" :)
наши заказчики

More Related Content

What's hot

Стажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practicesСтажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practices7bits
 
Поизводительность верстки: highload style
Поизводительность верстки: highload styleПоизводительность верстки: highload style
Поизводительность верстки: highload styleTurnkeyEcommerce
 
How to optimize Magento
How to optimize MagentoHow to optimize Magento
How to optimize MagentoMageCloud
 
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...Lviv Startup Club
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.rusonyx
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизацияRoman Brovko
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backendRoman Brovko
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиентыRoman Brovko
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщенияRoman Brovko
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized WebYandex
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev1 1
 
Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Anton Arhipov
 
От 40 до 2 секунд
От 40 до 2 секундОт 40 до 2 секунд
От 40 до 2 секундoelifantiev
 
Реферат на заказ на www.studentam-in.ru
Реферат на заказ на www.studentam-in.ruРеферат на заказ на www.studentam-in.ru
Реферат на заказ на www.studentam-in.ruAlexandr Konfidentsialno
 
Подготовка интернет-магазина к боевым условиям
Подготовка интернет-магазина к боевым условиямПодготовка интернет-магазина к боевым условиям
Подготовка интернет-магазина к боевым условиямAnton Baranov
 

What's hot (19)

Стажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practicesСтажировка-2014, занятие 9. Code conventions and best practices
Стажировка-2014, занятие 9. Code conventions and best practices
 
Поизводительность верстки: highload style
Поизводительность верстки: highload styleПоизводительность верстки: highload style
Поизводительность верстки: highload style
 
How to optimize Magento
How to optimize MagentoHow to optimize Magento
How to optimize Magento
 
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
Кузьмін Віталій “Оптимізація і конфігурування Magento для високонавантажених ...
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
 
Сколько стоят хорошие сайты
Сколько стоят хорошие сайтыСколько стоят хорошие сайты
Сколько стоят хорошие сайты
 
15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация15 - Web-технологии. Сессии и авторизация
15 - Web-технологии. Сессии и авторизация
 
Internet Explorer 8
Internet Explorer 8Internet Explorer 8
Internet Explorer 8
 
08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend08 - Web-технологии. Архитектура frontend-backend
08 - Web-технологии. Архитектура frontend-backend
 
02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты02 - Web-технологии. Web-клиенты
02 - Web-технологии. Web-клиенты
 
17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения17 - Web-технологии. Real Time сообщения
17 - Web-технологии. Real Time сообщения
 
State of the Standardized Web
State of the Standardized WebState of the Standardized Web
State of the Standardized Web
 
Скриншоты как сервис
Скриншоты как сервисСкриншоты как сервис
Скриншоты как сервис
 
Презентация к докладу про БЭМ by Mikhail Troshev
Презентация к докладу про БЭМ  by Mikhail TroshevПрезентация к докладу про БЭМ  by Mikhail Troshev
Презентация к докладу про БЭМ by Mikhail Troshev
 
Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)Domain Specific Languages (for business rules)
Domain Specific Languages (for business rules)
 
От 40 до 2 секунд
От 40 до 2 секундОт 40 до 2 секунд
От 40 до 2 секунд
 
Реферат на заказ на www.studentam-in.ru
Реферат на заказ на www.studentam-in.ruРеферат на заказ на www.studentam-in.ru
Реферат на заказ на www.studentam-in.ru
 
Services в drupal 8
Services в drupal 8Services в drupal 8
Services в drupal 8
 
Подготовка интернет-магазина к боевым условиям
Подготовка интернет-магазина к боевым условиямПодготовка интернет-магазина к боевым условиям
Подготовка интернет-магазина к боевым условиям
 

Similar to скорость загрузки

Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10Technopark
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10Technopark
 
Алексей Андросов "Тотальная заморозка = быстрая загрузка"
Алексей Андросов "Тотальная заморозка = быстрая загрузка"Алексей Андросов "Тотальная заморозка = быстрая загрузка"
Алексей Андросов "Тотальная заморозка = быстрая загрузка"Yandex
 
Web осень 2012 лекция 10
Web осень 2012 лекция 10Web осень 2012 лекция 10
Web осень 2012 лекция 10Technopark
 
Битва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтовБитва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтовindex.art
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionAndrew Petukhov
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBStepan Stolyarov
 
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24MoscowJS
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без болиAnton Piskunov
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта Olga Pirozhenko
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush
 
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...GeeksLab Odessa
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииYevhen Kotelnytskyi
 
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)xasima
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Andrew Mayorov
 
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013Maksim Kazartsev
 

Similar to скорость загрузки (20)

Web весна 2012 лекция 10
Web весна 2012 лекция 10Web весна 2012 лекция 10
Web весна 2012 лекция 10
 
Web весна 2013 лекция 10
Web весна 2013 лекция 10Web весна 2013 лекция 10
Web весна 2013 лекция 10
 
Алексей Андросов "Тотальная заморозка = быстрая загрузка"
Алексей Андросов "Тотальная заморозка = быстрая загрузка"Алексей Андросов "Тотальная заморозка = быстрая загрузка"
Алексей Андросов "Тотальная заморозка = быстрая загрузка"
 
Web осень 2012 лекция 10
Web осень 2012 лекция 10Web осень 2012 лекция 10
Web осень 2012 лекция 10
 
Битва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтовБитва за миллисекунды: практика ускорения веб сайтов
Битва за миллисекунды: практика ускорения веб сайтов
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter edition
 
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDBCodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
CodeFest 2010. Столяров С. — Серверный JavaScript: NodeJS и CouchDB
 
Серверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDBСерверный JavaScript: NodeJS и CouchDB
Серверный JavaScript: NodeJS и CouchDB
 
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
 
Фронтенд разработка без боли
Фронтенд разработка без болиФронтенд разработка без боли
Фронтенд разработка без боли
 
всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта  всплывающее окно при закрытии сайта
всплывающее окно при закрытии сайта
 
pgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresqlpgconf.ru 2015 avito postgresql
pgconf.ru 2015 avito postgresql
 
Pavel Dovbush Toster
Pavel Dovbush Toster Pavel Dovbush Toster
Pavel Dovbush Toster
 
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...
WebCamp: Developer Day: Быстродействие веб-сайта. Методичный анализ и глубины...
 
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизацииБыстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
Быстродействие веб сайта. Методичный анализ и глубины клиентской оптимизации
 
Drupal Vs Other
Drupal Vs OtherDrupal Vs Other
Drupal Vs Other
 
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)Webuibasics - Lesson 3 - Nginx, SSI (in russian)
Webuibasics - Lesson 3 - Nginx, SSI (in russian)
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"
 
Javascript
JavascriptJavascript
Javascript
 
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013
Создание сайтов от А до Я или на какие грабли не наступать. 09.07.2013
 

скорость загрузки