Капмонстр 2 бесконечная очередь.

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
При большом количестве запросов (в частности рекапчи 2) начинает расти очередь распознавания капч, затем начинает расти очередь результата, т.к. ,имхо, zennoposter не дожидается ответа от сервиса, и отваливается, в итоге зенка практически не получает ответов, т.к. запрос за капчей отваливается раньше.

В итоге мы получаем что растет и очередь распознавания, и очередь результата, т.к. его уже некому забирать.

И как финальный аккорд, при увеличении очереди свыше 200 с хвостиком, капмонстр вообще перестает распознавать любые капчи до перезагрузки оного.

P.S. Очередь заданий совсем не учитывает пришедшие типы капч, все лепит в одну очередь, хотя те-же самые аудио капчи можно было бы разгадывать и на проце, в итоге если очередь забилась рекапчей, то другие капчи стоят в этой-же очереди.

Вопросы:
1. Как в зеннопостере можно увеличить время ожидания ответа капчи CaptchaRecognition ?
2. Есть ли, или планируется возможность балансировки ?, например выставляем что если очередь больше чем 50 капч, редиректим запросы на другой капмонстр. мне не трудно запустить еще на одном компьютере, но я не могу балансировать запросы (про поставить мощнее видеокарту не предлагать, вся 9xx серия капмонстром не поддерживается, а быстрее их на данный момент ничего нет), распознавать все через аудио тоже не вариант, т.к. если расопзнавать только через аудио, в итоге ипы попадают в некий аналог бана, вроде и можно, а реально хрен.
3. Что там слышно по поддержке новых Nvidia видеокарт ?
4. Ваши мысли о масштабировании ? т.к. даже 20 потоков я не могу использовать целиком в итоге (

P.P.S отчет не прикрепляется из-за размера, залил его на сендспейс https://www.sendspace.com/file/alhetf
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Получил ответы на остальное:

2) Не планируется
3) У нас нет, к сожалению, возможности их проверить
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 595
Благодарностей
1 014
Баллы
113
2. Есть ли, или планируется возможность балансировки ?, например выставляем что если очередь больше чем 50 капч, редиректим запросы на другой капмонстр. мне не трудно запустить еще на одном компьютере, но я не могу балансировать запросы (про поставить мощнее видеокарту не предлагать, вся 9xx серия капмонстром не поддерживается, а быстрее их на данный момент ничего нет), распознавать все через аудио тоже не вариант, т.к. если расопзнавать только через аудио, в итоге ипы попадают в некий аналог бана, вроде и можно, а реально хрен.
как вариант настроить в проекте подключения к разным сервисам antigate/anticapcha и т.п. и прописать разные ip в их настройке, а сервис выбирать случайным образом - тогда можно размазать запросы.
p.s. кто-то предлагал упростить - сделать возможность создавать свои виртуальные сервисы, что бы ip каждый раз не менять.
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Получил ответы на остальное:
2) Не планируется
А добавить возможность получать данные по очередям в капмонстре ? дальше я уже сам разбалансирую.

как вариант настроить в проекте подключения к разным сервисам antigate/anticapcha и т.п. и прописать разные ip в их настройке, а сервис выбирать случайным образом - тогда можно размазать запросы.
p.s. кто-то предлагал упростить - сделать возможность создавать свои виртуальные сервисы, что бы ip каждый раз не менять.
Пробовал, создаются перекосы, т.к. рандом он такой рандом, если будет возможность получать данные по очередям, тогда балансировать будет просто, и если даже все капмонстры будут загруженны, скрипт сможет просто подождать.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

olegan1

Client
Регистрация
28.08.2014
Сообщения
51
Благодарностей
2
Баллы
8
идея интересна по поводу чтоб менять ключи от разных сервисов, если очень много потоков и гадает например 500 капч в минуту, то чтоб разгрузить запросы к ключу сделать их 2 штуки и рандомно пусть берет их, это чем-то улучшит работу монстра и в целом все остально?
2.вопрос у меня процессор грузится 70% если я поставлю галочку на видио-карту, то запросы разгадываться будут быстрей? и процессор разгрузится немного? гадает аудио-капчу тоько
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
2) попробуйте)
 

olegan1

Client
Регистрация
28.08.2014
Сообщения
51
Благодарностей
2
Баллы
8
ну по 2 вопосу как бы разработчики должны знать ) хотел узнать ответ от них) или вас)
а по поводу первого? будет какая разница с 2 ключами или нет?
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Я не знаю что у вас за видеокарта и будет ли она работать с программой, мы не все видеокарты тестили. Поэтому попробуйте. Если на видеопамяти сможет работать, то конечно CPU разгрузится.

Никакой разницы для Капмонстра сейчас нет какой ключ. Нагрузку по сервакам он распределять не умеет
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Тебе подойдет информация подобно этой? http://antigate.com/load.php
В смысле в xml формате ?

