Loadex

A simple distributed load test runner.

Loadex was created with two things in mind - genarating huge loads in a controlled manner, while being able to fully customize the test's flow. These goals are achieved by using plain Elixir to create scenarios and then laveraging Elixir's massive concurrency capabilities to run them on one or multiple machines.

Docs can be found at https://hexdocs.pm/loadex. (not yet, but soon!)

Installation

Add loadex to your list of dependencies in mix.exs:

def deps do
[
{:loadex, "~> 0.1.0"}
]
end

Example:

defmodule ExampleScenario do
use Loadex.Scenario
setup do
1..100
end
scenario index do
loop_after 500, 10, iteration do
IO.puts("My number is \#{index}, iteration \#{iteration}!")
end
end
teardown index do
IO.puts("Bye from \#{index}!")
end
end

Then:

iex> Loadex.run(scenario: "./scenarios/example_scenario.exs", rate: 30, restart: true)

More information can be found in the docs (not yet, but soon!)