A general purpose tool for benchmarking turbopuffer deployments across a wide variety of workloads. Modifications, extensions and new benchmarks are encouraged; we want you to push turbopuffer to it's limits. If you find any issues or performance problems, let us know so we can improve turbopuffer for your specific workload!
Requirements:
- Go 1.25 (install instructions)
First, compile the tpufbench command:
go build -o tpufbench ./cmd/tpufbenchThen, you can run an example benchmark:
TURBOPUFFER_API_KEY=tpuf_myapikey TURBOPUFFER_REGION=gcp-us-central1 ./tpufbench run \
--warm-cache \
./benchmarks/website/vector-1m.tomlTo see a list of all available configuration options, run:
./tpufbench run --helpAll benchmarks were run on a c2-standard-30 instance running in GCP
us-central1. The files definining the benchmarks and their parameters are in
benchmarks/website.
TURBOPUFFER_API_KEY=tpuf_myapikey TURBOPUFFER_REGION=gcp-us-central1 ./tpufbench run \
--warm-cache \
./benchmarks/website/vector-1m.tomlYou can customize these template files with additional parameters to benchmark different variants of the workload.