Make nginx load balance using least-connections 83/138983/1
authordanielhanrahan <daniel.hanrahan@est.tech>
Wed, 18 Sep 2024 13:35:39 +0000 (14:35 +0100)
committerdanielhanrahan <daniel.hanrahan@est.tech>
Thu, 19 Sep 2024 13:51:24 +0000 (14:51 +0100)
By default, nginx uses round robin for load balancing. Round robin
works well when all requests take same amount of time, but is not
optimal for dynamic loads.

With least-connected load balancing, nginx will try not to overload
a busy server with excessive requests, sending requests to a less
busy server instead.

Issue-ID: CPS-2415
Signed-off-by: danielhanrahan <daniel.hanrahan@est.tech>
Change-Id: I0e7d6b36a79aa6541f2f5f667746f2792d55e54b

docker-compose/config/nginx/nginx.conf

index 17fad1b..61fed51 100644 (file)
@@ -20,7 +20,9 @@ http {
 
     # Add more server entries here for scaling or load balancing
     upstream cps-and-ncmp {
-        server cps-and-ncmp:8080;
+        least_conn;
+        server docker-compose-cps-and-ncmp-1:8080;
+        server docker-compose-cps-and-ncmp-2:8080;
     }
 
     server {