For Thrift streaming responses, decrease default chunk size.
For Thrift streaming responses, decrease default chunk size.

Summary:
The default IOBuf return streaming chunk size of 16KB is somewhat large
for servers with large numbers of lightweight streaming connections.

This change reduces the value to 4KB, which seems to be a reasonable
balance between reducing memory in the small-stream case, while preserving
throughput for the large stream case.

We could use serializedSizeZC() as a hint, but this imposes a possibly
undesirable cpu cost (particularly with Compact protocol) that we might
not want to pay.

In practice, given that this change reduces OOMs significantly in some real
cases, it seems that this might be a place to admit that our original
conjecture of 16KB as a value was a little high, and that 4KB might
be an appropriate balance. Unless we have cases that strongly want this
to be higher, in which case we can figure out a way to parameterize it.
But, until this complexity seems warranted, it might be best to keep like this.

Reviewed By: yfeldblum

Differential Revision: D15273072

fbshipit-source-id: dd8235c70c095b22cd18b7fcc13cb427e4ab2e70

facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift,facebook/fbthrift