From 2dda168b19b965e23b1e67ab88a94f7acc265c33 Mon Sep 17 00:00:00 2001 From: xfy Date: Thu, 18 Jun 2026 11:08:14 +0800 Subject: [PATCH] perf(db): switch pool recycling method from Verified to Fast MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Verified 每次取连接都会额外发 SELECT 1 验证;Fast 直接复用, 依赖 tokio-postgres 在使用时自然报错,由 get_conn 的退避重试兜底。 --- src/db/pool.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/db/pool.rs b/src/db/pool.rs index db28951..a7dbde7 100644 --- a/src/db/pool.rs +++ b/src/db/pool.rs @@ -19,9 +19,11 @@ pub static DB_POOL: LazyLock = LazyLock::new(|| { .parse::() .expect("Invalid DATABASE_URL format"); - // 使用 Verified 回收策略,确保归还的连接仍然可用,避免 DB 重启后拿到死连接。 + // 使用 Fast 回收策略:归还连接时不额外发 SELECT 1 验证,直接复用。 + // Verified 在高并发下会为每次 get() 增加一次往返;Fast 依赖 tokio-postgres + // 在使用时自然报错,由 get_conn 的重试层兜底。 let mgr_cfg = ManagerConfig { - recycling_method: RecyclingMethod::Verified, + recycling_method: RecyclingMethod::Fast, }; let mgr = Manager::from_config(pg_cfg, NoTls, mgr_cfg);