From 3fe99fbfe71e04055a5e5cfa6b235359f68de719 Mon Sep 17 00:00:00 2001 From: Jacob Taylor Date: Fri, 13 Jun 2025 20:45:35 -0700 Subject: [PATCH] make sender workers default better and clamp value to core count --- src/core/config/mod.rs | 4 +++- src/service/sending/mod.rs | 12 +++--------- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/src/core/config/mod.rs b/src/core/config/mod.rs index a58bcfe5..bfe0c450 100644 --- a/src/core/config/mod.rs +++ b/src/core/config/mod.rs @@ -1828,7 +1828,7 @@ pub struct Config { /// setting a non-zero value. /// /// default: 0 - #[serde(default)] + #[serde(default = "default_sender_workers")] pub sender_workers: usize, /// Enables listener sockets; can be set to false to disable listening. This @@ -2315,6 +2315,8 @@ fn default_stream_width_scale() -> f32 { 1.0 } fn default_stream_amplification() -> usize { 1024 } +fn default_sender_workers() -> usize { 4 } + fn default_client_receive_timeout() -> u64 { 75 } fn default_client_request_timeout() -> u64 { 180 } diff --git a/src/service/sending/mod.rs b/src/service/sending/mod.rs index 08ca7010..ce687551 100644 --- a/src/service/sending/mod.rs +++ b/src/service/sending/mod.rs @@ -401,16 +401,10 @@ impl Service { fn num_senders(args: &crate::Args<'_>) -> usize { const MIN_SENDERS: usize = 1; - // Limit the number of senders to the number of workers threads or number of - // cores, conservatively. - let max_senders = args - .server - .metrics - .num_workers() - .min(available_parallelism()); + // Limit the maximum number of senders to the number of cores. + let max_senders = available_parallelism(); - // If the user doesn't override the default 0, this is intended to then default - // to 1 for now as multiple senders is experimental. + // default is 4 senders. clamp between 1 and core count. args.server .config .sender_workers