Презентация инструмента 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