Similar presentations:
Как быть готовым к «Черным пятницам», «Понедельникам» и другим highload-дням?
1.
Как быть готовым к «Чернымпятницам», «Понедельникам»
и другим highload-дням?
Шарыпов Евгений,
lead-разработчик ARTW
2.
ОПРЕДЕЛЯЕМ КЛЮЧЕВЫЕ ПОКАЗАТЕЛИ01. Метрики
Клиентские
Приложение
Системные
Сервис
Бизнес
3.
ОПРЕДЕЛЯЕМ КЛЮЧЕВЫЕ ПОКАЗАТЕЛИ02. Мониторинг
Системы мониторинга:
+
Среднее время
отклика
+
RPS, пиковый
RPS
+
Частота
ошибок
+
Пиковое
время отклика
Показатели
нагрузки
сервисов
CPU, RAM, Swap,
Disc, Traffic
4.
ОПРЕДЕЛЯЕМ КЛЮЧЕВЫЕ ПОКАЗАТЕЛИ03. Нагрузочное тестирование
04. Обработка результатов
05. Бутылочное горлышко
5.
ПОДГОТОВКА1
Целевые показатели
Трафик, RPS
2
Ответственность сторон
3
Оценка затрат
Бизнес и IT
Рефакторинг
План нагрузки, план
маркетинговых акций
Инфраструктура
«Вау эффект» нужен ли он?
6.
ГОТОВИМСЯ ЗАБЛАГОВРЕМЕННО.ИНФРАСТРУКТУРА
Конфигурация
(MySQLTuner)
Горизонтальное
масштабирование
Вертикальное
масштабирование
Разделение
сервисов
Отказоустойчивость,
кластеризация,
репликация
CDN
7.
ГОТОВИМСЯ ЗАБЛАГОВРЕМЕННО.РЕФАКТОРИНГ
Определение приоритетов, CJM
Каталог
Фильтры
Корзина
Карточка товара
Оформление заказа
Сбор метрик
Разработка
Тестирование, сбор метрик
8.
ГОТОВИМСЯ ЗАБЛАГОВРЕМЕННО.РЕФАКТОРИНГ
Service
dependency
Кэширование
Оптимизация БД
Любые тяжелые или
длительные операции
Циклически запросы на уровне приложения
Хранилище: файлы,
memcached, redis
Избыточные выборки
данных - на уровне
приложения
Управление и инвалидация
кэшированных данных
Индексы - на уровне БД
9.
ГОТОВИМСЯ ЗАБЛАГОВРЕМЕННО.РЕФАКТОРИНГ
Сравнение взаимодействий
Очереди на уровне приложения
+
Брокеры очередей: RabbitMQ, Kafka
Асинхронное взаимодействие
Синхронное взаимодействие
Синхронное
Асинхронное
Реализация
Простая
(+)
Сложная
(-)
Доступность
Снижение
(-)
Высокая
(+)
Тестирование
и отладка
Простые
(+)
Сложные
(-)
Связанность
Высокая
(-)
Слабая
(+)
Время
ожидания
Ожидание ответа
(-)
Снижение
(+)
10.
КОГДА ВРЕМЕНИ НЕ ОСТАЛОСЬ1
Инфраструктура
Конфигурация
Вертикальное масштабирование
21
Рефакторинг
Service dependency
Вертикальное масштабирование
Кэширование
Оптимизация БД
3
Нагрузочное тестирование
Обработка результатов и выводы
11.
ПРИМЕРЫ12.
СПАСИБО ЗА ВНИМАНИЕ!Шарыпов Евгений, Lead Backend-разработчик ARTW
[email protected]
+7 911 016 – 75 - 16
https://artw.ru/