Автор Тема: Как увеличить скорость съема позиций?  (Прочитано 5429 раз)

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Как увеличить скорость съема позиций?
Посмотрел журналы:
1 поток, публичный прокси:
https://yadi.sk/d/zdEd2oF8tVcit
100 потоков, публичные прокси:
https://yadi.sk/d/mGjs5Ad3tVckJ

Разница во времени между сообщениями порой составляет более 20 сек.

В однопоточном режиме задержки идут в основном после сообщения Navigate, но есть и другие случаи:
21.07.2016 11:54:19: Navigate: http://yandex.ru/search/customize?retpath=http%3A%2F%2Fwww.yandex.ru
21.07.2016 11:54:54: Get function result: is_setup_page()

21.07.2016 11:55:10: Navigate: http://yandex.ru/search/customize?retpath=http%3A%2F%2Fwww.yandex.ru
21.07.2016 11:55:33: Get function result: is_setup_page()

21.07.2016 11:52:42: Result: true
21.07.2016 11:53:19: Настройка подключения завершена

В многопоточном режиме появляются зависания после "Отправка запроса"
21.07.2016 12:04:50: Отправка запроса - http://yandex.ru/search/?text=air%20fi&numdoc=50&lang=ru&rstr=-213&lr=213
21.07.2016 12:05:39: Browser engine ID: IE

С чем это связано и как увеличить скорость работы?

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #1 : 21 Июль 2016, 10:39:50 »
cfytr, 100 потоков слишком много, ориентируйтесь примерно на такие цифры: 5 поток на одно ядро процессора и один Гб памяти. На публичных прокси большой скорости не добиться.

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #2 : 21 Июль 2016, 10:57:55 »
Откуда такие ограничения на потоки? Когда запускаю 100 потоков, 4 ядерный процессор загружен только на 50%. И памяти свободной еще 8 Гб.
Как оптимизировать скорость работы на публичных серверах? Можно ли как-то пропускать медленные сервера?

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #3 : 21 Июль 2016, 11:26:09 »
cfytr, ограничений нет, цифры взяты из опыта использования естественно. Нагрузка малая от того что на медленных прокси программа постоянно находится в режиме ожидания. В программе нет функционала по отбраковке медленных прокси.

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #4 : 21 Июль 2016, 11:53:44 »
Задержка после "Отправка запроса" появляется только в многопоточном режиме, значит она не зависит от качества прокси. С чем она связана?

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #5 : 21 Июль 2016, 12:13:41 »
cfytr, задержка связана с запуском потока, поток запускается при каждой смене IP.

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #6 : 22 Июль 2016, 11:09:25 »
IP не меняется. Задержка появляется после повторного запроса из-за получения сообщения "Неизвестная страница".

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #7 : 22 Июль 2016, 11:15:07 »
Задержка связана с запуском/перезапуском потока.

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #8 : 05 Август 2016, 08:23:28 »
Поток перезапускается после каждого запроса страницы и перезапуск занимает 30 секунд? Вы уверены, что это необходимо? По-моему это какой-то баг в программе.

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #9 : 05 Август 2016, 08:29:38 »
cfytr, если требуется смена IP, то поток перезапускается, так же он может перезапускаться и по другим причинам. В штатном режиме поток не перезапускается на каждом запросе, пришлите журнал где это происходит.

cfytr

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #10 : 05 Август 2016, 10:03:41 »
Журнал и места в которых происходят основные задержки указаны в первом сообщении. Там 4 случая. Можете прокомментировать по каждому откуда берется задержка?

byterus

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 1168
    • Просмотр профиля
Re: Как увеличить скорость съема позиций?
« Ответ #11 : 05 Август 2016, 10:18:10 »
cfytr, про задержку после "Отправка запроса" я уже ответил. Задержка после Navigate связана с низкокачественными прокси, программа ждет ответа одну минуту, после того как время истекает - повторяет попытку, либо меняет IP.