Нагрузочное Тестирование На Гатлинге

Статья публикуется от имени Алексея Перфильева.

акааксель

Нагрузочное тестирование на Гатлинге

Гатлинг это платформа для выполнения нагрузочного тестирования.

Он основан на трех технологиях: Scala, Akka и Netty. В этой статье мы:

Давайте посмотрим, как установить и начать использовать Gatling. Давайте посмотрим на синтаксис гатлинг-скриптов в Scala. Напишем небольшой тест, где воспользуемся основными функциями Гатлинга.

Давайте запустим тестовый скрипт с помощью sbt и сохраним отчет.

Почему Гатлинг

Большинство специалистов используют Jmeter для загрузки — до тех пор, пока им не понадобится загружать сокеты.

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

Gatling стал хорошей заменой: он содержит API загрузки сокетов и может без сбоев обрабатывать до 5000 открытых соединений.

Когда мы познакомились с Gatling — его синтаксисом и возможностями — мы начали переносить все скрипты из Jmeter в Gatling.

Подготовка к работе с Гатлингом

Установить Scala SDK и SBT создавать скрипты и запускать их в IDE — например, в IntelliJ IDEA с поддержкой проектов SBT. Структура проекта:

Нагрузочное тестирование на Гатлинге

Скрипт помещен в /источник/тест/скала/ .

Чтобы запустить симуляцию из sbt, добавьте строку в плагины.

sbt:

  
  
  
   

addSbtPlugin("io.gatling" % "gatling-sbt" % "2.2.0")

В build.sbt добавляем:

enablePlugins(GatlingPlugin) libraryDependencies += "io.gatling.highcharts" % "gatling-charts-highcharts" % "2.2.2" % "test" libraryDependencies += "io.gatling" % "gatling-test-framework" % "2.2.2" % "test"

Идея даст ошибка в строке EnablePlugins(GatlingPlugin) но это проблема IDE. Теперь мы готовы разработать сценарий загрузки.



Синтаксис

Любой гатлинг-скрипт состоит из двух частей: конфигурации и самого профиля.



Конфигурация:

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

val users = ssv(fileName).

circular

ssv (значения, разделенные точкой с запятой) - формат файла.

Оно не обязательно должно совпадать с расширением файла.

В документации Вы можете увидеть другие поддерживаемые форматы файлов.

имя файла — строка с абсолютным именем файла ( C:\data\users.csv ) круговой — метод обхода значений в файле.

Для нас: когда мы доходим до последней строки с пользователем, мы возвращаемся в начало.

Далее устанавливаем http конфиг — он будет работать для всех запросов:

val httpConf = http

Теги: #Тестирование веб-сервисов #Тестирование ИТ-систем #scala #нагрузочное тестирование #framework #gatling

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.