Код:
<QUEUE>
<intercept>0</intercept> <!-- Очередь перехвата -->
<recognition>20</recognition> <!-- Очередь распознавания -->
<processing >0</processing > <!-- Очередь обработки -->
<processinghard>0</processinghard> <!-- Очередь обработки  сложных -->
<result>2</result> <!-- Очередь результата -->
</QUEUE>
Как-то так если сделать, будет удобно.
 
Последнее редактирование:

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Не совсем понятно как эту инфу на практике ты будешь использовать) У нас тут спрашивают)
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Буду проверять очереди перед отправкой капчи, и если некоторые очереди будут больше допустимого мной значения, буду отправлять распознавание капчи на другой капмонстр.
Пока затыки наблюдались только с очередями распознавания, и из-за нее уже с очередью результата, так-что в принципе должно данных и по одной этой очереди хватить.
Ну и очередь обработки сложных не помешает, если у меня несколько капмонстров, чего не размазать запросы, если где-то подхожу к потолку.

В идеале конечно балансировку такую средствами капмонстра сделать, а то надо будет балансировку или во всех скриптах делать, или поднимать свой веб сервер балансировочный. который будет прокидывать запросы исходя из нагрузки.
 
Последнее редактирование:

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 595
Благодарностей
1 014
Баллы
113

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 595
Благодарностей
1 014
Баллы
113
Вот накидал случайным образом будет перекидывать запросы дальше... надо рапарсить ответ из $out и хранить какой id на какой сервак ушел... если придумаешь логику балансировки то можно дальше накатать )

<?php
$sites[]='site1.ru';
$sites[]='site2.ru';
$sites[]='site3.ru';
$site=$sites[array_rand($sites)];

foreach ($_POST as $key => $value) {
$post.="$key=$value&";
}

if( $curl = curl_init()){
curl_setopt($curl, CURLOPT_URL,$site.'/in.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST,true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$post);
$out = curl_exec($curl);
echo $out;
curl_close($curl);}

?>
 
  • Спасибо
Реакции: Adigen

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Вот накидал случайным образом будет перекидывать запросы дальше... надо рапарсить ответ из $out и хранить какой id на какой сервак ушел... если придумаешь логику балансировки то можно дальше накатать )

<?php
$sites[]='site1.ru';
$sites[]='site2.ru';
$sites[]='site3.ru';
$site=$sites[array_rand($sites)];

foreach ($_POST as $key => $value) {
$post.="$key=$value&";
}

if( $curl = curl_init()){
curl_setopt($curl, CURLOPT_URL,$site.'/in.php');
curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl, CURLOPT_POST,true);
curl_setopt($curl, CURLOPT_POSTFIELDS,$post);
$out = curl_exec($curl);
echo $out;
curl_close($curl);}

?>
Спасибо, дождемся что разрабы нам сделают, и тогда стукну обсудим логику балансировки, когда будет от чего отталкиваться.
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
825
Благодарностей
653
Баллы
93
Сегодня опять пару раз вылезала проблема с очередями, причем нагрузка на капмонстр не менялась, в среднем около 20-30 капч в минуту.
Заметил что в момент когда вылезает эта проблема CMConnector в памяти занимает 30-300мб, вместо положенных 600-800, точнее как занимает, судя по всему он пробует подгрузиться в память, доходит до положенного объема и вероятно падает, т.к. потом все начинается заново, в это время соответсвенно никакие капчи через него не распознаются и сразу скачком вырастает очередь распознования.
Проходит минут 10, CMConnector все-таки умудряется попасть в память и закрепиться в ней (как я думаю), очередь сразу освобождается, распознавание идет нормальным чередом.

В это время нагрузки на систему особой нет, процессора и gpu до 50%, память видеокарты максимально 500мб, которые CMConnector и кушает (когда его колбасит так, загрузка памяти в видюхе падает)

P.S. Зеннопостер запущен на встроенной видеокарте, иначе он выжирает память внешней видекарты под ноль, это кстати можно как-то регулировать у него, чтобы там не больше 1 гб видеопамяти использовал ?
Иначе без второй видекарты в неравной борьбе за видеопамять между зеннопостером и капмонстром, побеждает зеннопостер выедая всю видео память под 0 и обделенный капмонстр идет распознавать на процессор.
 
Последнее редактирование:

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 595
Благодарностей
1 014
Баллы
113
Не совсем понятно как эту инфу на практике ты будешь использовать) У нас тут спрашивают)
На самом деле над попросить у разработчиков мелочь по запросу /in.php?q=queue что бы он выдал какая очередь... делов на 2 минуты :-)
А дальше уже можно распределить своими силами думаю.
 
  • Спасибо
Реакции: Adigen

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113

daymos

Client
Регистрация
11.11.2009
Сообщения
806
Благодарностей
240
Баллы
43

ibred

Client
Регистрация
04.04.2015
Сообщения
3 835
Благодарностей
3 552
Баллы
113

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