Перейти к основному содержимому

SLA Сплиттера

GetFeaturesByTag

ПараметрSLAСпособ вычисления
Время успешных ответов (99)6 msЗа значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени
Время успешных ответов (999)10 msЗа значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени
Пропускная способность100 krpmКоличество запросов в минуту (rpm), выполненных к сервису в установленный период времени (60 секунд)
Допустимый процент ошибок с кодами (499, 5**)0.1%Значение вычисляется как отношение количества запросов в минуту с ошибками к общему количеству запросов в минуту (RPM)
Доступность99%
Среднее время восстановления1 часНачиная с обнаружения момента проблемы
Среднее время между падениями1000 часовНачиная с момент исправления последнего падения

Возможно увеличить пропускную способность до 10 Mrpm.

ExposeManyV2

ПараметрSLAСпособ вычисления
Время успешных ответов (99)160 msЗа значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени
Время успешных ответов (999)100 msЗа значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени
Пропускная способность1 krpmКоличество запросов в минуту (rpm), выполненных к сервису в установленный период времени (60 секунд)
Допустимый процент ошибок с кодами (499, 5**)0.1%Значение вычисляется как отношение количества запросов в минуту с ошибками к общему количеству запросов в минуту (RPM)
Доступность99%
Среднее время восстановления1 часНачиная с обнаружения момента проблемы
Среднее время между падениями1000 часовНачиная с момент исправления последнего падения

Обработчик принимает пакеты событий экспоуза. Рекомендуемый размер пакета - 2000 событий.

Best practice

Задача проведения аб-теста может решаться в двух возможных окружениях:

  1. на стороне клиента, т.е. в мобильном приложении или фронтенде
  2. на стороне сервера, т.е. на бэкенде

Клиентский эксперимент

В клиентском эксперименте следует стремиться экономить сетевой трафик. Для этого ответ эндпоинта GetFeaturesByTag следует кэшировать на стороне клиента.

Обычно длительность эксперимента составляет от 2 недель. Кэшировать ответ эндпоинта можно на весь срок, так как в течении эксперимента группа пользователя в эксперименте не может изменяться.

Аналитическая система тоже предполагает, что группа пользователя не изменяется в процессе эксперимента. Для полезной информацией является то, в каких экспериментах принял участие пользователь в конкретный день. Из этого свойства следуют оптимизации использования эндпоинта ExposeManyV2:

  1. Точное время события не имеет значения, события экспоуза стоит отправлять пачками
  2. Достаточно отправлять пачку один раз в сутках
  3. Если в пачке собирается много одинаковых событий, можно оставить одно, а остальные удалить

Серверный эксперимент

Для серверного эксперимента применимы все оптимизации эндпоинта ExposeManyV2.

Для эндпоинта GetFeaturesByTag рекомендуется обратить внимание на поле tag в запросе.

Тэг предназначен для группировки экспериментов. Он позволяет получить все группы пользователя в экспериментах одним запросом.

Из этого следует следующая оптимизация - один сервис должен содержать только один тэг.