Mainflux.mainflux/load-test
Nikola Marčetić 2080ee8afa Added changelog for 0.10.0 release (#984)
Signed-off-by: Nikola Marcetic <n.marcetic86@gmail.com>
2019-12-17 17:32:27 +01:00
..
project
src/test
.gitignore
README.md
build.sbt Added changelog for 0.10.0 release (#984) 2019-12-17 17:32:27 +01:00

README.md

Load Test

This project contains platform's load tests.

Prerequisites

To run the tests you must have OpenJDK8 and SBT installed on your machine.

Configuration

Tests are configured to use variables from JAVA_OPTS presented in the following table. Note that any unset variables will be replaced with their default values.

Variable Description Default
users Users service URL http://localhost:8180
things Things service URL http://localhost:8182
http HTTP adapter service URL http://localhost:8185
ws WebSocket adapter service URL localhost:8186
requests Number of requests to be sent per second 100

Usage

This project contains three simulations:

  • CreateAndRetrieveThings
  • PublishHttpMessages
  • PublishWsMessages

To run all tests you will have to run following commands:

cd <path_to_mainflux_project>/load-test
sbt gatling:test

Things creation and retrieval

CreateAndRetrieveThings contains load tests for creating and retrieving things. Execute the following command to run the suite:

sbt "gatling:testOnly com.mainflux.loadtest.CreateAndRetrieveThings"

Message publishing over HTTP adapter

PublishHttpMessages contains load tests for publishing messages over HTTP. Execute the following command to run the suite:

sbt "gatling:testOnly com.mainflux.loadtest.PublishHttpMessages"

Message publishing over WebSocket adapter

PublishWsMessages contains load tests for publishing messages over WebSocket. Execute the following command to run the suite:

sbt "gatling:testOnly com.mainflux.loadtest.PublishWsMessages"