Skip to content

Commit 14493fa

Browse files
committed
docs: Add how-to benchmark to README
1 parent dfdaa2f commit 14493fa

File tree

1 file changed

+35
-0
lines changed

1 file changed

+35
-0
lines changed

README.md

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -701,6 +701,41 @@ If the proxy is running on a host other than localhost, access on that host.
701701
| `-h`, `--help` | Displays this help message | - |
702702

703703

704+
## Benchmarks
705+
706+
Benchmarking is integrated into CI, and can be run locally.
707+
708+
The benchmark uses `pgbench` to compare direct access to PostgreSQL against `pgbouncer` and Proxy.
709+
Benchmarks are executed in Docker containers, as the focus is on providing a repeatable baseline for performance.
710+
Your mileage may vary when comparing against a "real-world" production configuration.
711+
712+
The benchmarks use the extended protocol option and cover:
713+
- the default `pgbench` transaction
714+
- insert, update & select of plaintext data
715+
- insert, update & select of encrypted data (CipherStash Proxy only)
716+
717+
The benchmark setup includes the database configuration, but does requires access to a CipherStash account environment.
718+
719+
### Require environment variables
720+
```
721+
CS_WORKSPACE_ID
722+
CS_CLIENT_ACCESS_KEY
723+
CS_DEFAULT_KEYSET_ID
724+
CS_CLIENT_ID
725+
CS_CLIENT_KEY
726+
```
727+
728+
729+
### Running the benchmark
730+
731+
```
732+
cd tests/benchmark
733+
mise run benchmark
734+
```
735+
736+
Results are graphed in a file called `benchmark-{YmdHM}.png` where `YmdHM` is a generated timestamp.
737+
Detailed results are generated in `csv` format and in the `results` directory.
738+
704739

705740
## More info
706741

0 commit comments

Comments
 (0)