Рост курса валют vs рост числа пользователей. Как banki.ru...

66
Рост курса валют vs рост числа пользователей Как banki.ru пережил утроение нагрузки за неделю Роман Ивлиев Директор по информацинным технологиям Банки.ру

Transcript of Рост курса валют vs рост числа пользователей. Как banki.ru...

Page 1: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Рост курса валют vs рост

числа пользователей

Как banki.ru пережил утроение нагрузки за неделю

Роман

Ивлиев

Директор по

информацинным

технологиям

Банки.ру

Page 2: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

2002-....

• Тестировщик

• Разработчик

• Руководитель разработчиков

• Руководитель тестировщиков

• Руководитель проектов

• CTO

• CIO

Кто я?

Page 3: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 4: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Мы ходим по земле

• PHP 5.х + Symfony 2 + Yii

• Postgres(9.х)+MariaDB

• Memcache+Redis

• Rabbit

• Nginx + Apache

• Битрикс

• Зоопарк осей на 10 серверах (FreeBSD, CentOS и ещё)

Нам 10 лет, в департаменте ИТ 40 человек, мы принимаем 500К

уников в сутки, и мы выручили в 2014 почти 600КК рублей.

Page 5: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Это очень важно!

Page 6: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

О чем расскажу?

• Как мы пережили скачок?

Page 7: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

О чем расскажу?

• Как мы пережили скачок?

• Почему мы не сделали всё это раньше?

Page 8: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

О чем расскажу?

• Как мы пережили скачок?

• Почему мы не сделали всё это раньше?

• А что мы делаем теперь?

Page 9: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

О чем расскажу?

• Как мы пережили скачок?

• Почему мы не сделали всё это раньше?

• А что мы делаем теперь?

• А что будет, если ЦБ повторит?

Page 10: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

О чем расскажу?

• Как мы пережили скачок?

• Почему мы не сделали всё это раньше?

• А что мы делаем теперь?

• А что будет, если ЦБ повторит?

• Немного выводов и мудрости

Page 11: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Знали ли мы про маневры ЦБ?

Page 12: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Знали ли мы про маневры ЦБ?

Page 13: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 14: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 15: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

Page 16: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Анализ логов и перенастройка серверов

Page 17: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Анализ логов и перенастройка серверов

• Включение/отключение логирования

Page 18: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Анализ логов и перенастройка серверов

• Включение/отключение логирования

• Включение/отключение статистик

Page 19: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Анализ логов и перенастройка серверов

• Включение/отключение логирования

• Включение/отключение статистик

• Ок, Гугл, выручай!

Page 20: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Окей, Гугл, выручай!

Page 21: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Анализ логов и перенастройка серверов

• Включение/отключение логирования

• Включение/отключение статистик

• Ок, Гугл, выручай!

• Управляемая деградация

Page 22: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Управляемая деградация

Page 23: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Управляемая деградация

• «Ручное» регулирование числа

пользователей

Page 24: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Управляемая деградация

• «Ручное» регулирование числа

пользователей

• Отключение части функционала

Page 25: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 26: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Управляемая деградация

• «Ручное» регулирование числа

пользователей

• Отключение части функционала

• Напрягается саппорт, а не сервера

Page 27: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Прихвостни ЦБ!!!!

Page 28: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Пустите посмотреть курсы доллара!!!!

Прихвостни ЦБ!!!!

Page 29: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Пустите посмотреть курсы доллара!!!!

Вы это специально??!!!!

Прихвостни ЦБ!!!!

Page 30: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Пустите посмотреть курсы доллара!!!!

Вы это специально??!!!!

Прихвостни ЦБ!!!!

Да @БВАШ@Ь!!!!

Page 31: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Пустите посмотреть курсы доллара!!!!

Вы это специально??!!!!

Прихвостни ЦБ!!!!

Да стопудов это же вы так специально!!!!

Да @БВАШ@Ь!!!!

Page 32: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Балансировка сервисов по серверам в

реальном времени

Page 33: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 34: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Балансировка сервисов по серверам в

реальном времени

• Виртуализация под задачи

Page 35: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами администратора

