В рамках развития продукта MyTarget в компании VK был запущен единый рекламный кабинет. Это привело к серьезному росту нагрузки на backend-компонент, который отвечает за подбор рекламы, баннерный демон. На развитие сервиса также повлияли и аппаратные ограничения, как в части пополнения серверного парка, так и в части размещения новых аппаратных мощностей.
Перед баннерным демоном стоит ряд оптимизационных задач, решение которых позволяет не только сдерживать нагрузку, но и в полной мере с запасом утилизировать аппаратные ресурсы.
В рамках доклада будут разобраны подходы к решению нескольких блоков задач по оптимизации баннерного демона:
– Ускорение процесса запуска демона во время раскладки новых версий
– Определение групп трафика, отвечающих разным продуктовым требованиям
– Вынесение построения индекса по соцдем таргетингам в отдельный сервис
– Реализация поддержки кеширования запросов
Решение данных блоков задач позволило выдержать рост активных кампаний и сохранить показатели установленными в SLA, снизить потребление памяти на северах, а также уменьшить среднюю загрузку CPU на для высоконагруженных потоков обработки запросов