У нас есть сценарий использования, когда мы загружаем контент (несколько файлов) из s3 параллельно, используя количество потоков x (в настоящее время x настроено на 10).Мы также ограничили общую скорость загрузки с S3 до 200 МБ / с.
Мы видим, что слишком много байтовых [] массивов создаются и удаляются, что приводит к увеличению сбора мусора.Я не слишком уверен, что является причиной этого увеличенного массива byte [], я полагаю, как уже упоминалось с S3Object , для S3ObjectInputStream содержимое объекта не буферизуется в памяти и не передается напрямую из Amazon S3.
Вот несколько снимков с JProfiler
Мои вопросы: -
1) Что-нибудь еще, на что я должен смотреть в JProfiler?
2) Что приводит к массиву байтов []?В любом случае, чтобы избежать их?
3) Есть ли лучшие способы загрузки контента (несколько файлов) из s3?Мы также не хотим, чтобы наши загрузки сожрали все ресурсы.