Weighted round-robin is a load balancing method in nginx that distributes client requests to servers based on assigned weights, sending more requests to servers with higher weights.
Click to reveal answer
beginner
How do you assign weights to servers in nginx configuration for weighted round-robin?
You assign weights by adding the 'weight' parameter to each server in the upstream block, like: server 192.168.1.1 weight=3; which means this server gets 3 times more requests than a server with weight=1.
Click to reveal answer
beginner
Example of an nginx upstream block using weighted round-robin?
upstream backend {
server 192.168.1.1 weight=3;
server 192.168.1.2 weight=1;
}
This sends 3 requests to 192.168.1.1 for every 1 request to 192.168.1.2.
Click to reveal answer
intermediate
Why use weighted round-robin instead of simple round-robin?
Weighted round-robin lets you send more traffic to stronger or faster servers by assigning higher weights, improving performance and resource use compared to simple round-robin which treats all servers equally.
Click to reveal answer
beginner
What happens if all servers have the same weight in nginx weighted round-robin?
If all servers have the same weight, weighted round-robin behaves like simple round-robin, distributing requests evenly across all servers.
Click to reveal answer
In nginx weighted round-robin, what does a higher weight mean for a server?
AIt receives more client requests
BIt receives fewer client requests
CIt is ignored by nginx
DIt becomes a backup server
✗ Incorrect
A higher weight means the server receives more client requests compared to servers with lower weights.
How do you specify a server with weight 5 in nginx upstream configuration?
Aserver 192.168.1.1 count=5;
Bserver 192.168.1.1 priority=5;
Cserver 192.168.1.1 load=5;
Dserver 192.168.1.1 weight=5;
✗ Incorrect
The correct syntax to assign weight is 'weight=5' in the server directive.
What load balancing method does nginx use if weights are not specified?
AIP hash
BLeast connections
CSimple round-robin
DRandom
✗ Incorrect
Without weights, nginx defaults to simple round-robin, distributing requests evenly.
If server A has weight 4 and server B has weight 1, how many requests does server A get for every request to server B?
A4
B1
C5
D0.25
✗ Incorrect
Server A gets 4 times more requests than server B because its weight is 4.
Which nginx directive block contains the weighted round-robin server definitions?
Alocation
Bupstream
Cserver
Dhttp
✗ Incorrect
The 'upstream' block defines backend servers and their weights for load balancing.
Explain how weighted round-robin works in nginx and why it might be useful.
Think about sending more work to stronger servers.
You got /3 concepts.
Write a simple nginx upstream configuration using weighted round-robin with two servers, one with weight 2 and the other with weight 1.
Use 'server IP weight=number;' inside upstream.
You got /4 concepts.
Practice
(1/5)
1. What does the weight parameter control in nginx's weighted round-robin load balancing?
easy
A. The maximum number of connections a server can handle
B. The timeout duration for server responses
C. The order in which servers are listed in the config
D. The number of requests sent to a server relative to others
Solution
Step 1: Understand the role of weight in load balancing
The weight defines how many requests a server receives compared to others.
Step 2: Relate weight to request distribution
Higher weight means more requests go to that server, balancing load by capacity.
Final Answer:
The number of requests sent to a server relative to others -> Option D
Quick Check:
Weight controls request share [OK]
Hint: Weight sets request share per server [OK]
Common Mistakes:
Confusing weight with timeout
Thinking weight limits connections
Assuming weight sets server order
2. Which of the following is the correct syntax to assign weights to servers in nginx for weighted round-robin?
easy
A. server backend1.example.com weight:3;
B. server backend1.example.com weight 3;
C. server backend1.example.com weight=3;
D. server backend1.example.com weight(3);
Solution
Step 1: Recall nginx upstream server syntax
Weights are assigned using weight=number with an equal sign and semicolon.
Step 2: Check each option's syntax
Only server backend1.example.com weight=3; uses the correct weight=3; format.
Final Answer:
server backend1.example.com weight=3; -> Option C
Quick Check:
Correct syntax uses equal sign and semicolon [OK]
Hint: Use weight=number; syntax for servers [OK]
Common Mistakes:
Omitting equal sign
Using colon instead of equal sign
Using parentheses incorrectly
3. Given this nginx upstream block:
upstream backend {
server backend1.example.com weight=3;
server backend2.example.com weight=1;
}
If 8 requests arrive, how many requests will backend2 receive approximately?
medium
A. 2
B. 6
C. 4
D. 1
Solution
Step 1: Calculate total weight
backend1 weight=3, backend2 weight=1, total = 4.
Step 2: Calculate requests for backend2
Requests for backend2 = (1/4) * 8 = 2.
Final Answer:
2 -> Option A
Quick Check:
Requests proportional to weight [OK]
Hint: Requests split by weight ratio [OK]
Common Mistakes:
Ignoring total weight sum
Assigning equal requests despite weights
Miscounting total requests
4. You configured nginx with weighted round-robin but all servers receive equal requests. What is the most likely cause?
medium
A. nginx does not support weighted round-robin
B. Weights were not specified correctly in the config
C. The servers have identical IP addresses
D. The upstream block is missing the weight directive
If weights are missing or incorrect, nginx defaults to equal distribution.
Step 2: Analyze the options
Weights were not specified correctly in the config states weights not specified correctly, which explains equal requests.
Final Answer:
Weights were not specified correctly in the config -> Option B
Quick Check:
Incorrect weights cause equal load [OK]
Hint: Check weight syntax if load is equal [OK]
Common Mistakes:
Assuming nginx lacks weighted support
Confusing IP issues with load balancing
Missing weight directive entirely
5. You have three servers with weights 5, 3, and 2. You want to add a fourth server but keep the total weight sum at 10. What weight should you assign to the new server to maintain the same total weight and keep the relative proportions of the first three servers?
hard
A. 0 (do not add the server)
B. 5
C. 2
D. 1
Solution
Step 1: Calculate current total weight
Sum of existing weights = 5 + 3 + 2 = 10.
Step 2: Determine weight for new server
To keep total sum at 10 when adding a fourth server, assign weight=0 to it.
Step 3: Verify proportions
Weight=0 means no requests to the new server, so first three retain exact proportions (5:3:2 out of total 10).
Final Answer:
0 (do not add the server) -> Option A
Quick Check:
Weight=0 keeps total and proportions unchanged [OK]
Hint: Assign weight=0 to keep total sum and proportions [OK]
Common Mistakes:
Assigning positive weight that increases total sum
Forgetting to maintain exact total of 10
Ignoring impact on relative proportions
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.