SlideShare a Scribd company logo
Ускорение сайта
на client-side
Юрий Устинов
Русоникс
Москва, 20 марта 2014
Загрузка сайта
DNS (узнаем, где сайт)
Загрузка сайта
DNS (узнаем, где сайт)
Сеть (стучимся туда, где сайт)
Загрузка сайта
DNS (узнаем, где сайт)
Сеть (стучимся туда, где сайт)
Ждем ответа сервера (он создает html)
Загрузка сайта
DNS (узнаем, где сайт)
Сеть (стучимся туда, где сайт)
Ждем ответа сервера (он создает html)
Загружаем содержимое (html)
Установка соединения
Посетитель
Сервер
RTT – правда жизни
Round Trip Time
время за которое сигнал проходит от
посетителя к серверу и обратно
Скорость света конечна, да
Москва Москва
Москва Германия
Москва Нидерланды
30-50 мс
70 мс
100 мс
Данные отправляются сегментами
• Повлиять на размер сегмента без хаков на
стороне клиента нельзя
• Максимальный размер сегмента для
Ethernet = 1500 байт, на практике меньше.
Страница этого семинара
• 30,4 кб / 1,4 = 22 сегмента
• 22 сегмента на RTT 100 мс = 2200 мс
• К счастью, есть окно отправки и получения
данных.
Страница этого семинара
• 30,4 кб / 1,4 = 22 сегмента
• 22 сегмента на RTT 100 мс = 2200 мс
К счастью, есть окно отправки и получения
данных.
TCP receive window
VS
Congestion window
• Размер окна меняется по ходу передачи
данных
• Стабильнее канал – больше окно
• Одно окно – много сегментов за раз
Страница этого семинара
• В нашем случае 9 целых сегментов в 1 окне
• 9*1400 = 12600 байт (1 окно = 1 RTT)
• 30,4 кб / 12,6 кб = 3 окна (т.е. 3 RTT)
• Итого 100 мс + 3* 100 мс = 400 мс
30,4 Кб
html
Страница этого семинара
• В нашем случае 9 целых сегментов в 1 окне
• 9*1400 = 12600 байт (1 окно = 1 RTT)
• 30,4 кб / 12,6 кб = 3 окна (т.е. 3 RTT)
• Итого 100 мс + 3* 100 мс = 400 мс
30,4 Кб
html
Страница этого семинара
• В нашем случае 9 целых сегментов в 1 окне
• 9*1400 = 12600 байт (1 окно = 1 RTT)
• 30,4 кб / 12,6 кб = 3 окна (т.е. 3 RTT)
• Итого 100 мс + 3* 100 мс = 400 мс
30,4 Кб
html
6 потоков – важно!
6 потоков – важно!
Что же с этим теперь делать?
Загрузка контента
Неправильно:
для каждого файла
новое соединение
Загрузка контента
Неправильно:
для каждого файла
новое соединение
Правильно:
на одно соединение
много файлов
Увеличение числа параллельных потоков
От такого использования поддомена
нет никакого выигрыша
Данные: sitespeed.ru, webpagetest.org
ОК
Данные: sitespeed.ru, webpagetest.org
Увеличение числа параллельных потоков
Сжатие данных
Сжатие данных
Снижение количества файлов
Правило 6 потоков.
Идеальная схема:
до 3 js + до 3 css примерно равного размера
Спрайты
Один большой спрайт – тоже плохо.
Помним правило 6 потоков!
Спрайты: математика
• 20 мелких повторяющихся
элементов, суммарно 100 кб
• 1 окно: 12 600 байт (например)
• 20 окон или 20*100 мс = 2000 мс
• 1 спрайт, 100 кб
• 8 окон или 8*100 мс = 800 мс
Спрайты: математика
• 20 мелких повторяющихся элементов,
суммарно 100 кб
• 1 окно: 12 600 байт (например)
• 20 окон или 20*100 мс = 2000 мс
• 1 спрайт, 100 кб
• 8 окон или 8*100 мс = 800 мс
Спрайты: математика
• 20 мелких повторяющихся
элементов, суммарно 100 кб
• 1 окно: 12 600 байт (например)
• 20 окон или 20*100 мс = 2000 мс
• 1 спрайт, 100 кб
• 8 окон или 8*100 мс = 800 мс
Спрайты: математика
• 20 мелких повторяющихся элементов,
суммарно 100 кб
• 1 окно: 12 600 байт (например)
• 20 окон или 20*100 мс = 2000 мс
• 1 спрайт, 100 кб
• 8 окон или 8*100 мс = 800 мс
Уменьшение изображений
• Не уменьшать картинки тегами в html
• Сохранять в правильном формате
• Lazy Loading!
• УДАЛЯТЬ служебную информацию из
картинок!
Реальный пример
Сайт веб-студии
-2 Мб
фон в
PNG
> 15
cек
> 5
cек
Оптими
зация
файлов
3
cек
Реальный пример
Сайт веб-студии
-2 Мб
фон в
PNG
> 15
cек
> 5
cек
Оптими
зация
файлов
3
cек
Реальный пример
Сайт веб-студии
-2 Мб
фон в
PNG
> 15
cек
> 5
cек
Оптими
зация
файлов
3
cек
SiteSpeed.ru: для клиентов
WebPageTest.org: для профи
Хостинг, где сайты работают быстро
Спасибо :)
Юрий Устинов РУСОНИКС
Facebook: yuri.ustinov rusonyx
Twitter: @sukahitriy @rusonyx
Email: u@rsnx.ru managers@rusonyx.ru
Псс-с-с! Легендарные
Серверы без заботTM 2.0
с SSD для Битрикса
уже в наличии!

