Turning off buffering in k8s nginx ingress greatly increases client side latency and streaming in downstream
07:13 05 Dec 2025

I have the following architecture:
Browser App (React) -> Nginx K8S Ingress -> Streaming Service A (Kotlin, POD) -> Streaming Service B (Java,POD)

From the browser I upload a json array of 500 MB. Service A proxies the request using streaming, Service B processes that InputStream in chunks of 500 documents.

When request buffering is ON in the Nginx ingress, it takes ~10ms for Service B to fetch a chunk of data (500 docs, ~32 megabytes) from the InputStream. Uploading and processing the JSON from the client's perspective takes only a couple of seconds.

When request buffering is OFF in the Nginx ingress, it takes ~4.5 seconds for Service B to fetch a chunk of data from the InputStream and the entire request takes minutes to complete from the client's perspective.

Can you help me understand why there is such a huge slowdown when buffering is off?

kubernetes nginx network-programming streaming kubernetes-ingress