Hl++ Stats
Upcoming SlideShare
Loading in...5
×
 

Hl++ Stats

on

  • 599 views

 

Statistics

Views

Total Views
599
Views on SlideShare
571
Embed Views
28

Actions

Likes
0
Downloads
18
Comments
0

2 Embeds 28

http://www.highload.ru 15
http://highload.ru 13

Accessibility

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Hl++ Stats Hl++ Stats Presentation Transcript

    • Обработка статистики в системе управления баннерной рекламой Артём Вольфтруб
    • Общая архитектура системы Балансировщик нагрузки Балансировщик нагрузки Merchant …. Баннер сервера Портал Affiliate База Сервер обработки данных статистики 2
    • Размеры рекламной сети • Более 200 000 рекламных площадок • Более 20 000 рекламодателей • Более 450 000 000 регистрируемых событий ежедневно 3
    • Нагрузка на систему • 15 000 запросов к баннерным машинам в секунду • Около 500 запросов к порталу в секунду 4
    • ок 100 000 000 200 000 000 300 000 000 400 000 000 500 000 000 600 000 000 700 000 000 0 т. 0 ян 3 в. 0 ап 4 р. ию 0 4 л. 0 ок 4 т. 0 ян 4 в. 0 ап 5 р. ию 0 5 л. 0 ок 5 т. 0 ян 5 в. 0 ап 6 р. 0 ию 6 л. 0 ок 6 т. 0 ян 6 в. 0 ап 7 р. ию 0 7 л. 0 ок 7 т. 0 ян 7 в. 08 Число регистрируемых событий 5
    • • Распределение нагрузки – Балансирвка запросов с помощью аппаратного LB • Повышение отказоустойчивости – Взаимозаменяемость баннерных машин – Дублирование ключевых компонентов системы 6
    • Особенности бизнес модели • Качество сервиса определяется количеством участников • Отсутствует комиссия за показы • Площадки заинтересованы в эффективном размещении • Вовлёченность в процесс 7
    • Что регистрируем • Показы • Клики • Транзакции 8
    • ок т. 0 0% 20% 40% 60% 80% ян 3 в. 100% 0 ап 4 р. ию 04 л. 0 ок 4 т. 0 ян 4 в. 0 ап 5 р. ию 05 л. 0 ок 5 т. 0 ян 5 в. 0 ап 6 р. ию 06 л. 0 ок 6 т. 0 ян 6 в. 0 ап 7 р. ию 07 л. 0 ок 7 т. 0 ян 7 в. 08 Клики Транзакции Комиссия за клики и транзакции 9
    • Основные проблемы • Очень много данных • Очень мало времени на обработку • Система должна работать непрерывно 10
    • Способы уменьшения объема данных • Предварительная группировка • Проверка кликов 11
    • Способы ускорения обработки • Ускорение загрузки там, где это возможно • Задачи не должны блокировать друг друга • Запуск процессов по расписанию • Взаимосвязанность задач – это хорошо 12
    • Этапы обработки статистики • Загрузка логов с баннерных серверов • Предварительная группировка данных • Проверка кликов • Загрузка данных в БД • Расчет статистики 13
    • Проблемы базы данных • Гигантский объем таблиц с показами и кликами • Необходимо блокировать загрузку на время расчета статистики 14
    • Предварительное заполнение БД Триггеры Хранимые процедуры Pageviews Pageviews_stg Clicks Clicks_stg Stats_stg Transactions Transactions_stg 15
    • Денормализация данных Stats_stg Рекламные Рекламные кампании места Площадки Рекламодатели Баннеры Баннеры Статистика для Статистика для рекламодателей владельцев рекламных площадок 16
    • Отображение статистики Кэш приложения Merchant Front End База данных Affiliate Web Сервер 17
    • Почему мы кэшируем данные • Запросы часто повторяются • Статистика обновляется по расписанию. Если нет новых данных, зачем обращатся к БД? • Сортировка средствами БД работает медленнее 18
    • Контроль работоспособности • Остановка системы приводит к лавинообразному накоплению необработанной информации • Клиенты хотят видеть свои данные • Обработка статистики используется для биллинга 19
    • Основные индикаторы • Число необработанных файлов на сервере • Задержка загрузки файлов с баннер сервера • Задержка обработки статистики 20
    • Что мы контролируем • Баннерные сервера • Сервер обработки статистики • База данных 21
    • Как мы контролируем • Готовые решения для контроля на аппаратном уровне (Nagios) • Собственные разработки для контроля на уровне приложения 22
    • Как защититься от сбоев • Раньше знаешь, больше спишь • Проблему нужно предвидеть • С проблемой нужно научиться бороться 23
    • Вопросы? Email: artem@gramant.ru