59
Latency

Latency, Сергей Высоцкий

  • Upload
    2-

  • View
    449

  • Download
    3

Embed Size (px)

DESCRIPTION

Фраза "ваш сайт тормозит" является эквивалентом бага "ваше приложение не работает". Современный интернет уже давно сложнее этих слов и для того чтобы формализовать эту короткую фразу нам потребуется немного посмотреть на то, как работает веб. Начнем с магических пони, приносящих веб-странички, и закончим простыми метриками и разбором HTTP архивов. Ничего сложного не будет - просто ряд ответов, которые крайне редко можно услышать на собеседованиях.

Citation preview

Page 1: Latency, Сергей Высоцкий

Latency

Page 2: Latency, Сергей Высоцкий

Медленный сайт-50 к лояльности-20 к надежности

Page 3: Latency, Сергей Высоцкий

Почему интернеты такие медленные?

Page 4: Latency, Сергей Высоцкий

Как работают интернеты?

Page 5: Latency, Сергей Высоцкий
Page 6: Latency, Сергей Высоцкий
Page 7: Latency, Сергей Высоцкий
Page 8: Latency, Сергей Высоцкий

Клиент СерверИнтернет

maps.2gis.ru

Page 9: Latency, Сергей Высоцкий
Page 10: Latency, Сергей Высоцкий

Клиент СерверИнтернет

maps.2gis.ru

DNS

Page 11: Latency, Сергей Высоцкий

Клиент СерверИнтернет

maps.2gis.ru

DNSDNS

lookup

Page 12: Latency, Сергей Высоцкий

Клиент СерверИнтернет

maps.2gis.ru

DNSDNS

lookup

Page 13: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

роутинг

R

RR

R

R

Page 14: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

TCP Сессия

R

RR

R

RИнтернет

Page 15: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

TCP Сессия

R

RR

R

RИнтернет

Page 16: Latency, Сергей Высоцкий
Page 17: Latency, Сергей Высоцкий

Tcp congestion window

Page 18: Latency, Сергей Высоцкий
Page 19: Latency, Сергей Высоцкий
Page 20: Latency, Сергей Высоцкий

написали письмо отнесли на почту

Page 21: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

Page 22: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

Page 23: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

Page 24: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

Page 25: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

Page 26: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

4

Page 27: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

клевое

письмо

Page 28: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

2

письмо

Page 29: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

4

письмо

Page 30: Latency, Сергей Высоцкий

Вы(отправитель)

Они(получатель)

это

мое

4

письмо

Где!?!

Page 31: Latency, Сергей Высоцкий

это мое письмо

421

Page 32: Latency, Сергей Высоцкий

это мое письмо

421

Перешли пожалуйста #3

Page 33: Latency, Сергей Высоцкий

это мое письмо

421

Перешли пожалуйста #3

клевое

3

Да, конечно. Вот оно

Page 34: Latency, Сергей Высоцкий

Вы(клиент)

они(сервер)

Tcp сессия

IP роутинг

1 2 3 4

IP IPIPIP

Page 35: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

R

RR

R

RИнтернет

Page 36: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

R

RR

R

RИнтернет

TCP TCP

Page 37: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

R

RR

R

RИнтернет

TCP

SSL

TCP

SSL

Page 38: Latency, Сергей Высоцкий

Клиент Сервер

maps.2gis.ru

IP IP

HTTP „стэк“

R

RR

R

RИнтернет

TCP

SSL

HTTP

TCP

SSL

HTTP

Page 39: Latency, Сергей Высоцкий

Клиент Сервер

Page 40: Latency, Сергей Высоцкий

Клиент Сервер

TCP SYN („надо поговорить“)

TCP SYN ACK(„ОК, согласен“)

TCP ACK(„ОК, мы говорим“)

Page 41: Latency, Сергей Высоцкий

Клиент Сервер

TCP SYN („надо поговорить“)

TCP SYN ACK(„ОК, согласен“)

TCP ACK(„ОК, мы говорим“)

SSL(„нас могут подслушивать“)

SSL(„держи ключик“)

Page 42: Latency, Сергей Высоцкий

Клиент Сервер

TCP SYN („надо поговорить“)

TCP SYN ACK(„ОК, согласен“)

TCP ACK(„ОК, мы говорим“)

SSL(„нас могут подслушивать“)

SSL(„держи ключик“)

HTTP GET / („дай мне свою домашнюю страничку“)

HTTP 200 („Да, конечно!“)

index.html („Вот она“)

[img js css] („и это тоже держи“)

немногозадумался

пиу-пиу-пиуНеистово рендерит

Page 43: Latency, Сергей Высоцкий

Клиент Сервер

TCP SYN („надо поговорить“)

TCP SYN ACK(„ОК, согласен“)

TCP ACK(„ОК, мы говорим“)

SSL(„нас могут подслушивать“)

SSL(„держи ключик“)

HTTP GET / („дай мне свою домашнюю страничку“)

HTTP 200 („Да, конечно!“)

index.html („Вот она“)

[img js css] („и это тоже держи“)

TCP FIN („спасибо, пока!“)

TCP FIN ACK („незачто! Приходите еще!“)

немногозадумался

пиу-пиу-пиуНеистово рендерит

Page 44: Latency, Сергей Высоцкий

Index.html

Script.js

Style.css

Button.gif

Photo.jpg

Background.gif

DNS lookup

Background.gif

простой на хосте Время доставки

Page 45: Latency, Сергей Высоцкий

Page load это сложно" "AjaxCDN

Document vs. EventМобилки

Third-partyПлагинчики и эмбеды

Page 46: Latency, Сергей Высоцкий
Page 47: Latency, Сергей Высоцкий

maps.2gis.ru в chrome116 запросов

62 соединения25 доменов

Page 48: Latency, Сергей Высоцкий
Page 49: Latency, Сергей Высоцкий

браузер Сервер

аналитика

тайлики

сайтик

Сервер

Сервер

Page 50: Latency, Сергей Высоцкий

браузер Сервер

аналитика

тайлики

сайтик

Сервер

Сервер

Вашу мать...

Page 51: Latency, Сергей Высоцкий

Что важно?Когда сайтом можно будет

пользоваться так, как задумали дизайнеры?

Page 52: Latency, Сергей Высоцкий

Мы контролируем

Page 53: Latency, Сергей Высоцкий

Latency на сервереНагрузочные тесты

Пассивный мониторинг

Page 54: Latency, Сергей Высоцкий

сеть с известными параметрами

Активный мониторинг

Page 55: Latency, Сергей Высоцкий

Людям не нравится

Page 56: Latency, Сергей Высоцкий

Рендеринг страницыHTTP Waterfall хотя бы по

праздникам

Page 57: Latency, Сергей Высоцкий

Суммарное latencyСнимать измерения с разных точек

Page 58: Latency, Сергей Высоцкий

Пользовательское окружениеРазные браузеры

Разное железо

Page 59: Latency, Сергей Высоцкий

THE ENDTHE END