Transcript
Page 1: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Миф об очень сложном HighloadАлександр Горный, CIO Mail.Ru Group

Page 2: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Коротко об авторе

• Занимался highload, когда это ещё не было модно

• Разработал архитектуру дюжины крупных и очень крупных проектов

• Помог вырасти десяткам сильных разработчиков

Page 3: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Highload – популярный и дорогой buzzword• На конференции Highload’2015 было больше 2000 участников

• На HH прямо сейчас открыты 802 вакансии про высокие нагрузки

• Стоит такая вакансия на 25% дороже “обычной”

Page 4: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

В чём суть highload?• Необычные методы

• Необычные инструменты

• Необычные специалисты

Для необычных задач!

Page 5: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Для обычных задач подходят обычные методы, инструменты и

специалисты

Page 6: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Как измерить обычность?RPS Latency

Page 7: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Сколько вешать в граммах?

Page 8: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

RPS на примере 220 Вольт• Сотни миллионов долларов в год выручка

• 600 000 хитов в день

• RPS = 600 000 / 86 400 * 3 * 2 = 40

Page 9: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Latency на примере поисковиков

Яндекс Google

Время отдачи страницы 180 ms 64 ms

Полное время открытия страницы 1050 ms 800 ms

Page 10: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

40 RPS – масштаб крупнейшего e-commerce

200ms latency – уровень качества Яндекса

Page 11: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

На что расходуются ms?• База данных

• Вычисления на бэкенде

• Веб-сервера и ОС

• Сеть

• Работа браузера, подгрузка картинок и JS

Page 12: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

База данных – всего лишь mysql и индексы• 50 000 строк, 9 полей – можно даже индексы не делать

(~40 ms)

• 50 000 строк, 15 числовых, 10 строчных, 2 текстовых поля – запрос по индексу ~15 ms

• 1 000 000 строк 3 числовых, 3 строчных, 1 текстовое поле – запрос по индексу ~15 ms

• JOIN этих таблиц по индексу – ~30 ms

Page 13: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Бекенд• Обработка одного тома Войны и Мира – 25 ms

• Математическая обработка 10000 чисел – 4 ms

• Шаблонизация (Perl + Template::Alloy) – 35 ms

Page 14: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

На что расходуются ms• База банных – 45 ms

• Вычисления на бэкенде – 60 ms

• Веб-сервера и ОС – 160 ms (!!)

На сервере у нас 265 ms – мы ближе к Яндексу, чем Яндекс к Google

Page 15: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

265мс время отклика, какой это RPS?

Page 16: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

На что расходуются ms• Сеть

• Работа браузера

• Картинки и JS-ки

Page 17: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Когда нужен серверный Highload?• Очень-очень-очень много хитов

• Очень много хитрых хитов

• Сервис для сервиса

• Плохой партнер

Page 18: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Кому нужен Highload?• Архитекторам/тимлидам Mail.Ru, Яндекса, Авито, Badoo

• CTO проектов с предыдущего слайда

Page 19: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Почему же сайты тормозят?• Плохой хостинг или плохая сеть

• Плохой framework

• Отсутствие нужных индексов или выгрузка базы целиком

• Плохой фронтенд

Page 20: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Анти Highload++• Nginx

• Репликация

• Кэширование и предрасчет

Page 21: Миф об очень сложном Highload / Александр Горный (Mail.Ru Group)

Спасибо за внимание!

Да здравствуют фронтенд и здравый смысл!


Top Related