Important
This repo is purely for load testing Dapr Workflows runtime. It is not an example of what good looks like! Most of the code is junk, to meet the end goal of testing the Workflows Runtime.
In the past, this has flushed out many concurrency issues in the underlying durabletask-go library, which have been subsequently addressed in newer versions of the Dapr runtime. main
currently targets 1.14.x
of the runtime which is the first version to address the horizontal scaling constraints by inclusion of the new Actor Reminder sub-system.
docker compose -f compose-5-instances-3-schedulers.yml build
docker compose -f compose-5-instances-3-schedulers.yml up
This will create many workflow instances randomly distributed across the Workflow App instances.
Run the workflows by making a POST request to :
http://localhost:5112/start/monitor-workflow?runId={runId}&count=1000&async=true
- Where
{runId}
is a unique value i.e. UUID/GUID. - Increase/decrease the amount of workflows created by changing the
count
property
This will create many workflow instances randomly distributed across the Workflow App instances.
Run the workflows by making a POST request to :
http://localhost:5112/start/fanout-workflow?runId={runId}&count=1000&async=true
- Where
{runId}
is a unique value i.e. UUID/GUID. - Increase/decrease the amount of workflows created by changing the
count
property