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.
Installation
Add loadex to your list of dependencies in mix.exs:
def deps do
[
{:loadex, "~> 0.1.0"}
]
endExample:
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
endThen:
iex> Loadex.run(scenario: "./scenarios/example_scenario.exs", rate: 30, restart: true)More information can be found in the docs