Начни читать отсюда https://docs.oracle.com/en/java/javase/17/docs/api...
В стандартной документации достаточно полно изложены принципы и цели использования стримов. Про параллелизм пока забудь. Не надо это тебе. Обрати внимание как работают collect/reduce. И попробуй понять в чем разница между ними.
Я почему спрашиваю. Вы передали List. Уже потеряли время на генерации листа и не сэкономили на стриминге. Провал по сути. Здесь конешно можно обсуждать стримы но вы уже проиграли.
Суммарное время работы вашей функции это сумма времени загрузки листа из базы и генерации outputrecords. Причем outputrecords будут занимать 1% от общего времени.
А если мы работаем с БД то запросами ROLLUP/Cube мы можем просто собрать эту метрику среднего прямо в БД и отдать ответом вместе с основным телом.
Это по сути мой ответ на вопрос по поводу софистического и надуманного примера.
Streams с параллелизмом практически мало вам дают пользы. Просто другие затраты съедают в тысячи и миллионы раз больше времени. Вот такое мое рассуждение по этому вопросу.
Я не знаю что такое aiohttp. Не пользовался. У тебя судя по логам TimeoutError
Может ты зобанен. Или кто-то тебя не пускает. Вообще. До того как программировать сделай простой тест. Через Postman, или через wget или curl просто скачай свою ссылку. А по результатам уже - делай дальше код.
Мне кажется что автору на самом деле надо не VPS а VPN.
По поводу Ubuntu/XFCE/LXDE. Это все работает но со множеством ограничений. Сможете зайти на хабр.
Но вряд-ли сможете поиграть в Unity-игры в браузере. Надо это понимать.
В наше время операционки уже на сях пишут. Я просто не знаю кейса когда-бы вам именно для РАЗРАБОКИ нужен был-бы этот язык. Исключение составляет разве-что анализ performance issues. Тогда нужно погружаться в дебри того что создал компиллятор.