Tps report что это

Улучшение сетевой безопасности с помощью Content Security Policy

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Content Security Policy (CSP, политика защиты контента) — это механизм обеспечения безопасности, с помощью которого можно защищаться от атак с внедрением контента, например, межсайтового скриптинга (XSS, cross site scripting). CSP описывает безопасные источники загрузки ресурсов, устанавливает правила использования встроенных стилей, скриптов, а также динамической оценки JavaScript — например, с помощью eval. Загрузка с ресурсов, не входящих в «белый список», блокируется.

Принцип действия

CSP сейчас является кандидатом в рекомендации консорциума W3C. Для использования политики страница должна содержать HTTP-заголовок Content-Security-Policy с одной и более директивами, которые представляют собой «белые списки». В версии 1.0 поддерживаются следующие директивы:

Для всех директив действуют следующие правила:

Content-Security-Policy: default-src ‘self’;

Попытка загрузки ресурсов из иных доменов будут пресекаться браузером с выдачей уведомления в консоли:

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

По умолчанию CSP ограничивает исполнение JavaScript путём запрета встроенных скриптов и динамической оценки кода. В комбинации с «белыми списками» это позволяет предотвращать атаки с внедрением контента. Например, XSS-атаку с внедрением тэга инлайн-скрипта:

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Загрузка внешних скриптов, которые не включены в CSP, также будет пресечена:

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

