Java UrlConnection, запускающий исключения «Сброс соединения» при высокой нагрузке. Почему?

Я использую Java для потоковой передачи файлов с Amazon S3 на 64-битных серверах Linux (Ubuntu 10).

Я использую отдельный поток для каждого файла, и каждый файл открывает HttpURLConnection , который загружает и обрабатывает каждый файл одновременно.

Все работает прекрасно, пока я не достигну определенного количества потоков (обычно около 2-300 одновременных потоков). В нерегулярные моменты после этого несколько (скажем, 10) потоков начнут испытывать java.net.IOException: ошибки сброса соединения одновременно .

Я уменьшаю скорость загрузки, и ее уровень ниже 250 Мбит / с, установленного для экземпляра m1.large. Также существует незначительная нагрузка на все остальные аспекты сервера (например, ЦП, средняя нагрузка и использование памяти в порядке).

Что может быть причиной этого, или как я могу это отследить?

6
задан Rob Watson 2 February 2012 в 17:38
поделиться