mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-12-27 19:23:01 +00:00
* Fix typos * Update CHANGELOG.md Co-authored-by: Austin Bonander <austin.bonander@gmail.com> Co-authored-by: Austin Bonander <austin.bonander@gmail.com>
40 lines
1.7 KiB
Markdown
40 lines
1.7 KiB
Markdown
SQLx Self-Benchmarks
|
|
====================
|
|
|
|
This Cargo project implements various benchmarks for SQLx using
|
|
[Criterion](https://crates.io/crates/criterion).
|
|
|
|
### Available Benchmarks
|
|
|
|
* Group `pg_pool`: benchmarks `sqlx::Pool` against a PostgreSQL server.
|
|
* `DATABASE_URL` must be set (or in `.env`) pointing to a PostgreSQL server.
|
|
It should preferably be running on the same machine as the benchmarks to reduce latency.
|
|
* The `postgres` feature must be enabled for this benchmark to run.
|
|
* Benchmarks:
|
|
* `bench_pgpool_acquire`: benchmarks `Pool::acquire()` when many concurrent tasks are also using
|
|
the pool, with or without the pool being fair. Concurrently to the benchmark iteration
|
|
function calling and blocking on `Pool::acquire()`, a varying number of background tasks are
|
|
also calling `acquire()` and holding the acquired connection for 500µs each before releasing
|
|
it back to the pool. The pool is created with `.min_connections(50).max_connections(50)` so we shouldn't
|
|
be measuring anything but the actual overhead of `Pool`'s bookkeeping.
|
|
|
|
### Running
|
|
|
|
You must choose a runtime to execute the benchmarks on; the feature flags are the same as the `sqlx` crate:
|
|
|
|
```bash
|
|
cargo bench --features runtime-tokio-native-tls
|
|
cargo bench --features runtime-async-std-rustls
|
|
```
|
|
|
|
When complete, the benchmark results will be in `target/criterion/`.
|
|
Open `target/criterion/report/index.html` or pick one of the benchmark subfolders and open
|
|
`report/index.html` there to view the results.
|
|
|
|
Benchmark Results
|
|
-------
|
|
|
|
If you want to share the results here, please follow the format below.
|
|
|
|
* [2020/07/01: `pg_pool` benchmark added to test pool fairness changes](results/2020-07-01-bench_pgpool_acquire/REPORT.md)
|