18
Shadow Fight 2: архитектура системы аналитики для миллиарда событий Вячеслав Никулин ведущий серверный разработчик

Shadow Fight 2: архитектура системы аналитики для миллиарда событий

Embed Size (px)

Citation preview

Shadow Fight 2: архитектура системы аналитики для миллиарда событий

Вячеслав Никулин

ведущий серверный разработчик

Shadow Fight 2 Stats

• > 50M игроков

• > 1 000 000 DAU

Типичные вопросы• Какова сложность босса Осы в версии 1.9.5?

• Какой FPS в 1ом турнирном бою 3го акта у

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

• Как повлияет на ARPU увеличение стоимости

апгрейдов платных предметов?

Elasticsearch

“search server based on Lucene

distributed, multitenant-capable

full-text search engine

RESTful web interface

schema-free JSON documents”

http://en.wikipedia.org/wiki/Elasticsearch

Elasticsearch

• > 20 релизов за последний год

• > $100M инвестиций

• №2 по популярности поисковый движок

Elastic platform

• Elasticsearch

• Shield

• Logstash

• Kibana

• Marvel

Marvel

Процессинг логов

Nginx + PHP

Logs on file system/2015-04-15/12//2015-04-15/13

Logstash Elasticsearch

iOS, Android, WP, ..

Проектирование событий

• Список событий

• Обязательные параметры

– build_version, reg_date, level …

• Дополнительные параметры

Фильтрация логов

• Каждый Nый

• Платящий

• High level

• Участник A\B теста

• Читеры

Разбиение по индексам

• User-based индексы

• Timestamp-based индексы

• logs-2015-01-01/fight_end, …

• старые индексы удаляем целиком

• Elasticsearch не поддерживает:

– джойны

– транзакции

– безопаность ( < 1.5.0)

• Маппинг нельзя изменить без переиндексации

• Если свободно < 10% памяти, тяжелый запрос может привести к OutOfMemoryError

Недостатки

Аналитика

• Баланс

• Воронки

• Технические проблемы

• Монетизация

• A/B тесты

Аналитика: пример

Количество боев выживания,

необходимых для прохождения:

• A: -25%, ARPU +15%

• В: -50%, ARPU +0%

• C: контрольная, ARPU +0%

Цифры

• Два сервера

– 500 GB SSD, 32 GB RAM

• 150-200 событий в секунду, в пике 8000

• Всего 1.3B событий, 160 GB

• Поиск 90% < 400мс

Команда

• В продакшн 2.5 человека за 2 месяца

• Сейчас занято 0.5 человека

Вопросы ? Вячеслав НикулинNekki

[email protected]