27
HighLoad для начинающих МИНКИН АНДРЕЙ NAMBA TAXI

High load для начинающих

Embed Size (px)

Citation preview

Page 1: High load для начинающих

HighLoad для начинающихМИНКИН АНДРЕЙ NAMBA TAXI

Page 2: High load для начинающих

Кто я? Team lead DevOps

NambaTaxiNamba FoodBeSmartNamba

Page 3: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 4: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 5: High load для начинающих

Что такое HighLoad?

Page 6: High load для начинающих

Что такое HighLoad?

Нагрузка, с которой не справляется железо

Page 7: High load для начинающих

Стандартный цикл web приложения

Запросы от сети читаются Парсятся Делаются запросы в БД Формируются ответы Отправляются клиентам

Page 8: High load для начинающих

Где может наступить HighLoad?

CPU RAM NET Disk IO Database

Page 9: High load для начинающих

Как быть?

Менять архитектуру Решать со стороны инфраструктуры Оптимизировать

Page 10: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 11: High load для начинающих

АрхитектураСервисно-ориентированная архитектураВертикальное масштабированиеГоризонтальное масштабированиеОтложенные вычисления

Page 12: High load для начинающих

Асинхронная обработкаКонвейерная обработкаИспользование толстого клиентаКешированиеФункциональное разделение

Page 13: High load для начинающих

ШардингВиртуальные шардыЦентральный диспетчерРепликацияПартиционирование

Page 14: High load для начинающих

КластеризацияДенормализацияВведение избыточностиПараллельное выполнение

Page 15: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 16: High load для начинающих

Инфраструктура IaaS (IBM Bluemix, AWS) Строить свою инфраструктуру

Page 17: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизации Профайлинг Выводы

Page 18: High load для начинающих

Оптимизации Рефакторинг кода Рефакторинг архитектуры

Page 19: High load для начинающих

НЕ ОПТИМИЗИРУЙТЕ ПРЕЖДЕВРЕМЕННО!

Page 20: High load для начинающих

Инструменты OpBeat NewRelic

Page 21: High load для начинающих

План доклада Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 22: High load для начинающих

Профайлинг

Page 23: High load для начинающих

Профайлеры Xhprof Blackfire Pinba Pynba

CprofileRuby-profstackprof

Page 24: High load для начинающих

Глаза Мониторинг Метрики производительности приложений

Page 25: High load для начинающих

Выводы Что такое HighLoad Архитектура Инфраструктура Оптимизация Профайлинг Выводы

Page 26: High load для начинающих

Выводы Преждевременно не оптимизируйте Хорошая архитектура сразу – утопия Запаситесь глазами на продакшне Хорошая архитектура растет вместе с вами Хорошую архитектуру легко менять

Page 27: High load для начинающих

Спасибо

Skype: gen1us2k