From 8b7273e46e7cdf2206491e152083b2f028af805b Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Fri, 10 Mar 2023 09:54:57 +0100 Subject: [PATCH] Increase the amount of max connections to the database --- crates/collab/.env.toml | 1 + crates/collab/k8s/environments/preview.sh | 1 + crates/collab/k8s/environments/production.sh | 1 + crates/collab/k8s/environments/staging.sh | 1 + crates/collab/k8s/manifest.template.yml | 2 ++ crates/collab/src/lib.rs | 3 ++- 6 files changed, 8 insertions(+), 1 deletion(-) diff --git a/crates/collab/.env.toml b/crates/collab/.env.toml index b4a6694e5e..01866012ea 100644 --- a/crates/collab/.env.toml +++ b/crates/collab/.env.toml @@ -1,4 +1,5 @@ DATABASE_URL = "postgres://postgres@localhost/zed" +DATABASE_MAX_CONNECTIONS = 5 HTTP_PORT = 8080 API_TOKEN = "secret" INVITE_LINK_PREFIX = "http://localhost:3000/invites/" diff --git a/crates/collab/k8s/environments/preview.sh b/crates/collab/k8s/environments/preview.sh index 4d9dd849e9..132a1ef53c 100644 --- a/crates/collab/k8s/environments/preview.sh +++ b/crates/collab/k8s/environments/preview.sh @@ -1,3 +1,4 @@ ZED_ENVIRONMENT=preview RUST_LOG=info INVITE_LINK_PREFIX=https://zed.dev/invites/ +DATABASE_MAX_CONNECTIONS=10 diff --git a/crates/collab/k8s/environments/production.sh b/crates/collab/k8s/environments/production.sh index 83af6630c2..cb1d4b4de7 100644 --- a/crates/collab/k8s/environments/production.sh +++ b/crates/collab/k8s/environments/production.sh @@ -1,3 +1,4 @@ ZED_ENVIRONMENT=production RUST_LOG=info INVITE_LINK_PREFIX=https://zed.dev/invites/ +DATABASE_MAX_CONNECTIONS=85 diff --git a/crates/collab/k8s/environments/staging.sh b/crates/collab/k8s/environments/staging.sh index 82d799e2bc..b9689ccb19 100644 --- a/crates/collab/k8s/environments/staging.sh +++ b/crates/collab/k8s/environments/staging.sh @@ -1,3 +1,4 @@ ZED_ENVIRONMENT=staging RUST_LOG=info INVITE_LINK_PREFIX=https://staging.zed.dev/invites/ +DATABASE_MAX_CONNECTIONS=5 diff --git a/crates/collab/k8s/manifest.template.yml b/crates/collab/k8s/manifest.template.yml index b73070536f..75c7aa989d 100644 --- a/crates/collab/k8s/manifest.template.yml +++ b/crates/collab/k8s/manifest.template.yml @@ -80,6 +80,8 @@ spec: secretKeyRef: name: database key: url + - name: DATABASE_MAX_CONNECTIONS + value: ${DATABASE_MAX_CONNECTIONS} - name: API_TOKEN valueFrom: secretKeyRef: diff --git a/crates/collab/src/lib.rs b/crates/collab/src/lib.rs index 1a83193bdf..8c99a5ea0f 100644 --- a/crates/collab/src/lib.rs +++ b/crates/collab/src/lib.rs @@ -91,6 +91,7 @@ impl std::error::Error for Error {} pub struct Config { pub http_port: u16, pub database_url: String, + pub database_max_connections: u32, pub api_token: String, pub invite_link_prefix: String, pub live_kit_server: Option, @@ -116,7 +117,7 @@ pub struct AppState { impl AppState { pub async fn new(config: Config) -> Result> { let mut db_options = db::ConnectOptions::new(config.database_url.clone()); - db_options.max_connections(5); + db_options.max_connections(config.database_max_connections); let db = Database::new(db_options).await?; let live_kit_client = if let Some(((server, key), secret)) = config .live_kit_server