From 8cd9f0030da6937a959b62ba1875feb0161d8253 Mon Sep 17 00:00:00 2001 From: realaravinth Date: Sat, 30 Oct 2021 15:30:38 +0530 Subject: [PATCH] configurable workers This server will only see occasional traffic so it makes sense to spawn only limited number of workers as opposed to spawning one worker/thread, which is the default behavior. I recommend at least two workers. --- Cargo.lock | 1 + Cargo.toml | 2 ++ config/default.toml | 1 + src/main.rs | 3 +-- src/settings.rs | 1 + 5 files changed, 6 insertions(+), 2 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 7ae4c20..5219355 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -926,6 +926,7 @@ dependencies = [ "git2", "lazy_static", "log", + "num_cpus", "pretty_env_logger", "serde 1.0.130", "serde_json", diff --git a/Cargo.toml b/Cargo.toml index d96c50e..6084cfa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,3 +32,5 @@ lazy_static = "1.4" url = "2.2" derive_more = "0.99" + +num_cpus = "1.13" diff --git a/config/default.toml b/config/default.toml index 3d3c9be..d67ef49 100644 --- a/config/default.toml +++ b/config/default.toml @@ -15,3 +15,4 @@ ip= "0.0.0.0" domain = "localhost" allow_registration = true proxy_has_tls = false +#workers = 2 diff --git a/src/main.rs b/src/main.rs index 453ba65..21911ca 100644 --- a/src/main.rs +++ b/src/main.rs @@ -67,14 +67,13 @@ async fn main() -> std::io::Result<()> { actix_middleware::DefaultHeaders::new() .header("Permissions-Policy", "interest-cohort=()"), ) - // .wrap(get_survey_session()) - // .wrap(get_identity_service()) .wrap(actix_middleware::NormalizePath::new( actix_middleware::TrailingSlash::Trim, )) .configure(services) // .app_data(data.clone()) }) + .workers(SETTINGS.server.workers.unwrap_or(num_cpus::get())) .bind(SETTINGS.server.get_ip()) .unwrap() .run() diff --git a/src/settings.rs b/src/settings.rs index 6c975f8..b884c81 100644 --- a/src/settings.rs +++ b/src/settings.rs @@ -30,6 +30,7 @@ pub struct Server { pub domain: String, pub ip: String, pub proxy_has_tls: bool, + pub workers: Option, } impl Server {