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

  • Автор темы Автор темы Adigen
  • Дата начала Дата начала

Adigen

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

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

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

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

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

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

2) Не планируется
3) У нас нет, к сожалению, возможности их проверить
 
2. Есть ли, или планируется возможность балансировки ?, например выставляем что если очередь больше чем 50 капч, редиректим запросы на другой капмонстр. мне не трудно запустить еще на одном компьютере, но я не могу балансировать запросы (про поставить мощнее видеокарту не предлагать, вся 9xx серия капмонстром не поддерживается, а быстрее их на данный момент ничего нет), распознавать все через аудио тоже не вариант, т.к. если расопзнавать только через аудио, в итоге ипы попадают в некий аналог бана, вроде и можно, а реально хрен.
как вариант настроить в проекте подключения к разным сервисам antigate/anticapcha и т.п. и прописать разные ip в их настройке, а сервис выбирать случайным образом - тогда можно размазать запросы.
p.s. кто-то предлагал упростить - сделать возможность создавать свои виртуальные сервисы, что бы ip каждый раз не менять.
 
Получил ответы на остальное:
2) Не планируется
А добавить возможность получать данные по очередям в капмонстре ? дальше я уже сам разбалансирую.

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

Пробовал, создаются перекосы, т.к. рандом он такой рандом, если будет возможность получать данные по очередям, тогда балансировать будет просто, и если даже все капмонстры будут загруженны, скрипт сможет просто подождать.
 
идея интересна по поводу чтоб менять ключи от разных сервисов, если очень много потоков и гадает например 500 капч в минуту, то чтоб разгрузить запросы к ключу сделать их 2 штуки и рандомно пусть берет их, это чем-то улучшит работу монстра и в целом все остально?
2.вопрос у меня процессор грузится 70% если я поставлю галочку на видио-карту, то запросы разгадываться будут быстрей? и процессор разгрузится немного? гадает аудио-капчу тоько
 
2) попробуйте)
 
ну по 2 вопосу как бы разработчики должны знать ) хотел узнать ответ от них) или вас)
а по поводу первого? будет какая разница с 2 ключами или нет?
 
Я не знаю что у вас за видеокарта и будет ли она работать с программой, мы не все видеокарты тестили. Поэтому попробуйте. Если на видеопамяти сможет работать, то конечно CPU разгрузится.

Никакой разницы для Капмонстра сейчас нет какой ключ. Нагрузку по сервакам он распределять не умеет
 
Тебе подойдет информация подобно этой? http://antigate.com/load.php
В смысле в xml формате ?

Код:
Развернуть Свернуть Копировать
<QUEUE>
<intercept>0</intercept> <!-- Очередь перехвата -->
<recognition>20</recognition> <!-- Очередь распознавания -->
<processing >0</processing > <!-- Очередь обработки -->
<processinghard>0</processinghard> <!-- Очередь обработки  сложных -->
<result>2</result> <!-- Очередь результата -->
</QUEUE>
Как-то так если сделать, будет удобно.
 
Последнее редактирование:
Не совсем понятно как эту инфу на практике ты будешь использовать) У нас тут спрашивают)
 
Буду проверять очереди перед отправкой капчи, и если некоторые очереди будут больше допустимого мной значения, буду отправлять распознавание капчи на другой капмонстр.
Пока затыки наблюдались только с очередями распознавания, и из-за нее уже с очередью результата, так-что в принципе должно данных и по одной этой очереди хватить.
Ну и очередь обработки сложных не помешает, если у меня несколько капмонстров, чего не размазать запросы, если где-то подхожу к потолку.

В идеале конечно балансировку такую средствами капмонстра сделать, а то надо будет балансировку или во всех скриптах делать, или поднимать свой веб сервер балансировочный. который будет прокидывать запросы исходя из нагрузки.
 
Последнее редактирование:
или поднимать свой веб сервер балансировочный. который будет прокидывать запросы исходя из нагрузки.
это не так сложно на пыхе буквально 5 строчек )
 
Вот накидал случайным образом будет перекидывать запросы дальше... надо рапарсить ответ из $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
Вот накидал случайным образом будет перекидывать запросы дальше... надо рапарсить ответ из $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);}

?>
Спасибо, дождемся что разрабы нам сделают, и тогда стукну обсудим логику балансировки, когда будет от чего отталкиваться.
 
Сегодня опять пару раз вылезала проблема с очередями, причем нагрузка на капмонстр не менялась, в среднем около 20-30 капч в минуту.
Заметил что в момент когда вылезает эта проблема CMConnector в памяти занимает 30-300мб, вместо положенных 600-800, точнее как занимает, судя по всему он пробует подгрузиться в память, доходит до положенного объема и вероятно падает, т.к. потом все начинается заново, в это время соответсвенно никакие капчи через него не распознаются и сразу скачком вырастает очередь распознования.
Проходит минут 10, CMConnector все-таки умудряется попасть в память и закрепиться в ней (как я думаю), очередь сразу освобождается, распознавание идет нормальным чередом.

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

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

На самом деле над попросить у разработчиков мелочь по запросу /in.php?q=queue что бы он выдал какая очередь... делов на 2 минуты :-)
А дальше уже можно распределить своими силами думаю.
 
  • Спасибо
Реакции: Adigen

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