Least connected load balancing
While the default load balancing algorithm is round-robin, it doesn't take into consideration either the server load or the response times. With the least connected method, we distribute connections to the upstream server with the least number of active connections.
Getting ready
To test the load balancing, you'll need to be able to run multiple versions of your app, each on different ports.
How to do it...
The upstream
block directive looks exactly the same as the round-robin configuration, except we now explicitly tell NGINX to use the least connected method—a reminder that this needs to remain outside of the server
block directive. Here's our upstream
block:
upstream localapp { least_conn; server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082; }
Then, we'll define our server
block directive:
server { listen 80; server_name load.nginxcookbook.com; access_log /var/log/nginx/load-access.log combined; ...