На данный момент в перечне URL нельзя прописывать пути ( http://cdn.example.com/path ), можно лишь перечислять сами домены ( http://cdn.example.com ). Зато поддерживаются символы подстановки, так что вы можете описать сразу все поддомены ( http://*.example.com ).

Поддержка браузерами

Получение отчётов о нарушениях CSP

Допустим, у нас есть такая CSP:

Это означает, что браузер может загружать ресурсы только с нашего собственного домена. Но нам нужно использовать сервис Google Analytics, который будет пытаться скачивать JavaScript с www.google-analytics.com. А это уже нарушение нашей CSP. В этом случае report-uri отправит запрос со следующим JSON:

Content-Security-Policy-Report-Only

Прописывание заголовка

HTTP-заголовок можно прописать прямо в конфигурационных файлах на сервере:

Также многие языки программирования и фреймворки позволяют добавлять заголовки программно (например, PHP, Node.js):

CSP в дикой природе

Давайте посмотрим, как CSP внедрён в Facebook:

А теперь вариант Twitter:

CSP Level 2

Также является кандидатом в рекомендации. В CSP Level 2 сделаны следующий нововведения:

Nonce — это генерируемая случайным образом на сервере строковая переменная. Она добавляется в CSP-заголовок:

и в тэг инлайн-скрипта:

Пример хэша, сгенерированного из строковой console.log(‘Hello, SitePoint’); с помощью алгоритма Sha256 (base64).

Во время рендеринга страницы браузер для каждого инлайн-скрипта вычисляет хэши и сравнивает с перечисленными в CSP. Приведённый выше хэш позволяет выполнить скрипт:

Источник

Анализ результатов нагрузочного тестирования

С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать.
Основная задача инструмента нагрузочного тестирования — подать заданную нагрузку на систему. Но кроме этого есть еще одна, не менее важная задача — предоставить отчет о результатах подачи этой нагрузки. Иначе мы проведем тестирование, но ничего не сможем сказать о его результате и не сможем достаточно точно определить, с какого момента началась деградация системы.

В настоящий момент наиболее популярными инструментами тестирования являются Gatling, MF LoadRunner, Apache JMeter. Все они обладают возможностями как генерации готовых отчетов по проведенному тестированию, так и отдельных графиков или сырых данных, на основе которых строится уже сам отчет.

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Прежде чем писать любой отчет, нужно понять, для кого мы его пишем и какую цель преследуем. Нет никакого смысла добавлять множество графиков времени отклика приложения в отчет по каждой операции, если ваша цель — определить, есть ли утечки памяти, зафиксирована ли нестабильная работа во время теста надежности, или если вам нужно сравнить два релиза между собой в рамках регрессионного тестирования. Для ответа на эти вопросы вам хватит всего пары графиков, если, конечно, вы не зафиксировали проблемы и не хотите в них разобраться. Поэтому, прежде чем создавать отчет, подумайте, а точно ли вам нужно добавить все графики в него или лишь наиболее показательные и дающие ответ на цель тестирования. Также набор графиков и их анализ для отчета зависят от выбранной модели нагрузки — закрытой или открытой, так как разные модели дадут разные фигуры на графиках.

Мы в Тинькофф активно используем инструмент Gatling, поэтому на его примере расскажем, как создать отчет вашей мечты и куда следует смотреть при его анализе. Также сразу хочу заметить, что почти все графики, описанные в статье, можно получать в режиме онлайн с помощью связки вашего инструмента с Grafana. Это наиболее удобный инструмент для создания отчетов «на лету», с помощью сконфигурированного заранее дашборда. Более того, это позволяет более быстро создать почти любой график на основе отправленных вами данных. Уже сейчас есть готовые дашборды почти для всех инструментов нагрузочного тестирования. Графики для других инструментов — MF LoadRunner и Apache JMeter — тоже будут приведены, их анализ строится по аналогии с Gatling.

Основные метрики

Индикаторы

Показывают количественное и процентное распределение времени отклика запросов по группам. Графики этого типа удобно использовать, чтобы дать быструю предварительную оценку результатам тестирования без более глубокого анализа остальных графиков.

Пороги для перехода из группы в группу задаются заранее на основе экспертной оценки или SLA (нефункциональных требований). Например, может быть три группы:

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Метод APDEX позволяет использовать индикаторы в регрессионном тестировании для сравнения релизов: так сразу видно, насколько хуже или лучше стал релиз в общем. К сожалению, этого графика нет из коробки в MF LoadRunner и Apache JMeter, но его легко создать с помощью дашборда Grafana.

Таблица с временем отклика

По умолчанию Gatling строит таблицу по перцентилям, среднему и максимальному времени отклика, а также по ошибкам. По ней отслеживается выход за пределы SLA (превышение нефункциональных требований). Обычно в SLA указывают перцентили 95, 99 и процент ошибок. Таким образом таблица позволяет получить быструю оценку результатов тестирования.

Если группировать запросы в виде транзакций, можно увидеть в таблице как оценку отдельных запросов, так и оценку всей группы и транзакции сразу.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
MF LoadRunner также создает таблицу сам в блоке Analysis Summary Report и называется Transaction SummaryTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter эти данные можно найти в Aggregate ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

График Virtual Users

Обычно измеряется в штуках и показывает, как пользователи заходят в приложение, тем самым иллюстрируя реальный профиль нагрузки. Стоит сразу оговориться, что для MF LoadRunner и Gatling эти графики показывают количество Virtual Users, а для Apache JMeter — количество Thread.

График используют для контроля правильности подачи нагрузки. Необходимо, чтобы ваш расчетный сценарий соответствовал тому, что вы подали на систему в реальности. Например, если вы видите на графике большие отклонения от планируемого сценария в верхнюю сторону, значит, что-то пошло не так: ошибка в расчете, запущено больше, чем нужно, копий инструмента нагрузки и так далее. Возможно, дальнейшие графики уже нет смысла анализировать, так как вы подали на 100 пользователей больше, чем планировали, а система изначально проектировалась для работы лишь 10 пользователей.
Этот график разделяется на два вида:

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner этот график называется Running VusersTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter график называется Active Threads Over Time и не входит в стандартную поставку, но его можно бесплатно скачать на сайте JMeter-Plugins.orgTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

График Response Time

Чаще всего измеряется в миллисекундах — показывает время ответа на запросы к приложению. Время отклика не должно превышать SLA. Этот график является основным инструментом для поиска точек деградации при проведении нагрузочного тестирования.

Если на графике видны пики, значит, в этот момент приложение не отвечало по какой-то причине — это может являться отправной точкой для дальнейших исследований. Время отклика должно быть равномерным, без пиков для всех операций на протяжении всей ступени нагрузки, а также коррелировать с увлечением нагрузки. Gatling не содержит график «чистого» (среднего, не агрегированного) времени отклика, в отличие от других инструментов.

Кроме графика времени ответа каждого запроса удобно показывать также линию с суммарным временем ответа (Total Response Time). Если наложить график подаваемой нагрузки (VU/RPS), можно отслеживать корреляцию с увеличением времени отклика от увеличения подаваемой нагрузки (VU/RPS). В Apache JMeter этот график называется Response Times vs Threads.

Далее пойдут графики, на которых может быть множество линий, каждая из которых отображает свой сценарий или запрос. Если у вас сложный тест со множеством операций и нелинейным профилем, советуем отражать в отчете лишь наиболее показательные запросы или группы запросов. Как вариант, можно отражать лишь запросы, превысившие SLA/SLO, чтобы не засорять график и отчет.

В MF LoadRunner график называется Average Transaction Response Time и показывает среднее время для транзакцийTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для Apache JMeter график существует в двух вариантах в расширенном пакете с сайта JMeter-Plugins.org и называется Response Times Over Time и, по умолчанию, Response Time Graph. Более наглядный и удобный, на мой взгляд, — первый вариантTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Вариации графика

Возможна модификация, в которой применяются перцентили времени отклика и добавляется линия среднего времени отклика по всем запросам. Использование перцентилей здесь будет более правильным решением, так как среднее время отклика очень чувствительно к резким выбросам.

В тестировании производительности чаще всего используется 95 и 99 перцентиль для большей наглядности. Однако, если вы все же смотрите среднее время отклика, вам стоит учитывать при этом стандартное (среднеквадратичное) отклонение.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для MF LoadRunner график будет называться Transaction Response Time (Percentile)Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Также вы можете получить и перцентили для Apache JMeter с помощью графика Response Times Percentiles из этого же расширенного набораTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Распределение Response Time

Также есть прекрасные графики, показывающие зависимость распределения времени от количества запросов.

Этот вид графиков чем-то напоминает индикаторы, но показывает более полную картину распределения времени, без обрезки перцентилями или другими агрегатами. С помощью графика можно более наглядно определить границы для групп индикаторов. У MF LoadRunner такого графика нет.

HTML Gatling Report для каждого запросаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Есть еще один вариант распределения времени выполнения запроса от количества запросов в разрезе успешных и ошибочных запросов для всего тестаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для MF LoadRunner данный график будет называться Transaction Response Time (Distribution) и показывать распределение для транзакцийTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter тоже есть этот график в расширенном пакете и называется Response Times DistributionTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Latency

В Apache JMeter этот график присутствует лишь в расширенном наборе и называется Response Latencies Over TimeTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Bandwidth

Аналогично метрике выше можно выделить параметр Bandwidth (килобит в секунду) — ширину пропускания канала. Он показывает, какой максимальный объем данных может быть передан за единицу времени.

Изменяя этот параметр на инструменте нагрузки можно моделировать различные источники подключений к приложению: мобильная связь 4G или проводная сеть. В бесплатной версии Gatling этого графика нет, он есть лишь в платной версии Gatling FrontLine. Этот график из коробки есть лишь в MF LoadRunner, находится в том же блоке, что и Latency, и называется Average Bandwidth Utilization Graph.

График Request Per Second

Измеряется в штуках в секунду — показывает количество запросов, поступающее в систему за 1 секунду.

График показывает, сколько запросов может выдержать ваша система под нагрузкой, и он является также основным графиком для построения отчета. По нему также отслеживается выход за пределы SLA, так как с ростом нагрузки при прохождении точки деградации или локальных экстремумов может наблюдаться провал, а затем резкий рост. Чаще всего это связано с тем, что, когда приложение начинает деградировать, запросы тоже начинают копиться на входе в приложение (появляется очередь), затем приложение выдает им какой-то ответ или запросы падают по тайм-ауту, что вызывает резкий рост на графике — ведь получен ответ.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner график называется Hits per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для Apache JMeter существует график Hits per Second из расширенного пакетаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Измеряется в штуках в секунду и показывает количество транзакций (в рамках транзакции может быть множество запросов) за 1 секунду.

Например, транзакция «вход в личный кабинет» включает следующие запросы: открытие главной страницы, ввод логина, пароля, нажатие кнопки «отправить», переадресацию на приветственную страницу — в единицу времени. В Gatling график можно получить лишь с помощью применения Grafana, так как для групп в HTML-отчёте строятся графики лишь по времени отклика.

MF LoadRunner — Transactions per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для расширенного пакета Apache JMeter — Transactions per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

График Errors

Обычно измеряется в rate (штук в секунду) — график показывает рост количества ошибочных запросов. Также удобно измерять значение в процентах от общего числа запросов. По этому графику отслеживается выход за пределы SLA по количеству или проценту ошибок.

Если наложить график Response Time, можно увидеть, как увеличение ошибок влияет на рост времени ответа приложения.

Gatling по умолчанию не имеет отдельного графика, отображающего лишь ошибки. В Gatling он совмещен с графиком VU и сразу показывает, как рост нагрузки сказывается на росте числа ошибок, и помогает обнаружить порог, с которого идет превышение SLA или вообще появляются ошибки. В Apache JMeter также нет отдельного графика, он совмещен с графиками количества транзакций.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner этот график называется Errors per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

HTTP responses status

Возможно также выводить на график распределения количества ошибок по кодам ответа приложения — удобно использовать для классификации ошибок.

Источник

Tps report что это

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Что пишут в блогах

Привет! В блоге появляется мало новостей, потому что все переехало в telegram.

Стоимость в цвете — 2500 рублей самовывозом (доставка еще 500-600 рублей, информация по ней будет чуть позже)

Заказать — https://shop.testbase.ru/buy/book. Пока самовывоз (см ниже где и когда!!). С почтой разберемся чуть позже.

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Онлайн-тренинги

Что пишут в блогах (EN)

Разделы портала

Про инструменты

С каждым днем в мире становится все больше и больше инструментов для проведения нагрузочного тестирования. Собственно, и сам интерес к этой теме начинает возрастать.

Основная задача инструмента нагрузочного тестирования — подать заданную нагрузку на систему. Но кроме этого есть еще одна, не менее важная задача — предоставить отчет о результатах подачи этой нагрузки. Иначе мы проведем тестирование, но ничего не сможем сказать о его результате и не сможем достаточно точно определить, с какого момента началась деградация системы.

В настоящий момент наиболее популярными инструментами тестирования являются Gatling, MF LoadRunner, Apache JMeter. Все они обладают возможностями как генерации готовых отчетов по проведенному тестированию, так и отдельных графиков или сырых данных, на основе которых строится уже сам отчет.

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Прежде чем писать любой отчет, нужно понять, для кого мы его пишем и какую цель преследуем. Нет никакого смысла добавлять множество графиков времени отклика приложения в отчет по каждой операции, если ваша цель — определить, есть ли утечки памяти, зафиксирована ли нестабильная работа во время теста надежности, или если вам нужно сравнить два релиза между собой в рамках регрессионного тестирования. Для ответа на эти вопросы вам хватит всего пары графиков, если, конечно, вы не зафиксировали проблемы и не хотите в них разобраться. Поэтому, прежде чем создавать отчет, подумайте, а точно ли вам нужно добавить все графики в него или лишь наиболее показательные и дающие ответ на цель тестирования. Также набор графиков и их анализ для отчета зависят от выбранной модели нагрузки — закрытой или открытой, так как разные модели дадут разные фигуры на графиках.

Мы в Тинькофф активно используем инструмент Gatling, поэтому на его примере расскажем, как создать отчет вашей мечты и куда следует смотреть при его анализе. Также сразу хочу заметить, что почти все графики, описанные в статье, можно получать в режиме онлайн с помощью связки вашего инструмента с Grafana. Это наиболее удобный инструмент для создания отчетов «на лету», с помощью сконфигурированного заранее дашборда. Более того, это позволяет более быстро создать почти любой график на основе отправленных вами данных. Уже сейчас есть готовые дашборды почти для всех инструментов нагрузочного тестирования. Графики для других инструментов — MF LoadRunner и Apache JMeter — тоже будут приведены, их анализ строится по аналогии с Gatling.

Основные метрики

Индикаторы

Показывают количественное и процентное распределение времени отклика запросов по группам. Графики этого типа удобно использовать, чтобы дать быструю предварительную оценку результатам тестирования без более глубокого анализа остальных графиков.

Пороги для перехода из группы в группу задаются заранее на основе экспертной оценки или SLA (нефункциональных требований). Например, может быть три группы:

В Gatling вы сами можете настроить пороги для перехода из группы в группу и их количество в файле gatling.conf. Графики такого типа лучше строить на основе методики. APDEX (Application Performance Index)
Также можно добавить индикатор с количеством/процентами ошибочных запросов.

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Метод APDEX позволяет использовать индикаторы в регрессионном тестировании для сравнения релизов: так сразу видно, насколько хуже или лучше стал релиз в общем. К сожалению, этого графика нет из коробки в MF LoadRunner и Apache JMeter, но его легко создать с помощью дашборда Grafana.

Таблица с временем отклика

По умолчанию Gatling строит таблицу по перцентилям, среднему и максимальному времени отклика, а также по ошибкам. По ней отслеживается выход за пределы SLA (превышение нефункциональных требований). Обычно в SLA указывают перцентили 95, 99 и процент ошибок. Таким образом таблица позволяет получить быструю оценку результатов тестирования.

Если группировать запросы в виде транзакций, можно увидеть в таблице как оценку отдельных запросов, так и оценку всей группы и транзакции сразу.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
MF LoadRunner также создает таблицу сам в блоке Analysis Summary Report и называется Transaction SummaryTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter эти данные можно найти в Aggregate ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

График Virtual Users

Обычно измеряется в штуках и показывает, как пользователи заходят в приложение, тем самым иллюстрируя реальный профиль нагрузки. Стоит сразу оговориться, что для MF LoadRunner и Gatling эти графики показывают количество Virtual Users, а для Apache JMeter — количество Thread.

График используют для контроля правильности подачи нагрузки. Необходимо, чтобы ваш расчетный сценарий соответствовал тому, что вы подали на систему в реальности. Например, если вы видите на графике большие отклонения от планируемого сценария в верхнюю сторону, значит, что-то пошло не так: ошибка в расчете, запущено больше, чем нужно, копий инструмента нагрузки и так далее. Возможно, дальнейшие графики уже нет смысла анализировать, так как вы подали на 100 пользователей больше, чем планировали, а система изначально проектировалась для работы лишь 10 пользователей.
Этот график разделяется на два вида:

Вид графика также зависит от модели нагрузки:

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner этот график называется Running VusersTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter график называется Active Threads Over Time и не входит в стандартную поставку, но его можно бесплатно скачать на сайте JMeter-Plugins.orgTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

График Response Time

Чаще всего измеряется в миллисекундах — показывает время ответа на запросы к приложению. Время отклика не должно превышать SLA. Этот график является основным инструментом для поиска точек деградации при проведении нагрузочного тестирования.

Если на графике видны пики, значит, в этот момент приложение не отвечало по какой-то причине — это может являться отправной точкой для дальнейших исследований. Время отклика должно быть равномерным, без пиков для всех операций на протяжении всей ступени нагрузки, а также коррелировать с увлечением нагрузки. Gatling не содержит график «чистого» (среднего, не агрегированного) времени отклика, в отличие от других инструментов.

Кроме графика времени ответа каждого запроса удобно показывать также линию с суммарным временем ответа (Total Response Time). Если наложить график подаваемой нагрузки (VU/RPS), можно отслеживать корреляцию с увеличением времени отклика от увеличения подаваемой нагрузки (VU/RPS). В Apache JMeter этот график называется Response Times vs Threads.

Далее пойдут графики, на которых может быть множество линий, каждая из которых отображает свой сценарий или запрос. Если у вас сложный тест со множеством операций и нелинейным профилем, советуем отражать в отчете лишь наиболее показательные запросы или группы запросов. Как вариант, можно отражать лишь запросы, превысившие SLA/SLO, чтобы не засорять график и отчет.

В MF LoadRunner график называется Average Transaction Response Time и показывает среднее время для транзакцийTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для Apache JMeter график существует в двух вариантах в расширенном пакете с сайта JMeter-Plugins.org и называется Response Times Over Time и, по умолчанию, Response Time Graph. Более наглядный и удобный, на мой взгляд, — первый вариантTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Вариации графика

Возможна модификация, в которой применяются перцентили времени отклика и добавляется линия среднего времени отклика по всем запросам. Использование перцентилей здесь будет более правильным решением, так как среднее время отклика очень чувствительно к резким выбросам.

В тестировании производительности чаще всего используется 95 и 99 перцентиль для большей наглядности. Однако, если вы все же смотрите среднее время отклика, вам стоит учитывать при этом стандартное (среднеквадратичное) отклонение.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для MF LoadRunner график будет называться Transaction Response Time (Percentile)Tps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Также вы можете получить и перцентили для Apache JMeter с помощью графика Response Times Percentiles из этого же расширенного набораTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Распределение Response Time

Также есть прекрасные графики, показывающие зависимость распределения времени от количества запросов.

Этот вид графиков чем-то напоминает индикаторы, но показывает более полную картину распределения времени, без обрезки перцентилями или другими агрегатами. С помощью графика можно более наглядно определить границы для групп индикаторов. У MF LoadRunner такого графика нет.

HTML Gatling Report для каждого запросаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Есть еще один вариант распределения времени выполнения запроса от количества запросов в разрезе успешных и ошибочных запросов для всего тестаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для MF LoadRunner данный график будет называться Transaction Response Time (Distribution) и показывать распределение для транзакцийTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter тоже есть этот график в расширенном пакете и называется Response Times DistributionTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Из этой метрики также можно выделить дополнительный параметр Latency (миллисекунды) — время задержки (чаще всего под этим понимают Network Latency). Этот параметр показывает время между окончанием отправки запроса до получения первого ответного пакета от системы.
С помощью этого параметра можно измерять также задержки на сетевом уровне, если параметр будет расти. Желательно, чтобы он стремился к нулю. Этот и следующий тип графиков в основном используются при глубоком анализе и поиске проблем производительности. Этого графика из коробки нет в Gatling. В MF LoadRunner этот график называется Average Latency Graph в блоке Network Virtualization Graphs если у вас установленные агенты мониторинга.

В Apache JMeter этот график присутствует лишь в расширенном наборе и называется Response Latencies Over TimeTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Аналогично метрике выше можно выделить параметр Bandwidth (килобит в секунду) — ширину пропускания канала. Он показывает, какой максимальный объем данных может быть передан за единицу времени.

Изменяя этот параметр на инструменте нагрузки можно моделировать различные источники подключений к приложению: мобильная связь 4G или проводная сеть. В бесплатной версии Gatling этого графика нет, он есть лишь в платной версии Gatling FrontLine. Этот график из коробки есть лишь в MF LoadRunner, находится в том же блоке, что и Latency, и называется Average Bandwidth Utilization Graph.

График Request Per Second

Измеряется в штуках в секунду — показывает количество запросов, поступающее в систему за 1 секунду.

График показывает, сколько запросов может выдержать ваша система под нагрузкой, и он является также основным графиком для построения отчета. По нему также отслеживается выход за пределы SLA, так как с ростом нагрузки при прохождении точки деградации или локальных экстремумов может наблюдаться провал, а затем резкий рост. Чаще всего это связано с тем, что, когда приложение начинает деградировать, запросы тоже начинают копиться на входе в приложение (появляется очередь), затем приложение выдает им какой-то ответ или запросы падают по тайм-ауту, что вызывает резкий рост на графике — ведь получен ответ.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner график называется Hits per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для Apache JMeter существует график Hits per Second из расширенного пакетаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Измеряется в штуках в секунду и показывает количество транзакций (в рамках транзакции может быть множество запросов) за 1 секунду.

Например, транзакция «вход в личный кабинет» включает следующие запросы: открытие главной страницы, ввод логина, пароля, нажатие кнопки «отправить», переадресацию на приветственную страницу — в единицу времени. В Gatling график можно получить лишь с помощью применения Grafana, так как для групп в HTML-отчёте строятся графики лишь по времени отклика.

MF LoadRunner — Transactions per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
Для расширенного пакета Apache JMeter — Transactions per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Обычно измеряется в rate (штук в секунду) — график показывает рост количества ошибочных запросов. Также удобно измерять значение в процентах от общего числа запросов. По этому графику отслеживается выход за пределы SLA по количеству или проценту ошибок.

Если наложить график Response Time, можно увидеть, как увеличение ошибок влияет на рост времени ответа приложения.

Gatling по умолчанию не имеет отдельного графика, отображающего лишь ошибки. В Gatling он совмещен с графиком VU и сразу показывает, как рост нагрузки сказывается на росте числа ошибок, и помогает обнаружить порог, с которого идет превышение SLA или вообще появляются ошибки. В Apache JMeter также нет отдельного графика, он совмещен с графиками количества транзакций.

HTML Gatling ReportTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В MF LoadRunner этот график называется Errors per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

HTTP responses status

Возможно также выводить на график распределения количества ошибок по кодам ответа приложения — удобно использовать для классификации ошибок.

Например, если на предыдущем графике вы получили 100%, вы начинаете анализировать, а какие именно 50x ошибки из-за того, что сервер не отвечает, или 403 из-за того, что неверный пул и пользователи не могу авторизоваться, если, например, вы используете HTTP-протокол.
Изначально в бесплатной версии Gatling этого графика нет, он есть лишь в платной версии Gatling FrontLine. Чтобы график появился в бесплатной версии, необходимо перенастроить logback.xml так, чтобы логи собирались в graylog, и уже в нем строить нужный график.

В MF LoadRunner этот график называется HTTP Responses per SecondTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter этот график называется Response Codes per Second из расширенного пакетаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Измеряется обычно в битах в секунду. График показывает пропускную способность приложения, а именно какой объем данных был отправлен и обработан приложением в единицу времени.
Обычно его используют для глубокого анализа проблемы приложений. В Gatling этот график содержится лишь в FrontLine, в бесплатной версии его нет.

Этот график есть из коробки в MF LoadRunner, он называется ThroughputTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это
В Apache JMeter график называется Bytes Throughput Over Time из расширенного пакетаTps report что это. Смотреть фото Tps report что это. Смотреть картинку Tps report что это. Картинка про Tps report что это. Фото Tps report что это

Большинство графиков можно получить, используя отчет HTML Based Gatling Reports после теста или же настроив связку мониторинга Graphite-InfluxDB-Grafana. Для отображения можно использовать готовый дашборд из библиотеки дашбордов https://grafana.com/grafana/dashboards/9935.

При анализе и составлении своих дашбордов для Gatling следует учитывать, что результаты в InfluxDB хранятся агрегированные и подходят только для предварительной оценки результатов НТ. Рекомендуется после теста повторно загрузить simulation.log в базу данных и уже по нему строить итоговый отчет и выполнять поиск проблем производительности системы.

Матричное описание метрик

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *