Перейти к содержимому


Фото
* * * - - 2 Голосов

Dr.Web+Squid: зависает Network Checker

icap squid

  • Please log in to reply
39 ответов в этой теме

#1 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 06 Июнь 2017 - 14:53

Иногда происходит "затык" в работе прокси-сервера (squid, Centos 7.3) из-за проблем с network-checker
 
squid[5207]: suspending ICAP service for too many failures
squid[5207]: essential ICAP service is suspended: icap://127.0.0.1:1344/respmod [down,susp,detached,fail11]
drweb-icapd[24101]: accept: Too many open files
drweb-icapd[24101]: Exit with status 125 (Unexpected error)

Лимиты в системе выставлены были на 20тыс файлов, но после первого сбоя поднял до 60тыс. Проблемы не ушли.

 

Во время этих проблем  drweb-netcheck.real утилизирует 100% ядра. Статус процесса в этот момент - R[unning]

 

Вот лог net-checker'а в момент сбоя

2017-Jun-06 16:20:47 [4757] Debug: Client 0x1: INIT 36032 as LocalJob 0x8cc0
2017-Jun-06 16:20:47 [4757] Debug: LocalJob 0x8cc0: Scan
2017-Jun-06 16:20:47 [4757] Debug: LocalJob 0x8cc0: Scan report received
2017-Jun-06 16:20:47 [4757] Debug: LocalJob 0x8cc1: File "/tmp/com.drweb.ncheck/9feb-28c8-cff3-dc12"
2017-Jun-06 16:20:47 [4757] Debug: Client 0x1: INIT 36033 as LocalJob 0x8cc1
2017-Jun-06 16:20:47 [4757] Debug: LocalJob 0x8cc1: Scan
2017-Jun-06 16:20:47 [4757] Debug: LocalJob 0x8a69: Get data 65536
2017-Jun-06 16:23:30 [4757] Error: Client 0x1: IO: Broken pipe
2017-Jun-06 16:23:30 [4757] Debug: Client 0x1: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8cc1: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8cc0: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8cbe: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8c5d: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8b6f: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x8a69: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x89d2: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x857a: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x73d6: Destroyed
2017-Jun-06 16:23:30 [4757] Debug: LocalJob 0x51ee: Destroyed
2017-Jun-06 16:23:51 [4757] Notice: Termination signal received, exiting...

 

Лечение - рестарт Dr.web.

 

Конфиг squid

icap_enable on
icap_preview_enable on
icap_preview_size 0
icap_persistent_connections on
icap_send_client_ip on
icap_send_client_username on
icap_client_username_header X-Client-Username
icap_client_username_encode off
icap_service i_res respmod_precache bypass=0 icap://127.0.0.1:1344/respmod

У кого-то есть идеи как это полечить?

 


#2 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 06 Июнь 2017 - 15:38

Пожалуйста, напишите в техническую поддержку.


Оптимальное соотношение сигнал/шум в музыке noise.

#3 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 08:23

Похоже я нашёл у себя ошибку.

systemd игнорирует лимиты, выставленные через limit.conf и sysctl.conf. Чтобы выставить лимит надо создать файл /etc/systemd/system/drweb-configd.service.d/limits.conf с содержимым:

 
[Service]                              
LimitNOFILE=16384


#4 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 07 Июнь 2017 - 11:58

 

Похоже я нашёл у себя ошибку.

systemd игнорирует лимиты, выставленные через limit.conf и sysctl.conf. Чтобы выставить лимит надо создать файл /etc/systemd/system/drweb-configd.service.d/limits.conf с содержимым:

 
[Service]                              
LimitNOFILE=16384

 


Спасибо, что написали ответ на форуме!


Оптимальное соотношение сигнал/шум в музыке noise.

#5 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 12:19

Спасибо, что написали ответ на форуме!

Ну от тех.поддержки не дождался ответа :)  Передайте разработчиками, чтобы подправили бинарные пакеты для Linux, пожалуйста.



#6 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 16:12

Спасибо

Радость была преждевременной. Network checker опять "завис", но теперь ничего в лог не написал. В таком состоянии был 40 минут, а потом я его рестартанул. Включил для него отладочный режим.



#7 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 07 Июнь 2017 - 16:18

 

Спасибо, что написали ответ на форуме!

Ну от тех.поддержки не дождался ответа :)  Передайте разработчиками, чтобы подправили бинарные пакеты для Linux, пожалуйста.

 

В ближайшее время будет открытая публичная beta для 11.0.3, в том числе, можно будет установить Internet-gateways для linux из deb или rpm репозитория.
В 11.0.3 было исправление похожей ошибки - скорее всего Вашу проблему это тоже решит.

Если у Вас будет возможность - Вы можете проверить новый продукт до выхода в релиз. Если у Вас будет так же воспроизводится ошибка, разберемся и исправим к релизу.


Оптимальное соотношение сигнал/шум в музыке noise.

#8 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 16:33

 

 

Спасибо, что написали ответ на форуме!

Ну от тех.поддержки не дождался ответа :)  Передайте разработчиками, чтобы подправили бинарные пакеты для Linux, пожалуйста.

 

В ближайшее время будет открытая публичная beta для 11.0.3, в том числе, можно будет установить Internet-gateways для linux из deb или rpm репозитория.
В 11.0.3 было исправление похожей ошибки - скорее всего Вашу проблему это тоже решит.

Если у Вас будет возможность - Вы можете проверить новый продукт до выхода в релиз. Если у Вас будет так же воспроизводится ошибка, разберемся и исправим к релизу.

 

Попробуем бету, т.к. сейчас всё равно не получается полноценно использовать.

 

В дополнении вопрос, т.к. у меня появилось ещё одно предположение.

Параметры Scan Engine:

MaxForks - 24

MaxForksPerFile - 12

 

Если начнётся проверка большого файла (несколько Гб) и пока она не закончится - начнётся проверка другого большого файла (тоже несколько Гб), то не получится ли так, что свободных процессов drweb не останется и остальные файлы будут в очереди? Я не нашёл ограничений на размер файл и на время проверки.



#9 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 19 552 Сообщений:

Отправлено 07 Июнь 2017 - 16:42

>MaxForksPerFile - 12

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.
With best regards, Konstantin Yudin
Doctor Web, Ltd.

#10 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 19 552 Сообщений:

Отправлено 07 Июнь 2017 - 16:44

в 11.0.3 он будет выставлен в 1 и менять его не нужно
With best regards, Konstantin Yudin
Doctor Web, Ltd.

#11 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 07 Июнь 2017 - 16:44

Попробуем бету, т.к. сейчас всё равно не получается полноценно использовать.

 

В дополнении вопрос, т.к. у меня появилось ещё одно предположение.

Параметры Scan Engine:

MaxForks - 24

MaxForksPerFile - 12

 

 

Сколько у Вас ядер на процессоре? о_О

Ограничение на время проверки есть - ScanTimeout, если проверка через icap, то полное название параметра ICAPD.ScanTimeout.
Значение по-умолчанию - 30 секунд.


Сообщение было изменено Danil Biruykov-Romanov: 07 Июнь 2017 - 16:46

Оптимальное соотношение сигнал/шум в музыке noise.

#12 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 17:01

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.

В документации сказано, что MaxForks устанавливается в кол-во_ядер*2, а MaxForksPerFile в MaxForks/2

 

Ядер у меня 12.



#13 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 17:12

Значение по-умолчанию - 30 секунд.

Да, я нашёл в конфиге этот параметр. Сейчас провёл эксперимент: скачивал большой файл. Через 30 сек мне никто не попытался его отдать, в /tmp/com.drweb.ncheck этот файл рос до полного размера где-то 120сек. После того как сделал релоад др.веб - браузер предложил выбрать место под файл. Похоже, что таймаут не срабатывает. А после того как файл полностью скачается, то процесс грузит 100% ядра.

 

В новой бете эта проблема исправлена?


Сообщение было изменено plintapy: 07 Июнь 2017 - 17:15


#14 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 19 552 Сообщений:

Отправлено 07 Июнь 2017 - 17:23

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.

В документации сказано, что MaxForks устанавливается в кол-во_ядер*2, а MaxForksPerFile в MaxForks/2
 
Ядер у меня 12.

это я в курсе. но ставьте в 1 и не задумавайтесь. если не хотите сегфолтов и аномалий
With best regards, Konstantin Yudin
Doctor Web, Ltd.

#15 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 17:34

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.

В документации сказано, что MaxForks устанавливается в кол-во_ядер*2, а MaxForksPerFile в MaxForks/2 Ядер у меня 12.
это я в курсе. но ставьте в 1 и не задумавайтесь. если не хотите сегфолтов и аномалий
Выставил 1, но проблема осталась.

Как воспроизвести баг:
1) пытаемся скачать большой файл (500мб)
2) он не успевает провериться за 30сек (таймаут проверки), но продолжает проверяться
3) после окончания проверки процесс зависает
4) рестартуем дрвеб и браузер сразу предлагает сохранить файл

Два раза воспроизвёл.

#16 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 07 Июнь 2017 - 18:19

 

 

 

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.

В документации сказано, что MaxForks устанавливается в кол-во_ядер*2, а MaxForksPerFile в MaxForks/2 Ядер у меня 12.
это я в курсе. но ставьте в 1 и не задумавайтесь. если не хотите сегфолтов и аномалий
Выставил 1, но проблема осталась.

