Какие метрики используются для измерения объема нагрузки в тестировании производительности?

Ответ

Объем нагрузки (load) в тестировании производительности измеряется несколькими ключевыми метриками:

  • Интенсивность запросов: Запросы в секунду (RPS/QPS) или транзакции в секунду (TPS).
  • Количество виртуальных пользователей (VU): Одновременно эмулируемых пользователей.
  • Пропускная способность (Throughput): Объем данных, передаваемых за единицу времени (например, Мбит/с).
  • Время отклика (Latency/Response Time): Задержка обработки одного запроса (часто измеряются перцентили, например, p95).

Пример целевых метрик для теста:

RPS: 500
VU: 1000
Latency (p95): < 200 мс
Throughput: ~50 Мбит/с

Эти метрики задаются в сценарии нагрузочного теста и затем сравниваются с фактическими результатами для оценки производительности системы.

Ответ 18+ 🔞

А, ну вот, опять про эту вашу нагрузку, блядь. Сидишь, слушаешь, а в голове одна мысль: "Ёпта, ну и нахуя мне это?" Но раз уж спросили, сейчас объясню, как есть, без соплей.

Смотри, представь себе бар в пятницу вечером. Вот это и есть нагрузка, сука. А мы тут пытаемся понять, когда у бармена крыша поедет и он начнёт лить виски в ухо посетителю вместо стакана.

Так вот, эта самая "нагрузка" — она на нескольких китах держится, как и всё пиздатое в этом мире.

Во-первых, интенсивность. Это сколько этих самых подвыпивших граждан в секунду орёт "Налей уже, блядь!". По-умному — запросов в секунду (RPS) или транзакций (TPS). Если их 500 в секунду — это уже не бар, а отделение полиции в новогоднюю ночь.

Во-вторых, толпа. Сколько их там, этих виртуальных алкашей, одновременно тусуется? Это VU — виртуальные пользователи. Тысяча человек в баре — это пиздец, паника и давка у туалета.

В-третьих, пропускная способность. Это сколько бухла бармен успевает перелить из бутылки в стаканы. Мегабиты в секунду, ёпта! Если система — тормоз, то будет как в том анекдоте: "Пиво закончилось, ждите следующую фуру".

И главное — задержка. Это сколько ты стоишь с протянутой рукой, пока тебе нальют. Время отклика, короче. И смотри, все умные смотрят не на среднее, а на перцентили, например p95. Это значит, что для 95% запросов задержка должна быть норм. А оставшиеся 5% — это те, кому не повезло, их можно послать нахуй, извините за выражение. Главное, чтобы система в целом не легла.

Вот смотри, как это выглядит в жизни, когда тестировщик, ебать его в сраку, план составляет:

RPS: 500          // Пятьсот орков в секунду "НАЛЕЙ!"
VU: 1000          // Тысяча гоблинов уже тут, толпятся
Latency (p95): < 200 мс // Ждать меньше двух десятых секунды — ещё терпимо
Throughput: ~50 Мбит/с // И чтобы бухло лилось рекой, а не каплями

Выставляешь эти цифры в своём софте для пыток (JMeter там, k6), запускаешь — и смотришь, выживет ли твой "бар" или разбегутся все клиенты, обоссавшись от смеха. Вот и вся магия, блядь. Ничего сложного, обычная жизнь, только в цифрах.