I would like to benchmark function calls made in parallel (for example to some function in an Ecto Context, or in my case an Axon/Nx model’s function).
I don’t have much experience in benchmarking, but I am assuming in this scenario that the number of parallel calls is increased incrementally.
Here’s what I would like to find out:
- What is the avg speed/latency/benchmark for a certain number of parallel calls.
- How many parallel calls can I make before the avg speed crosses a certain threshold or before an error is passed.
As far as I know, Benchee doesn’t support this sort of benchmarking. I would prefer an Erlang/OTP native solution, though I am okay with using an external tool and exposing the function over a REST API or similar.
I’ve thought about Tsung and an API, but I feel it’s overkill and I don’t feel upto editing XML files. I don’t know if I can use it from Elixir, despite it being written in Erlang.