SLA Сплиттера#
GetFeaturesByTag#
Параметр | SLA | Способ вычисления |
---|---|---|
Время успешных ответов (99) | 6 ms | За значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени |
Время успешных ответов (999) | 10 ms | За значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени |
Пропускная способность | 100 krpm | Количество запросов в минуту (rpm), выполненных к сервису в установленный период времени (60 секунд) |
Допустимый процент ошибок с кодами (499, 5**) | 0.1% | Значение вычисляется как отношение количества запросов в минуту с ошибками к общему количеству запросов в минуту (RPM) |
Доступность | 99.9% | |
Среднее время восстановления | 1 час | Начиная с обнаружения момента проблемы |
Среднее время между падениями | 1000 часов | Начиная с момент исправления последнего падения |
Возможно увеличить пропускную способность до 10 Mrpm.
ExposeManyV2#
Параметр | SLA | Способ вычисления |
---|---|---|
Время успешных ответов (99) | 160 ms | За значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени |
Время успешных ответов (999) | 100 ms | За значение берется значение времени обработки запроса для перцентиля за 60 секундный отрезок времени |
Пропускная способность | 1 krpm | Количество запросов в минуту (rpm), выполненных к сервису в установленный период времени (60 секунд) |
Допустимый процент ошибок с кодами (499, 5**) | 0.1% | Значение вычисляется как отношение количества запросов в минуту с ошибками к общему количеству запросов в минуту (RPM) |
Доступность | 99.9% | |
Среднее время восстановления | 1 час | Начиная с обнаружения момента проблемы |
Среднее время между падениями | 1000 часов | Начиная с момент исправления последнего падения |
Обработчик принимает пакеты событий экспоуза. Рекомендуемый размер пакета - 2000 событий.
Best practice#
Задача проведения аб-теста может решаться в двух возможных окружениях: - на стороне клиента, т.е. в мобильном приложении или фронтенде - на стороне сервера, т.е. на бэкенде
Клиентский эксперимент#
В клиентском эксперименте следует стремиться экономить сетевой трафик. Для этого ответ эндпоинта GetFeaturesByTag следует кэшировать на стороне клиента. Обычно длительность эксперимента составляет от 2 недель. Кэшировать ответ эндпоинта можно на весь срок, так как в течении эксперимента группа пользователя в эксперименте не может изменяться.
Аналитическая система тоже предполагает, что группа пользователя не изменяется в процессе эксперимента. Для полезной информацией является то, в каких экспериментах принял участие пользователь в конкретный день. Из этого свойства следуют оптимизации использования эндпоинта ExposeManyV2: - Точное время события не имеет значения, события экспоуза стоит отправлять пачками - Достаточно отправлять пачку один раз в сутках - Если в пачке собирается много одинаковых событий, можно оставить одно, а остальные удалить
Серверный эксперимент#
Для серверного эксперимента применимы все оптимизации эндпоинта ExposeManyV2.
Для эндпоинта GetFeaturesByTag рекомендуется обратить внимание на поле tag в запросе. Тэг предназначен для группировки экспериментов. Он позволяет получить все группы пользователя в экспериментах одним запросом. Из этого следует следующая оптимизация - один сервис должен содержать только один тэг.