Buffer Pool Trim

Co-Authored-By: brekotis <93345790+brekotis@users.noreply.github.com>
This commit is contained in:
Alexey
2026-03-31 19:22:36 +03:00
parent ecd6a19246
commit e594d6f079
3 changed files with 38 additions and 0 deletions

View File

@@ -276,6 +276,7 @@ where
stats.increment_user_connects(user);
let _direct_connection_lease = stats.acquire_direct_connection_lease();
let buffer_pool_trim = Arc::clone(&buffer_pool);
let relay_result = relay_bidirectional(
client_reader,
client_writer,
@@ -321,6 +322,7 @@ where
Err(e) => debug!(user = %user, error = %e, "Direct relay ended with error"),
}
buffer_pool_trim.trim_to(buffer_pool_trim.max_buffers().min(64));
relay_result
}

View File

@@ -1317,6 +1317,7 @@ where
);
clear_relay_idle_candidate(conn_id);
me_pool.registry().unregister(conn_id).await;
buffer_pool.trim_to(buffer_pool.max_buffers().min(64));
result
}