Skip to content

Commit 06f90cd

Browse files
authored
Merge pull request #208 from cipherstash/split-proxy-docs
Docs: Split proxy docs
2 parents ec0dffc + 5cc1466 commit 06f90cd

File tree

6 files changed

+673
-648
lines changed

6 files changed

+673
-648
lines changed

DEVELOPMENT.md

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -583,6 +583,40 @@ Log `debug` output for the `MAPPER` target:
583583
);
584584
```
585585

586+
## Benchmarks
587+
588+
Benchmarking is integrated into CI, and can be run locally.
589+
590+
The benchmark uses `pgbench` to compare direct access to PostgreSQL against `pgbouncer` and Proxy.
591+
Benchmarks are executed in Docker containers, as the focus is on providing a repeatable baseline for performance.
592+
Your mileage may vary when comparing against a "real-world" production configuration.
593+
594+
The benchmarks use the extended protocol option and cover:
595+
- the default `pgbench` transaction
596+
- insert, update & select of plaintext data
597+
- insert, update & select of encrypted data (CipherStash Proxy only)
598+
599+
The benchmark setup includes the database configuration, but does requires access to a CipherStash account environment.
600+
601+
### Required environment variables
602+
```
603+
CS_WORKSPACE_ID
604+
CS_CLIENT_ACCESS_KEY
605+
CS_DEFAULT_KEYSET_ID
606+
CS_CLIENT_ID
607+
CS_CLIENT_KEY
608+
```
609+
610+
### Running the benchmark
611+
612+
```bash
613+
cd tests/benchmark
614+
mise run benchmark
615+
```
616+
617+
Results are graphed in a file called `benchmark-{YmdHM}.png` where `YmdHM` is a generated timestamp.
618+
Detailed results are generated in `csv` format and in the `results` directory.
619+
586620
## Style Guide
587621

588622
### Testing

0 commit comments

Comments
 (0)