Bird
Raised Fist0
Nginxdevops~20 mins

Proxy buffering in Nginx - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Proxy Buffering Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Effect of disabling proxy buffering in nginx
What will be the effect on response delivery when proxy_buffering off; is set in an nginx configuration?
Nginx
location /api/ {
    proxy_pass http://backend;
    proxy_buffering off;
}
Anginx will reject the request if the backend response is larger than the default buffer size.
Bnginx will stream the response directly to the client without buffering, reducing latency for large or slow responses.
Cnginx will cache the response permanently on disk for future requests.
Dnginx will buffer the entire response before sending it to the client, increasing latency but improving throughput.
Attempts:
2 left
💡 Hint
Think about how buffering affects response delivery speed and latency.
❓ Configuration
intermediate
2:00remaining
Correct syntax to enable proxy buffering with custom buffer sizes
Which nginx configuration snippet correctly enables proxy buffering with a 16k buffer size and 4 buffers of 8k each?
A
proxy_buffering on;
proxy_buffer_size 16k;
proxy_buffers 4 8k;
B
proxy_buffering on;
proxy_buffer_size 8k;
proxy_buffers 16 4k;
C
proxy_buffering off;
proxy_buffer_size 16k;
proxy_buffers 4 8k;
D
proxy_buffering on;
proxy_buffer_size 4 8k;
proxy_buffers 16k;
Attempts:
2 left
💡 Hint
Check the order and format of buffer size directives.
❓ Troubleshoot
advanced
2:00remaining
Troubleshooting slow client response with proxy buffering enabled
A user complains that responses from your nginx proxy are slow to start arriving, although the backend server responds quickly. You suspect proxy buffering settings. Which configuration change is most likely to fix this?
ASet <code>proxy_buffering off;</code> to disable buffering and stream responses immediately.
BIncrease <code>proxy_buffers</code> to a larger number to hold more data before sending.
CEnable <code>proxy_cache</code> to cache responses and speed up delivery.
DReduce <code>proxy_buffer_size</code> to a smaller value to limit buffer memory.
Attempts:
2 left
💡 Hint
Think about how buffering affects the start of response delivery.
✅ Best Practice
advanced
2:00remaining
Best practice for proxy buffering with slow backend and fast clients
For a backend server that produces data slowly but clients expect fast response start, what is the best proxy buffering setting in nginx?
AEnable proxy buffering with small buffers to reduce memory usage.
BEnable proxy buffering with large buffers to accumulate data before sending.
CDisable proxy buffering to stream data immediately to clients.
DDisable proxy buffering and enable caching to speed up responses.
Attempts:
2 left
💡 Hint
Consider the trade-off between buffering delay and client experience.
🧠 Conceptual
expert
2:00remaining
Understanding proxy buffering impact on memory and performance
Which statement correctly describes the impact of enabling proxy buffering in nginx on memory usage and client experience?
AEnabling proxy buffering decreases memory usage and always reduces latency for clients.
BDisabling proxy buffering increases memory usage and improves client experience by caching responses.
CDisabling proxy buffering reduces memory usage and causes nginx to reject large responses.
DEnabling proxy buffering increases memory usage but can improve throughput and reduce load on backend servers.
Attempts:
2 left
💡 Hint
Think about how buffering stores data temporarily and affects backend load.

Practice

(1/5)
1. What does proxy_buffering on; do in an Nginx configuration?
easy
A. It enables buffering of responses from the backend before sending to clients.
B. It disables buffering and sends data immediately to clients.
C. It caches static files on the client side.
D. It blocks all proxy requests.

Solution

  1. Step 1: Understand proxy_buffering directive

    The directive proxy_buffering controls if Nginx buffers backend responses before sending to clients.
  2. Step 2: Effect of setting it to 'on'

    When set to on, Nginx stores backend data temporarily to improve speed and reduce backend load.
  3. Final Answer:

    It enables buffering of responses from the backend before sending to clients. -> Option A
  4. Quick Check:

    proxy_buffering on = buffering enabled [OK]
