Провели нагрузочное тестирование.
Единственный значимый результат - требуемый RPS не достигнут. Но что с этим делать - непонятно, единственное что видно из записанных метрик - что запросы выполняются не с той интенсивностью, с которой нам хочется, но во что уперлись - неясно, ибо замеряются только запросы целиком, без внутренних деталей.
Грусть и печаль.
Структура сервиса проста - входящий ендпойнт (их там три, но они однотипные), который анализирует запрос и раскидывает его части по десятку адаптеров к внешним системам. Каждый адаптер транслирует свою часть запроса в свою систему, обрабатывает ответ от неё и представляет его в каноническом виде. Сервис собирает вместе полученные ответы и возвращает наружу.
Планирую добавить метрики для мониторинга времени выполнения внешних запросов (это первый кандидат на тормоза), задумался как лучше - сделать отдельные метрики для каждого сервиса или обобщенную метрику вида "время выполнения внешнего запроса", которую разметить тегами систем, к которым идет обращение.
Второй вариант кажется предпочтительнее, ибо не нужно будет сочинять отдельный дашборд под каждую интеграцию, можно будет обойтись фильтрами. С другой стороны, есть опасение, что будет не очень удобно пользоваться из-за излишнего обобщения.
Ваше мнение?
Post #15
135