More Related Content

What's hot

Линейка тарифов ВСЕ_Саратов
Линейка тарифов ВСЕ_СаратовЛинейка тарифов ВСЕ_Саратов
Линейка тарифов ВСЕ_Саратов
Beeteam_Beeline
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Ontico
 
Свободные геоинформационные системы
Свободные геоинформационные системыСвободные геоинформационные системы
Свободные геоинформационные системы
Darafei Praliaskouski
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014
Maxim Dementyev
 
Принципы тарификации Burstable
Принципы тарификации BurstableПринципы тарификации Burstable
Принципы тарификации Burstable
Ярослав Гаврилов
 
Распределенные системы хранения данных, особенности реализации DHT в проекте ...
Распределенные системы хранения данных, особенности реализации DHT в проекте ...Распределенные системы хранения данных, особенности реализации DHT в проекте ...
Распределенные системы хранения данных, особенности реализации DHT в проекте ...
yaevents
 
Ровная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластереРовная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластере
Badoo Development
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Ontico
 
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Yandex
 
Константин Осипов (Mail.Ru)
Константин Осипов (Mail.Ru)Константин Осипов (Mail.Ru)
Константин Осипов (Mail.Ru)Ontico
 

What's hot (10)

Линейка тарифов ВСЕ_Саратов
Линейка тарифов ВСЕ_СаратовЛинейка тарифов ВСЕ_Саратов
Линейка тарифов ВСЕ_Саратов
 
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
Сравнение форматов и библиотек сериализации / Антон Рыжов (Qrator Labs)
 
Свободные геоинформационные системы
Свободные геоинформационные системыСвободные геоинформационные системы
Свободные геоинформационные системы
 
maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014maps.sputnik.ru #highload2014
maps.sputnik.ru #highload2014
 
Принципы тарификации Burstable
Принципы тарификации BurstableПринципы тарификации Burstable
Принципы тарификации Burstable
 
Распределенные системы хранения данных, особенности реализации DHT в проекте ...
Распределенные системы хранения данных, особенности реализации DHT в проекте ...Распределенные системы хранения данных, особенности реализации DHT в проекте ...
Распределенные системы хранения данных, особенности реализации DHT в проекте ...
 
Ровная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластереРовная балансировка нагрузки на фронтенд-кластере
Ровная балансировка нагрузки на фронтенд-кластере
 
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
Отказоустойчивая обработка 10M OAuth токенов на Tarantool / Владимир Перепели...
 
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
Роман Комаров "CSS-препроцессоры: из каменного века — в будущее"
 
Константин Осипов (Mail.Ru)
Константин Осипов (Mail.Ru)Константин Осипов (Mail.Ru)
Константин Осипов (Mail.Ru)
 

Similar to Ускорение сайта на стороне клиента

Ускорение сайта на стороне клиента
Ускорение сайта на стороне клиентаУскорение сайта на стороне клиента
Ускорение сайта на стороне клиентаyulia_k
 
Не бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их многоНе бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их много
Roman Dvornov
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуYandex
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with Java
Andrei Pangin
 
Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..webhostingguy
 
Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Liudmila Li
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)Ontico
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Ontico
 
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...rit2011
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
odnoklassniki.ru
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
Fwdays
 
Скорость работы интернет-магазина
Скорость работы интернет-магазинаСкорость работы интернет-магазина
Скорость работы интернет-магазина
rusonyx
 
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
MoscowJS
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsql
Anatoly Popov
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
Roman Dvornov
 
Java 8 puzzlers
Java 8 puzzlersJava 8 puzzlers
Java 8 puzzlers
Evgeny Borisov
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Ontico
 