Hint: Buffering means storing backend data before sending [OK]
Common Mistakes:
  • Confusing buffering with caching
  • Thinking it disables buffering
  • Assuming it blocks requests
2. Which of the following is the correct syntax to disable proxy buffering in Nginx?
easy
A. proxy_buffering disable;
B. proxy_buffering off;
C. proxy_buffering false;
D. proxy_buffering no;

Solution

  1. Step 1: Check valid values for proxy_buffering

    The valid values for proxy_buffering are on or off.
  2. Step 2: Identify correct syntax to disable

    To disable buffering, use proxy_buffering off;. Other values cause syntax errors.
  3. Final Answer:

    proxy_buffering off; -> Option B
  4. Quick Check:

    Disable buffering = proxy_buffering off [OK]
Hint: Use 'off' to disable proxy buffering in Nginx [OK]
Common Mistakes:
  • Using 'disable' instead of 'off'
  • Using 'false' or 'no' which are invalid
  • Missing semicolon at end
3. Given this Nginx config snippet:
location /api/ {
  proxy_pass http://backend;
  proxy_buffering off;
}

What is the expected behavior when a client requests /api/data?
medium
A. Nginx buffers the entire backend response before sending it to the client.
B. Nginx caches the response for future requests.
C. Nginx blocks the request due to buffering being off.
D. Nginx sends the backend response to the client immediately without buffering.

Solution

  1. Step 1: Analyze proxy_buffering setting

    The config sets proxy_buffering off; which disables buffering.
  2. Step 2: Understand effect on response delivery

    With buffering off, Nginx sends backend data immediately to the client as it arrives.
  3. Final Answer:

    Nginx sends the backend response to the client immediately without buffering. -> Option D
  4. Quick Check:

    proxy_buffering off = immediate send [OK]
Hint: Off means no buffering, data sent immediately [OK]
Common Mistakes:
  • Assuming buffering still happens
  • Confusing buffering with caching
  • Thinking request is blocked
4. You set proxy_buffering on; but notice slow client response times. Which change can help fix this?
medium
A. Set proxy_buffering off; to disable buffering.
B. Increase proxy_buffers size to hold more data.
C. Remove proxy_pass directive.
D. Set proxy_buffering on; again.

Solution

  1. Step 1: Identify cause of slow response

    Buffering can delay sending data until buffers fill, causing slow client response.
  2. Step 2: Fix by disabling buffering

    Setting proxy_buffering off; sends data immediately, improving response time.
  3. Final Answer:

    Set proxy_buffering off; to disable buffering. -> Option A
  4. Quick Check:

    Slow response + buffering on = disable buffering [OK]
Hint: Turn off buffering to send data immediately [OK]
Common Mistakes:
  • Increasing buffers without understanding cause
  • Removing proxy_pass breaks proxy
  • Repeating same setting without change
5. You want to optimize Nginx proxy for a slow backend that streams data slowly. Which configuration is best?
hard
A.
proxy_buffering on;
proxy_buffers 4 8k;
B.
proxy_buffering off;
proxy_cache on;
C.
proxy_buffering off;
D.
proxy_buffering on;
proxy_buffer_size 16k;

Solution

  1. Step 1: Understand backend streaming behavior

    A slow backend streaming data slowly benefits from immediate data forwarding to clients.
  2. Step 2: Choose buffering setting for streaming

    Disabling buffering (proxy_buffering off;) sends data as it arrives, reducing latency.
  3. Step 3: Evaluate other options

    Options with buffering on delay data; caching is unrelated to streaming speed.
  4. Final Answer:

    proxy_buffering off; -> Option C
  5. Quick Check:

    Slow streaming backend = disable buffering [OK]
Hint: Disable buffering for slow streaming backends [OK]
Common Mistakes:
  • Keeping buffering on causes delays
  • Confusing caching with buffering
  • Increasing buffer sizes unnecessarily
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard