Шлюз для капмонстра и исправление проблем с зависанием

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

Есть желающие купить?

  • Не интересует - у меня маленький объем, КМ справляется

    Голосов: 0 0,0%

  • Всего проголосовало
    3

OneManArmy

Новичок
Регистрация
07.07.2018
Сообщения
2
Реакции
1
Баллы
3
После недавних обновлений - капмонстр начинает виснуть как только нагрузка возрастает до определенного уровня. То есть, полностью виснет интерфейс, и капчи начинают решаться с большими задержками. А потом он начинает понемногу жрать память, пока не выжрет всю, и случается OutOfMemoryException.

Общение клиента с поддержкой закончилось тем, что они предложили переустановить драйвер звуковой карты... на Windows Server(!)... на VPS(!).

Описание механизма проблемы

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

Решение

Написана программа-шлюз на Node, которая принимает капчи, и отправляет их в капмонстр. Вся очередь теперь внутри шлюза, и он сам регулирует, во сколько потоков отправлять капчи в КМ. Это полностью вылечило проблему - ничего не виснет, и капчи решаются максимально быстро.

Текущая версия шлюза написана под клиента - она сама обрабатывает ключи, пишет логи, меняет тело запроса перед отправкой в КМ, там свой формат запросов и ответов, и некоторая дополнительная функциональность. Но на продажу всего этого не будет: извините, но скрипт предоставляет слишком много возможностей, так что обязательно найдется мошенник, который своей деятельностью нанесет вред и людям, и клиенту. Преценденты уже были, всякие разные.

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

Если народ соберется - то цена $20 (исходник будет зашифрован).
 
  • Спасибо
Реакции: webkosmos
Почему в вариантах опроса нет: "Нет, у меня капмонстр отлично справляется"?
 
  • Спасибо
Реакции: one и zortexx
Это решается элементарно, учетом отправленных каптч. Храним количество каптч в глобальной переменной, перед отправкой следующей проверяем, не превышено ли значение. После разгадывания капчи, счетчик в глобальной переменной уменьшаем.

PS.: в голосовании не хватает пункта: "Идите лесом, мы сами тут умные" :D
 
  • Спасибо
Реакции: Koqpe
PS.: в голосовании не хватает пункта: "Идите лесом, мы сами тут умные"
Тело, наверное, не понимает, что запросы асинхронные. Почему бы вам не написать это элементарное решение, и не выложить сюда бесплатно? Поможете людям, прокачаете понты.
 
Тело, наверное, не понимает, что запросы асинхронные. Почему бы вам не написать это элементарное решение, и не выложить сюда бесплатно? Поможете людям, прокачаете понты.
Тушка, по всей видимости, черезчур обеспокоена понтами и асинхронностью своего бреда. Напишу прямым текстом, идите лесом, беспонтовый гражданин со статусом новичек. Направление подсказывать не буду, - сами догадаетесь. Чай, не ребенок, хотя сейчас как раз каникулы.
Щастья.
 
Капмонстр нужно как минимум на 64битную версию переводить, у 32 ограничение по потокам как таковых вообще... макс где то 1500 одновременных потоков тащит, у 64бит версии приложений этой проблемы нет.
OutOfMemoryException.
Оно же..
upload_2018-7-25_0-4-23.jpeg

И пофиг что памяти может быть свободно десятки гигов..
 
Такое дополнение к капмонстру решило бы загруженность 1 машины, была бы возможность распределить нагрузку между серверами. А то на 1 машине выше головы не прыгнешь =) все упирается в проц.
 
хз, у меня монстер(или винда) иногда крашится, поэтому купил две, а перед ними поставил самописную проксю
заодно и метрики для прометея/графаны отдаёт. Берите не жалко https://hub.docker.com/r/a3rght/caproxy
 
  • Спасибо
Реакции: BAZAg
43732

...и образ докера там же, чтоб не компилить
 
  • Спасибо
Реакции: BAZAg и sandz

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