benchmarking-proxies
benchmarking-proxies copied to clipboard
Automation to perform automated benchmarks against reverse proxy services.
- Reverse Proxy Benchmarks
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~.
** Getting Started
-
Install [[https://nixos.wiki/wiki/Flakes][nix flakes]].
-
Run ~nix develop .~ to enter a development shell with all prerequisite programs installed.
-
Configure the [[https://docs.aws.amazon.com/cli/index.html][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 with ~aws 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:
#+begin_src shell ./bench.sh #+end_src
You may start with additional "virtual users" -- k6's term for concurrent clients -- with an invocation like:
#+begin_src shell VUS=100 ./bench.sh #+end_src
Your end results are a file that begins with ~table~ in ~results/~ and various ~.svg~ files in the same directory generated by ~gnuplot~.