powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Разбор сайта
8 сообщений из 8, страница 1 из 1
Разбор сайта
    #39068174
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ресурс, с которого надо тащить данные 10-ки тысяч http-страниц.
Пэйджинацию ресурс выдает крайне медленно (5-10сек и более, бывает по ходу и отваливается по таймауту, но это побороли пока). Итого, чтобы скачать допустим 30тыс страниц надо примерно 3-е суток. Все бы ничего, но это только одно направление, а таких порядка пятидесяти, т.е. чтобы достать все направления потребуется около 3-х! месяцев ))
Напрашивается работа в несколько потоков.
При этом задача не нагружать сервер приложений (развернуто в виде сервлета на GF, может и спорно, но пока так) ну и соотв. саму машину, на которой вся эта ботва будет крутиться )

В этой связи вопросы:
1. Сейчас использую HttpURLConnection, имеет ли смысл пытаться как-то асинхронно доставать страницы и есть ли такая возможность? Т.е. запрашивать как-то так, чтобы по минимуму держать процессор машины? Понятно, что можно создать отдельный поток в нем запустить запрос и ждать ответ, но это как бы немного не то - все равно же созданный поток будет задействовать проц.
Имею в виду так: кинул запрос и отпустил проц покурить, периодически заставляя его заглядывать, проверять не пришел ли ответ :)

2. По следам соседней темы: Многопоточность внутри сервлетов. Помогите что использовать
Предполагается использовать FixedThreadPool, насколько это нормально, учитывая контекст топика про утечки в многопоточных библиетаках? И можно ли как-то просто найти утечки при отладке того же сервлета?
...
Рейтинг: 0 / 0
Разбор сайта
    #39068184
Alexey Tomin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDSЕсть ресурс, с которого надо тащить данные 10-ки тысяч http-страниц.
Пэйджинацию ресурс выдает крайне медленно (5-10сек и более, бывает по ходу и отваливается по таймауту, но это побороли пока). Итого, чтобы скачать допустим 30тыс страниц надо примерно 3-е суток. Все бы ничего, но это только одно направление, а таких порядка пятидесяти, т.е. чтобы достать все направления потребуется около 3-х! месяцев ))
Напрашивается работа в несколько потоков.
При этом задача не нагружать сервер приложений (развернуто в виде сервлета на GF, может и спорно, но пока так)

Может это переделать?
Не надо использовать средство не по назначению. Краулер- это отдельное приложение.
...
Рейтинг: 0 / 0
Разбор сайта
    #39068186
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDS30тыс страниц надо примерно 3-е суток
ради интереса сравни скорость с
https://ru.wikipedia.org/wiki/Wget
...
Рейтинг: 0 / 0
Разбор сайта
    #39068189
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey Tomin,
+1
...
Рейтинг: 0 / 0
Разбор сайта
    #39068207
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Напишите им письмо - пусть дадут доступ к базе на чтение , или договоритесь за деньги ...


а так да ExecutorService + апатч клиенты в n потоков

http://habrahabr.ru/post/116363/
...
Рейтинг: 0 / 0
Разбор сайта
    #39068208
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alexey TominМожет это переделать?
Не надо использовать средство не по назначению. Краулер- это отдельное приложение.
Ну сервлет и рассматривается как отдельное приложение, на сервере приложений, роль которого выполняет гласфиш )
Подобного рода приложений довольно много - держать и рулить каждым отдельно?... Все равно очень неплохо бы держать все в одном месте, пул коннектов опять же уже готовый. Хотя мне самому не очень нравится, что приложение оформляется в виде сервлета, т.е. должно давать ответ, который некто якобы может ждать, хотя реально ответ никто не ждет.
Какие есть альтернативы? Или можно использовать тот же GF, но приложение оформлять не как сервлет? )
Petro123ради интереса сравни скорость с
К сож. даже пытаться не буду - на страницах практически нет графики, канал нормальный - долго формируется именно ответ от запрашиваемого сервера и вполне понятно почему - редко когда задумываются над производительностью, когда делают пэйджинацию нескольких миллионов записей, надеясь на то, что все равно никто не будет лазить по десяткам тысяч страниц )
(даже просто: когда запрашиваешь направление, где всего тысяча страниц - все летает)
...
Рейтинг: 0 / 0
Разбор сайта
    #39068213
JDS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Atum1Напишите им письмо - пусть дадут доступ к базе на чтение, или договоритесь за деньги...
Это не наш метод (с) )
...
Рейтинг: 0 / 0
Разбор сайта
    #39068232
Atum1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JDSAtum1Напишите им письмо - пусть дадут доступ к базе на чтение, или договоритесь за деньги...
Это не наш метод (с) )

ну тогда этот ваш

https://jfarcand.wordpress.com/2011/01/04/going-asynchronous-using-asynchttpclient-the-complex/
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Разбор сайта
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]