Heavy load from a Hadoop cluster lead to high resource utilization at FE nodes. Investigations from the server side indicate payload buffering at Http.Sys as the cause. Payload of requests that eventually fail due to throttling limits are also getting buffered, as its triggered before FE could start request processing.
Approach: Client sends Append Http request with Expect header, but holds back on payload transmission until server replies back with HTTP 100. We add this header for all append requests so as to reduce.
We made several workload runs with and without hundred continue enabled and the overall observation is that :-
- The ratio of TCP SYN packet count with and without expect hundred continue enabled is 0.32 : 3 on average.
- The ingress into the machine at TCP level is almost 3 times lesser with hundred continue enabled which implies a lot of bandwidth save.