• Балансировка сервисов по серверам в

реальном времени

• Виртуализация под задачи

• Бонус-трек: Экстренный порт на линукс,

чтобы размножаться пачкованием.

Page 36: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

Page 37: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

• Слоулоги (php, СУБД, web, zabbix)

Page 38: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 39: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 40: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

• Слоулоги (php, СУБД, web, zabbix)

• Память предков и личного состава

Page 41: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

• Слоулоги (php, СУБД, web, zabbix)

• Память предков и личного состава

• Летопись технического долга

Page 42: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

• Битва с джойнами, индексами и

сортировками

Page 43: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 44: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами разработчика

• Битва с джойнами и сортировками

• Отложенные вычисления и предварительная

подготовка данных

Page 45: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 46: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю
Page 47: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

Page 48: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

• «Ручное» управление

Page 49: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

• «Ручное» управление

• Главный враг - паника

Page 50: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

• «Ручное» управление

• Главный враг - паника

• Управляет процессом всегда кто-то один

Page 51: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

• «Ручное» управление

• Главный враг - паника

• Управляет процессом всегда кто-то один

• Быстрый откат

Page 52: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Глазами менеджера

• «Ручное» управление

• Главный враг - паника

• Управляет процессом всегда кто-то один

• Быстрый откат

• Все изменения в Вики.

Page 53: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Почему мы не сделали этого раньше?

Крутые отмазки:

• На самом деле планы были, но не такие

масштабные

• Бизнес не хочет тратиться на такой запас по

мощности

• Сильно-связный код

Page 54: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Почему мы не сделали этого раньше?

Менее крутые:

• Бизнесовые задачи кушают время лучших

умов

• Нет полноценной нагрузочной среды

• А надо ли это делать на два дня?

Page 55: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Вот пример последнего тезиса

Page 56: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы делаем теперь?

• Постепенно выпиливаем то, что осталось с

учётом опыта тех дней

Page 57: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы делаем теперь?

• Постепенно выпиливаем то, что осталось с

учётом опыта тех дней

• Немного поменяли приоритеты в вопросах

замены сервисов

Page 58: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы делаем теперь?

• Постепенно выпиливаем то, что осталось с

учётом опыта тех дней

• Немного поменяли приоритеты в вопросах

замены сервисов

• Прикупили пару новых мощных железяк

Page 59: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы делаем теперь?

• Постепенно выпиливаем то, что осталось с

учётом опыта тех дней

• Немного поменяли приоритеты в вопросах

замены сервисов

• Прикупили пару новых мощных железяк

• Вкладываемся в SOA

Page 60: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы сделаем, если повторится декабрь?

• Мы точно продержимся гораздо дольше

Page 61: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы сделаем, если повторится декабрь?

• Мы точно продержимся гораздо дольше

• Найдем новые узкие места

Page 62: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы сделаем, если повторится декабрь?

• Мы точно продержимся гораздо дольше

• Найдем новые узкие места

• Придумаем, как их убрать и

Page 63: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

А что мы сделаем, если повторится декабрь?

• Мы точно продержимся гораздо дольше

• Найдем новые узкие места

• Придумаем, как их убрать и

• Наверняка уберём

Page 64: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

Выводы и мудрость

Page 65: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

@dumtest

Роман

Ивлиев

Директор по

информационным

технологиям

Банки.ру

Спасибо!

Вопросы?

[email protected]

Page 66: Рост курса валют vs рост числа пользователей. Как banki.ru пережил утроение нагрузки за неделю

• http://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html -

анализ логов MySQL

• https://github.com/dalibo/pgbadger - анализ логов PostgreSQL

• http://pinba.org – сбор данных о работе приложения

• https://github.com/intaro/pinboard - визуализатор для данных Pinba

• https://github.com/phacility/xhprof - PHP-профайлер

• http://www.zabbix.com/ru/ - мониторинг системы (физические и

логические характеристики)

• http://www.slideshare.net/dumtest/ss-32903174 - мой рассказ про

построение высоконагруженных систем с примерами

• https://github.com/elastic/kibana - анализ и визуализация логов