Презентация инструмента Gatling для доклада на CodeFest, 2017.
app/тестовое приложение News REST API на Play Frameworkmetrics/конфигурация InfluxDB и шаблон дашборда Grafanaslides/слайды докладаtest/нагрузочные тесты Gatlingdocker-compose.ymlописание локального окружения в Docker-контейнерах (приложение, PostgreSQL, InfluxDB и Grafana)
Вам необходим Docker Engine (минимум версии 17.03.0-ce) и Docker Compose (минимум версии 1.10.0) для локального окружения, см. инструкции для их установки. Затем запустите:
$ docker-compose up -d
Creating network "codefestgatling_default" with driver "bridge"
Pulling influxdb (influxdb:1.6.4-alpine)...
...
Creating codefestgatling_influxdb_1
Creating codefestgatling_db_1
Creating codefestgatling_app_1
Creating codefestgatling_grafana_1
Проверка:
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------------------------------------------------------
codefestgatling_app_1 bin/app Up 0.0.0.0:9000->9000/tcp
codefestgatling_db_1 docker-entrypoint.sh postgres Up 0.0.0.0:6433->5432/tcp
codefestgatling_grafana_1 /run.sh Up 0.0.0.0:3000->3000/tcp
codefestgatling_influxdb_1 /entrypoint.sh influxd Up 0.0.0.0:2003->2003/tcp, 0.0.0.0:8086->8086/tcp
Откройте Grafana с логином и паролем admin/admin и создайте InfluxDB источник:
- Name
InfluxDB - Type
InfluxDB - Url
http://influxdb:8086 - Database
gatlingdb
Импортируйте дашборд из шаблона metrics/gatling.json (оригинал доступен на странице документации).
Также понадобится IntelliJ IDEA Community Edition с плагином Scala для работы с тестами. Откройте директорию test в IDE и следуйте инструкциям для импорта SBT проекта.
Для запуска тестов в IDE создайте SBT Task с командой "gatling:testOnly LoadTest".
Для очистки окружения:
$ docker-compose down --volumes --rmi all