Я использую Java для потоковой передачи файлов с Amazon S3 на 64-битных серверах Linux (Ubuntu 10).
Я использую отдельный поток для каждого файла, и каждый файл открывает HttpURLConnection
, который загружает и обрабатывает каждый файл одновременно.
Все работает прекрасно, пока я не достигну определенного количества потоков (обычно около 2-300 одновременных потоков). В нерегулярные моменты после этого несколько (скажем, 10) потоков начнут испытывать java.net.IOException: ошибки сброса соединения
одновременно .
Я уменьшаю скорость загрузки, и ее уровень ниже 250 Мбит / с, установленного для экземпляра m1.large. Также существует незначительная нагрузка на все остальные аспекты сервера (например, ЦП, средняя нагрузка и использование памяти в порядке).
Что может быть причиной этого, или как я могу это отследить?