Число запросов на показ рекламы и число рекламных кампаний постоянно растет. Начиная с 2013 года, мы наблюдаем рост этих показателей в десятки раз.
Так как нагрузка на нашу систему пропорциональна произведению этих чисел, такой рост создает для нас множество сложных и интересных задач.
Некоторые из этих задач, про которые расскажем:
- Как из тысяч рекламных материалов выбрать наиболее релевантный для пользователя и делать это 100 000 раз в секунду?
- Как реализовать таргетирование рекламных кампаний так, чтобы общая производительность почти не зависела от общего количества этих кампаний?
- Как эффективно запрашивать данные из внешних сервисов, когда таких запросов надо делать миллионы раз в секунду?
- Как оставаться в рамках 50 мс на ответ даже в моменты пиковой нагрузки, в разы превышающей нормальную?
- Как измерять и мониторить нагруженность в разрезе по потокам и автоматически реагировать на перегрузки?
- Как сразу видеть эффект от оптимизации или негативное влияние новой функциональности на нагрузку?
Similar a Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmatic-платформа Exebid.DCA изнутри / Павел Бейзман (Data-Centric Alliance)
Как я написала платформу, взаимодействующую более чем с 15 странами по всему ...Mail.ru Group
Similar a Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmatic-платформа Exebid.DCA изнутри / Павел Бейзман (Data-Centric Alliance) (20)
Как 100 000 раз в секунду выбирать правильный рекламный материал? Programmatic-платформа Exebid.DCA изнутри / Павел Бейзман (Data-Centric Alliance)
1. Как 100 000 раз в секунду выбирать
правильный рекламный материал?
Programmatic-платформа Exebid.DCA изнутри
Павел Бейзман
Data-Centric Alliance
Архитектор высоконагруженных систем
13. Таргетинги: наивная реализация
● Проверяем по очереди каждую кампанию и каждый
таргетинг
● Линейная зависимость от количества кампаний
14. Таргетинги: наивная реализация
● Проверяем по очереди каждую кампанию и каждый
таргетинг
● Линейная зависимость от количества кампаний
● Деградация производительности
52. Выводы
● Полезно знать алгоритмы ( http://e-maxx.ru/ )
● Используйте особенности своих данных
53. Выводы
● Полезно знать алгоритмы ( http://e-maxx.ru/ )
● Используйте особенности своих данных
● Latency vs throughput: найдите баланс
54. Выводы
● Полезно знать алгоритмы ( http://e-maxx.ru/ )
● Используйте особенности своих данных
● Latency vs throughput: найдите баланс
● Мониторинг внутренностей системы полезен
55. Выводы
● Полезно знать алгоритмы ( http://e-maxx.ru/ )
● Используйте особенности своих данных
● Latency vs throughput: найдите баланс
● Мониторинг внутренностей системы полезен
● Не допускайте перегрузок