Производительный специализированный поиск: архитектура, область применимости ...
Производительный специализированный поиск: архитектура, область применимости ...Производительный специализированный поиск: архитектура, область применимости ...
Производительный специализированный поиск: архитектура, область применимости ...Ontico
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Dmitry Kornev
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Bitworks Software
 

Similar to Ускорение сайта на стороне клиента (20)

Ускорение сайта на стороне клиента
Ускорение сайта на стороне клиентаУскорение сайта на стороне клиента
Ускорение сайта на стороне клиента
 
Не бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их многоНе бойся, это всего лишь данные... просто их много
Не бойся, это всего лишь данные... просто их много
 
Марина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизуМарина Широчкина: Верстка. Вид снизу
Марина Широчкина: Верстка. Вид снизу
 
Developing highload servers with Java
Developing highload servers with JavaDeveloping highload servers with Java
Developing highload servers with Java
 
Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..Lobanov_Cloud-Comput..
Lobanov_Cloud-Comput..
 
Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9Root Conf2009 Kopeyko 16.9
Root Conf2009 Kopeyko 16.9
 
Как мы храним 75 млн пользователей (Денис Бирюков)
Как мы храним 75 млн пользователей  (Денис Бирюков)Как мы храним 75 млн пользователей  (Денис Бирюков)
Как мы храним 75 млн пользователей (Денис Бирюков)
 
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
Tempesta FW: challenges, internals, use cases / Александр Крижановский (Tempe...
 
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
как написать масштабируемую баннерокрутилку. денис бирюков, артем гавриченков...
 
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
Франкенштейнизация Voldemort или key-value данные в Одноклассниках. Роман Ан...
 
Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"Всеволод Поляков "История одного мониторинга"
Всеволод Поляков "История одного мониторинга"
 
Скорость работы интернет-магазина
Скорость работы интернет-магазинаСкорость работы интернет-магазина
Скорость работы интернет-магазина
 
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
"Где еще живет скорость в web", Олег Елифантьев, MoscowJS 24
 
Tarantool, .net, newsql
Tarantool, .net, newsqlTarantool, .net, newsql
Tarantool, .net, newsql
 
CSS глазами машин
CSS глазами машинCSS глазами машин
CSS глазами машин
 
Java 8 puzzlers
Java 8 puzzlersJava 8 puzzlers
Java 8 puzzlers
 
Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)Цена абстракции, Андрей Аксёнов (Sphinx)
Цена абстракции, Андрей Аксёнов (Sphinx)
 
Производительный специализированный поиск: архитектура, область применимости ...
Производительный специализированный поиск: архитектура, область применимости ...Производительный специализированный поиск: архитектура, область применимости ...
Производительный специализированный поиск: архитектура, область применимости ...
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
Введение в машинное обучение. Кластеризация (Bitworks Software, Кирилл Жданов)
 

More from rusonyx

Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
rusonyx
 
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, РусониксБизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
rusonyx
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
rusonyx
 
Как ускорить сайт и повысить продажи
Как ускорить сайт и повысить продажиКак ускорить сайт и повысить продажи
Как ускорить сайт и повысить продажи
rusonyx
 
Построение надежных, гибких, расширяемых систем в реальном мире
Построение надежных, гибких, расширяемых систем в реальном миреПостроение надежных, гибких, расширяемых систем в реальном мире
Построение надежных, гибких, расширяемых систем в реальном мире
rusonyx
 
Контейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облакахКонтейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облаках
rusonyx
 
Скорость сайта и конверсия.
Скорость сайта и конверсия.Скорость сайта и конверсия.
Скорость сайта и конверсия.
rusonyx
 

More from rusonyx (7)

Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
Бизнес-завтрак 20131008. Хостинг для веб-проектов. Юрий Устинов, Русоникс.
 
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, РусониксБизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
Бизнес-завтрак 20131008. Партнерская программа Rusonyx. Иван Поздняков, Русоникс
 
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
Все о скорости сайтов. Мастер-класс на партнерской конференции 1С-Битрикс.
 
Как ускорить сайт и повысить продажи
Как ускорить сайт и повысить продажиКак ускорить сайт и повысить продажи
Как ускорить сайт и повысить продажи
 
Построение надежных, гибких, расширяемых систем в реальном мире
Построение надежных, гибких, расширяемых систем в реальном миреПостроение надежных, гибких, расширяемых систем в реальном мире
Построение надежных, гибких, расширяемых систем в реальном мире
 
Контейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облакахКонтейнерная виртуализация. Золушка в облаках
Контейнерная виртуализация. Золушка в облаках
 
Скорость сайта и конверсия.
Скорость сайта и конверсия.Скорость сайта и конверсия.
Скорость сайта и конверсия.
 

Ускорение сайта на стороне клиента