Я бы предположил, что проблема не в вашей Java-программе. Тем не менее, для дальнейшего устранения неполадок, я предлагаю вам создать бинарный граф дерева поиска. Определите тест, который может разрезать проблемную область пополам, и повторите.
Я видел одну проблему давным-давно, когда большие файлы не могли быть переданы, потому что терминатор был удален из сети 10-Base2. Вы можете попытаться передать большие файлы с помощью другого программного обеспечения, такого как FTP, проверить, имеет ли смысл скорость передачи и т. Д.
Вы можете использовать ping для отправки пакетов различного размера на хост Windows 2003. Вы можете запустить клиент локально на сервере и посмотреть, есть ли у него такая же проблема.
У вас может быть частично неисправный сетевой адаптер, маршрутизатор или кабель Ethernet. Таков был случай в LAX несколько лет назад.