Re: Как измерить пиковую нагрузку на API?
От: Anton Batenev Россия https://github.com/abbat
Дата: 30.08.23 16:38
Оценка: 12 (2)
Здравствуйте, Sergey J. A., Вы писали:

SJA> Как выбрать интервал? Может нужна какая-то другая метрика?


Если предполагается, что время ответа сервиса менее секунды (а это большинство веб-сервисов и, судя по "В моём случае это десятки миллисекунд", это твой случай), то обычно нагрузку измеряют в rps (запросов в секунду).

SJA> Есть логи в которых логируется окончание запроса и его длительность.


* Грубо можно посчитать пиковый rps взяв число запросов из логов за сутки из пропорции 1 млн запросов = 100 rps.
* Если есть логи, то можешь округлить время окончания запроса до секунды и посчитать максимум после группировки по времени.
* Если совсем хочется "упороться", то можешь вычитать из времени окончания запроса длительность и группировать по точкам старта, но значения не должны сильно разойтись с предыдущим способом подсчета, так что я бы не стал так заморачиваться.

Логи желательно взять за неделю или более, т.к. в разные дни будут разные пики (обычно они хорошо коррелируют с днем недели).

SJA> Приведу пример, чтоб было понятнее. Пусть у нас есть 1 запрос в течении часа. Какая нагрузка?


Для времени обработки запроса за десятки миллисекунд это нагрузка 0 ("ноль rps") — т.е. настолько маленькая, что для сервиса на фоне потока запросов от других клиентов будет неразличима и ей можно пренебречь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.