From 49e2edfa6cc5d273948f95495b45b712ea4a7fd9 Mon Sep 17 00:00:00 2001 From: Laura Hausmann Date: Sat, 25 Nov 2023 03:18:39 +0100 Subject: [PATCH] [docs] Add information on running with multiple workers --- docs/docker-compose-install.md | 2 ++ docs/install.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/docs/docker-compose-install.md b/docs/docker-compose-install.md index 6d175f305..d37ac891c 100644 --- a/docs/docker-compose-install.md +++ b/docs/docker-compose-install.md @@ -27,6 +27,8 @@ Run `cp .config/example-docker.yml .config/default.yml`, and edit `.config/defau - Replace example database credentials with the ones you entered in `.config/docker.env` - Change other configuration +If you are running Iceshrimp on a system with more than one CPU thread, you might want to set the `clusterLimit` config option to about half of your thread count, depending on your system configuration. Please note that each worker requires around 10 PostgreSQL connections, so be sure to set `max_connections` appropriately. To do this with docker-compose, add `args: ["-c", "max_connections=n"]` to the `db:` section of `docker-compose.yml`, with `n` being `(10 * no_workers) + 10`. + ## Installation and first start Choose a method, whether you chose to build the image yourself or not. diff --git a/docs/install.md b/docs/install.md index e89a3ced0..b738e7090 100644 --- a/docs/install.md +++ b/docs/install.md @@ -89,6 +89,8 @@ yarn run init ### Optimizing performance +If you are running Iceshrimp on a system with more than one CPU thread, you might want to set the `clusterLimit` config option to about half of your thread count, depending on your system configuration. Please note that each worker requires around 10 PostgreSQL connections, so be sure to set `max_connections` appropriately (aim for `(10 * no_workers) + 10`, if you have no other applications accessing the PostgreSQL database). + For optimal database performance, it's highly recommended to configure PostgreSQL with [PGTune](https://pgtune.leopard.in.ua/) using the "Mixed type of application" profile. This is especially important should your database server use HDD instead of SATA or NVMe SSD storage. ## Setting up Webproxy