У
avg сложилась не лучшая репутация:* чувствителен к выбросам
* скрывает хвосты
* врёт на мультимодальных распределениях и т.д.
И всё это правда.
Но с одной оговоркой: если производительность не одно число, а распределение, то любой показатель неизбежно упрощает его, а значит может как откровенно врать, так и более-менее честно описывать действительность.
То есть все зависит от задачи, которую требуется решить, от контекста.
———
Всем нам нравятся перцентили. Но попробуйте прикинуть с их помощью
throughput системы или ёмкость очереди. Вряд ли выйдет (кстати, почему?). А вот
среднее тут будет к месту. И наоборот:
среднее ничего не скажет про то, как себя чувствует худший по latency 1% запросов.Чтобы не ошибаться в оценках, сначала стоит сформулировать вопрос, а только потом подбирать под него инструмент.
Если речь про
средние и перцентили, упрощённо можем разложить так:* сколько всего / хватит ли ёмкости? Это про сумму, то есть про среднее
* насколько плохо бывает? Тут про хвосты, то есть про перцентили
———
В итоге, чем лучше понимаем ограничения каждого инструмента, тем меньше обманываем и себя, и окружающих.