Как воспроизвести баг:
1) пытаемся скачать большой файл (500мб)
2) он не успевает провериться за 30сек (таймаут проверки), но продолжает проверяться
3) после окончания проверки процесс зависает
4) рестартуем дрвеб и браузер сразу предлагает сохранить файл

Два раза воспроизвёл.

 

Приношу свои извинения за долгий ответ, несколько раз проверил.

CentOS Linux release 7.3.1611 (Core)

squid-3.5.20-2.el7_3.3.x86_64

Наш продукт - 11.0.3, тот что идет в Beta.

Конфиг подключения squid к drweb-icapd:

icap_enable on
icap_service i_req reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service i_res respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access i_req allow all
adaptation_access i_res allow all

Несколько раз заргузил файлы размером от 500Mb, проблемы с "зависшим" netcheck не было, после проверки netcheck даже в top не было видно, нагрузка меньше 0.3%
Загрузка файла заняла больше 30 секунд, проверка - явно меньше.

С netcheck ошибка не воспроизвелась.


Сообщение было изменено Danil Biruykov-Romanov: 07 Июнь 2017 - 18:21

Оптимальное соотношение сигнал/шум в музыке noise.

#17 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 18:49

Доступа к beta ещё нет? У меня squid 3.5.25 из репозитария squid, если это важно.

#18 plintapy

plintapy

    Newbie

  • Posters
  • 21 Сообщений:

Отправлено 07 Июнь 2017 - 18:54

не нужно никогда ни в каких юникс продуктах менять этот параметр на что либо кроме 1.

В документации сказано, что MaxForks устанавливается в кол-во_ядер*2, а MaxForksPerFile в MaxForks/2 Ядер у меня 12.
это я в курсе. но ставьте в 1 и не задумавайтесь. если не хотите сегфолтов и аномалий
Выставил 1, но проблема осталась.
Как воспроизвести баг:
1) пытаемся скачать большой файл (500мб)
2) он не успевает провериться за 30сек (таймаут проверки), но продолжает проверяться
3) после окончания проверки процесс зависает
4) рестартуем дрвеб и браузер сразу предлагает сохранить файл
Два раза воспроизвёл.
Приношу свои извинения за долгий ответ, несколько раз проверил.
CentOS Linux release 7.3.1611 (Core)
squid-3.5.20-2.el7_3.3.x86_64
Наш продукт - 11.0.3, тот что идет в Beta.
Конфиг подключения squid к drweb-icapd:
icap_enable on
icap_service i_req reqmod_precache bypass=0 icap://127.0.0.1:1344/reqmod
icap_service i_res respmod_precache bypass=0 icap://127.0.0.1:1344/respmod
adaptation_access i_req allow all
adaptation_access i_res allow all
Несколько раз заргузил файлы размером от 500Mb, проблемы с "зависшим" netcheck не было, после проверки netcheck даже в top не было видно, нагрузка меньше 0.3%
Загрузка файла заняла больше 30 секунд, проверка - явно меньше.
С netcheck ошибка не воспроизвелась.
Попробуйте скачать файл, чтобы его проверка была больше чем icap.scantimeout. У меня в этом случае ошибка. Возможно у вас интернет быстрее и надо качать несколько Гб.

#19 Konstantin Yudin

Konstantin Yudin

    Смотрящий

  • Dr.Web Staff
  • 19 552 Сообщений:

Отправлено 07 Июнь 2017 - 19:01

в текущем релизе помнится проблема с закачкой больших файлов нам известна и доработки должны влитсо в 11.0.3
With best regards, Konstantin Yudin
Doctor Web, Ltd.

#20 Danil Biruykov-Romanov

Danil Biruykov-Romanov

    Member

  • Members
  • 180 Сообщений:

Отправлено 07 Июнь 2017 - 19:19

Доступа к beta ещё нет? У меня squid 3.5.25 из репозитария squid, если это важно.

Нет, Beta еще не открыта. Откроется на этой или на следующей неделе.
Как только будет открыта - появится ветка в соответствующем разделе форума - https://forum.drweb.com/index.php?showforum=18

Так же, скорее всего я отпишусь в эту ветку.

Касательно таймаутов, уточнил у разработки:
Схема проверки файла через icap выглядит следующим образом:
1. Squid полностью загружает файл
2. Этот файл передается на проверку через протокол icap
3. Тут уже идет проверка файла антивирусом

В случае с Internet-gateways, второй шаг выполняется drweb-icapd (получение файла от Squid и передача его на проверку), и только в третьем пункте таймауты начинают работать.


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


Оптимальное соотношение сигнал/шум в музыке noise.



Also tagged with one or more of these keywords: icap, squid

Читают тему: 0

0 пользователей, 0 гостей, 0 скрытых