https://github.com/marcinwysocki/loadex
A load testing tool written in Elixir
https://github.com/marcinwysocki/loadex
elixir hacktoberfest load-testing
Last synced: 10 months ago
JSON representation
A load testing tool written in Elixir
- Host: GitHub
- URL: https://github.com/marcinwysocki/loadex
- Owner: marcinwysocki
- License: mit
- Created: 2020-02-27T20:02:23.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2021-10-25T19:05:10.000Z (over 4 years ago)
- Last Synced: 2025-07-23T11:29:52.827Z (11 months ago)
- Topics: elixir, hacktoberfest, load-testing
- Language: Elixir
- Homepage:
- Size: 73.2 KB
- Stars: 3
- Watchers: 2
- Forks: 2
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://hexdocs.pm/loadex).
## Installation
Add `loadex` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[
{:loadex, "~> 0.1.0"}
]
end
```
### Example:
```elixir
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:
```bash
iex> Loadex.run(scenario: "./scenarios/example_scenario.exs", rate: 30, restart: true)
```
More information can be found in [the docs](https://hexdocs.pm/loadex)