Понятие «общая пропускная способность интернета, доступная на данном компьютере» действительно трудно определить. Однако настройка размера локального буфера не повлияет на объем данных, передаваемых отдельному клиенту.
Скорость, с которой данный клиент может получать данные с вашего сервера, зависит от клиента и от времени. Для любого данного соединения вы можете быть ограничены локальным восходящим соединением с Интернетом (например, сервером в DSL), или вы можете быть ограничены где-то в ядре (маловероятно) или на удаленном конце (например, сервер в центре обработки данных, клиент по телефонной линии). Когда у вас много соединений, каждое отдельное соединение может иметь разные узкие места. Измерение этой доступной полосы пропускания является сложной проблемой; см., например, этот список исследований и инструментов по теме.
В целом, TCP будет обрабатывать использование всей доступной пропускной способности справедливо для любого данного соединения (хотя иногда он может реагировать на изменения доступной пропускной способности медленнее, чем вам нравится). Если клиент не может обработать больше данных, вызов записи блокируется.
Вам нужно только настроить размер буфера в связанном вопросе, если вы обнаружите, что видите низкую пропускную способность и причина этого - недостаточно буферизованных данных для записи в сеть. Другая причина, по которой вы можете настроить размер буфера, - это если у вас так много активных соединений, что у вас мало памяти.
В любом случае реальный ответ может состоять в том, чтобы вообще не буферизовать, а вместо этого поместить ваши статические файлы на отдельный сервер и использовать что-то вроде thttpd для их обслуживания (используя системный вызов, такой как sendfile ) вместо сервлета. Это помогает гарантировать, что узкое место находится не на вашем сервере, а где-то в Интернете, вне вашего контроля.