Hello, and my apologies. There’s a nontrivial amount of bash
code here.
This is an accompanying repository for a forthcoming blog post about reverse proxy performance. The automation here is intended to perform benchmarking in a maximally reproducible and least hands-on way.
Once any prerequisite setup steps have been completed, you should be able to run, measure, and report on benchmarks with ./bench.sh
.
- Install nix flakes.
- Run
nix develop .
to enter a development shell with all prerequisite programs installed. - Configure the AWS command-line tools (
nix
will install it, you just need to configure it). You’ll be building cloud instances, so you may want to check your setup withaws ec2 describe-instances
or something. terraform init
- Copy your desired remote ssh pubkey of choice to
./ssh_pubkey
(Terraform will look for it there). - Put extra spending cash into Jeff Bezos’ wallet:
./bench.sh
You may start with additional “virtual users” – k6’s term for concurrent clients – with an invocation like:
VUS=100 ./bench.sh
Your end results are a file that begins with table
in results/
and various .svg
files in the same directory generated by gnuplot
.