Вам нужно определить, где проблема в первую очередь: это тот случай, когда сервер, с которого вы тянете страницы, работает очень медленно или тот факт, что используемый вами прокси-сервер действительно медленный (или оба)?
Если вы используете подобные wget (или, возможно, даже curl) в командной строке, которая должна показать вам статистику о времени загрузки страницы - через прокси и в обход прокси. Если эти времена совпадают с тем, что показывает ваш код, то вы ничего не можете оптимизировать. Однако, если вы видите несоответствия, вы можете посмотреть на другие способы использования страниц в вашем коде.
Общее правило:
- используйте Java NIO, если вы имеете дело с большим количеством соединений
- используйте обычный Java IO, если вы имеете дело с большими передачами только на несколько хостов / серверов