hashicorp/vault-benchmark

Doesnt work with L4 load balancers - No parameter for Vageta's KeepAlive

Closed this issue · 2 comments

vault-benchmark doesn't expose any parameter to set KeepAlive on the Vageta object creation in benchmarktests/attack.go, so it always uses the default, true. This causes the test to send all requests over a single connection object. When using an L4 load balancer such as F5 Big IP configured for pass through, all of the requests are sent to a single node of the cluster.

This is surely not the expected behavior, and you would want the requests to be distributed to sufficiently measure the capability of the full cluster.

We've noticed this to be an issue around HTTP/2 connections. We've added a flag to disable HTTP/2 and force HTTP/1.1 which should cause requests to be balanced correctly. Give that option a try and let us know if that solves the issue for you! PR: #140

This for this change. I compiled main/ from source and we reran with the new option -disable_http2=true. We confirm that it properly distributes the load to all nodes behind our load balancer.