Skip to content

improving-ottawa/akka-cqrs-cart-example-load-test

Repository files navigation

WIP: Akka persistent entity Load Test project

This is a collection of projects that act as a simplified test harness for designing and running a simple load test scenario through a typical Akka persistent entity workload.

Goals

To provide a test harness to experiment with:

  1. Providing a controlled environment in which to test the performance of various journal/snapshot/projection backends (Cassandra vs Scylla vs Postgres)
  2. Different tunings of persistent entities and the JVM operating them, to gain insight into the performance of the JVM under various conditions

Scenario

Currently the scenario only involves the shopping-cart-service (taken from Akka's CQRS/microservices developer guide example), to keep the moving parts to a minimum

To run the load test

Navigate to shopping-cart-service, and start necessary infrastructure which is currently only Cassandra for journal/snapshots and read-side projections:

$> shopping-cart-service/docker-compose up

If this is the first time starting the application, you must also:

  • bootstrap the database schemas, as per instructions shopping-cart-service/README.md
  • publish the shopping-cart-service locally: $> cd shopping-cart-service; sbt publishLocal

Once all infra containers are ready, start a at least one node of the shopping cart service:

$> cd shopping-cart-service; sbt 'set run/javaOptions +="-Dconfig.resource=local1.conf"; run'

Once the shopping cart service is active, the load test can be started:

$> cd load-testing; sbt gatling:test

Look to the READMEs of each subproject for more details on tuning parameters, etc

About

Simple test harness for load testing a CQRS/Akka persistent entity workload

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages