Upload
roman-ivliev
View
179
Download
1
Embed Size (px)
Citation preview
Рост курса валют vs рост
числа пользователей
Как banki.ru пережил утроение нагрузки за неделю
Роман
Ивлиев
Директор по
информацинным
технологиям
Банки.ру
2002-....
• Тестировщик
• Разработчик
• Руководитель разработчиков
• Руководитель тестировщиков
• Руководитель проектов
• CTO
• CIO
Кто я?
Мы ходим по земле
• PHP 5.х + Symfony 2 + Yii
• Postgres(9.х)+MariaDB
• Memcache+Redis
• Rabbit
• Nginx + Apache
• Битрикс
• Зоопарк осей на 10 серверах (FreeBSD, CentOS и ещё)
Нам 10 лет, в департаменте ИТ 40 человек, мы принимаем 500К
уников в сутки, и мы выручили в 2014 почти 600КК рублей.
О чем расскажу?
• Как мы пережили скачок?
• Почему мы не сделали всё это раньше?
• А что мы делаем теперь?
О чем расскажу?
• Как мы пережили скачок?
• Почему мы не сделали всё это раньше?
• А что мы делаем теперь?
• А что будет, если ЦБ повторит?
О чем расскажу?
• Как мы пережили скачок?
• Почему мы не сделали всё это раньше?
• А что мы делаем теперь?
• А что будет, если ЦБ повторит?
• Немного выводов и мудрости
Глазами администратора
• Анализ логов и перенастройка серверов
• Включение/отключение логирования
• Включение/отключение статистик
Глазами администратора
• Анализ логов и перенастройка серверов
• Включение/отключение логирования
• Включение/отключение статистик
• Ок, Гугл, выручай!
Глазами администратора
• Анализ логов и перенастройка серверов
• Включение/отключение логирования
• Включение/отключение статистик
• Ок, Гугл, выручай!
• Управляемая деградация
Управляемая деградация
• «Ручное» регулирование числа
пользователей
• Отключение части функционала
• Напрягается саппорт, а не сервера
Пустите посмотреть курсы доллара!!!!
Вы это специально??!!!!
Прихвостни ЦБ!!!!
Да стопудов это же вы так специально!!!!
Да @БВАШ@Ь!!!!
Глазами администратора
• Балансировка сервисов по серверам в
реальном времени
• Виртуализация под задачи
Глазами администратора
• Балансировка сервисов по серверам в
реальном времени
• Виртуализация под задачи
• Бонус-трек: Экстренный порт на линукс,
чтобы размножаться пачкованием.
Глазами разработчика
• Слоулоги (php, СУБД, web, zabbix)
• Память предков и личного состава
• Летопись технического долга
Глазами разработчика
• Битва с джойнами и сортировками
• Отложенные вычисления и предварительная
подготовка данных
Глазами менеджера
• «Ручное» управление
• Главный враг - паника
• Управляет процессом всегда кто-то один
Глазами менеджера
• «Ручное» управление
• Главный враг - паника
• Управляет процессом всегда кто-то один
• Быстрый откат
Глазами менеджера
• «Ручное» управление
• Главный враг - паника
• Управляет процессом всегда кто-то один
• Быстрый откат
• Все изменения в Вики.
Почему мы не сделали этого раньше?
Крутые отмазки:
• На самом деле планы были, но не такие
масштабные
• Бизнес не хочет тратиться на такой запас по
мощности
• Сильно-связный код
Почему мы не сделали этого раньше?
Менее крутые:
• Бизнесовые задачи кушают время лучших
умов
• Нет полноценной нагрузочной среды
• А надо ли это делать на два дня?
А что мы делаем теперь?
• Постепенно выпиливаем то, что осталось с
учётом опыта тех дней
• Немного поменяли приоритеты в вопросах
замены сервисов
А что мы делаем теперь?
• Постепенно выпиливаем то, что осталось с
учётом опыта тех дней
• Немного поменяли приоритеты в вопросах
замены сервисов
• Прикупили пару новых мощных железяк
А что мы делаем теперь?
• Постепенно выпиливаем то, что осталось с
учётом опыта тех дней
• Немного поменяли приоритеты в вопросах
замены сервисов
• Прикупили пару новых мощных железяк
• Вкладываемся в SOA
А что мы сделаем, если повторится декабрь?
• Мы точно продержимся гораздо дольше
• Найдем новые узкие места
А что мы сделаем, если повторится декабрь?
• Мы точно продержимся гораздо дольше
• Найдем новые узкие места
• Придумаем, как их убрать и
А что мы сделаем, если повторится декабрь?
• Мы точно продержимся гораздо дольше
• Найдем новые узкие места
• Придумаем, как их убрать и
• Наверняка уберём
@dumtest
Роман
Ивлиев
Директор по
информационным
технологиям
Банки.ру
Спасибо!
Вопросы?
• 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 - анализ и визуализация логов