Ограничить количество соединений

Osty

Client
Регистрация
24.04.2017
Сообщения
20
Благодарностей
2
Баллы
3
Здравствуйте, уважаемые!

Есть задача: ограничить количество соединений к каждому конкретному прокси-серверу. Нам нужно не более 10 соединений.

Есть проблема: ZP/PM не реагирует на настройки браузера в части ограничения количества соединений.

Используем такой код:

instance.SetBrowserPreference("network.http.max-connections", 8 );
instance.SetBrowserPreference("network.http.max-connections-per-server", 8 );
instance.SetBrowserPreference("network.http.max-persistent-connections-per-proxy", 8 );
instance.SetBrowserPreference("network.http.max-persistent-connections-per-server", 8 );

В результате, при запуске проекта в PM получаем следующую картину (вывод netstat -nto):

(см. прикреплённый скрин)

Используемые нами прокси-сервера отбрасывают соединения, выходящие за лимит. На практике это выглядит как непрогрузка элементов страницы — картинок, стилей, скриптов, видео, и т.д.

Вопрос: как ограничить количество соединений к используемому прокси-серверу?

В прилагаемом проекте рабочая тестовая страница, которая демонстрирует этот эффект. Версия ZP последняя на текущий момент.
 

Вложения

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 994
Благодарностей
787
Баллы
113
костыли такие:
1. не запускать больше 8 потоков
2. делать логику использования конкретного прокси в потоке, только если не больше 8 - через запись в таблице возле каждого прокси - количество соединений (начинаем использовать если не больше и не равно 8 после чего прибавляем 1 и перезаписываем ячейку, по завершения потока перезаписываем с уменьшением на 1)
 

ZennoScript

Moderator
Регистрация
04.03.2011
Сообщения
4 450
Благодарностей
1 885
Баллы
113
костыли такие:
1. не запускать больше 8 потоков
2. делать логику использования конкретного прокси в потоке, только если не больше 8 - через запись в таблице возле каждого прокси - количество соединений (начинаем использовать если не больше и не равно 8 после чего прибавляем 1 и перезаписываем ячейку, по завершения потока перезаписываем с уменьшением на 1)
Это всё вообще в другую степь.
Имеется ввиду, что когда грузится сайт, он одновременно грузит во много потоков - паралельно грузятся фотки, скрипты и т.д. Если прокси не позволяют такого, то просто теряется часть пакетов, а как результат - часть сайта.
 
  • Спасибо
Реакции: Platoon и arhip1985

Osty

Client
Регистрация
24.04.2017
Сообщения
20
Благодарностей
2
Баллы
3
Админы, кто-нибудь может прокомментировать?
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Вы используете socks5, а соединения ограничиваются на http - network.http.max-persistent-connections-per-proxy
 
  • Спасибо
Реакции: Platoon

Osty

Client
Регистрация
24.04.2017
Сообщения
20
Благодарностей
2
Баллы
3
Вы используете socks5, а соединения ограничиваются на http - network.http.max-persistent-connections-per-proxy
Мы сейчас в процессе тестирования ZP и решаем, что делать дальше. Под наш проект у нас сотни тысяч наших приватных socks5 проксей, http никак нет. Эта проблема остановила всю работу.

Нужно ограничение количества соединений на инстанс, не базу. Это очень важно. Работать с 1 инстансом в базе невозможно, очень всё тормозит уже на 50 потоках. И это на 56 ядрах с 96 ГБ памяти.

Мы используем 20 инстансов на базу, а т.к. ограничение network.http.max-connections на всю базу, а не на инстанс, тут всё рассыпается.

Планируем купить под сотню лицензий ZP Pro в случае положительного результата тестирования. Давайте что-нибудь придумаем.
 
Последнее редактирование:
  • Спасибо
Реакции: Lord_Alfred

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113
Мы сейчас в процессе тестирования ZP и решаем, что делать дальше. Под наш проект у нас сотни тысяч наших приватных socks5 проксей, http никак нет. Эта проблема остановила всю работу.

Нужно ограничение количества соединений на инстанс, не базу. Это очень важно. Работать с 1 инстансом в базе невозможно, очень всё тормозит уже на 50 потоках. И это на 56 ядрах с 96 ГБ памяти.

Мы используем 20 инстансов на базу, а т.к. ограничение network.http.max-connections на всю базу, а не на инстанс, тут всё рассыпается.

Планируем купить под сотню лицензий ZP Pro в случае положительного результата тестирования. Давайте что-нибудь придумаем.
Разработчики разбираются с этой проблемой. В ближайшее время постараемся предложить решение.
 

VladZen

Administrator
Команда форума
Регистрация
05.11.2014
Сообщения
22 453
Благодарностей
5 912
Баллы
113

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)