(iterations: usize)
| 4914 | } |
| 4915 | |
| 4916 | fn run_server_sqlx_repeated_connections(iterations: usize) -> Result<()> { |
| 4917 | let server = measure_phase("server.start", PgliteServer::temporary_tcp)?; |
| 4918 | let uri = server.database_url(); |
| 4919 | let runtime = measure_phase("client.tokio_runtime_create", || { |
| 4920 | tokio::runtime::Builder::new_current_thread() |
| 4921 | .enable_all() |
| 4922 | .build() |
| 4923 | .context("create perf tokio runtime") |
| 4924 | })?; |
| 4925 | runtime.block_on(async move { |
| 4926 | let started = Instant::now(); |
| 4927 | for value in 0..iterations { |
| 4928 | let mut conn = sqlx::PgConnection::connect(&uri) |
| 4929 | .await |
| 4930 | .context("connect SQLx to PGliteServer")?; |
| 4931 | run_sqlx_scalar_query(&mut conn, value as i32).await?; |
| 4932 | conn.close().await.context("close SQLx connection")?; |
| 4933 | } |
| 4934 | record_total_and_average( |
| 4935 | "warm.server_sqlx_repeated_connections.total", |
| 4936 | "warm.server_sqlx_repeated_connections.avg", |
| 4937 | started.elapsed(), |
| 4938 | iterations, |
| 4939 | ); |
| 4940 | Ok::<_, anyhow::Error>(()) |
| 4941 | })?; |
| 4942 | measure_phase("operation.shutdown", || server.shutdown()) |
| 4943 | } |
| 4944 | |
| 4945 | fn run_server_sqlx_vector_single_connection_repeated_queries(iterations: usize) -> Result<()> { |
| 4946 | let server = measure_phase("server.start", || { |
no test coverage detected