tylerjl / benchmarking-proxies

Automation to perform automated benchmarks against reverse proxy services.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 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 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:
    ./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.

About

Automation to perform automated benchmarks against reverse proxy services.

License:MIT License


Languages

Language:Nix 34.3%Language:Shell 27.6%Language:Gnuplot 17.9%Language:HCL 10.9%Language:jq 6.0%Language:JavaScript 2.1%Language:HTML 0.8%Language:Lua 0.3%