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


Фото
- - - - -

[?] Оптимизация работы АВ на машинах разработчиков


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

#1 Jumbo Frame

Jumbo Frame

    Member

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

Отправлено 19 Ноябрь 2025 - 13:05

Ситуация следующая:

 

разработчики у нас работают под Windows (что есть - то есть...) и массово гоняют проекты по диску туда-сюда. В проектах много *.jar-файлов (в основном). Файлы эти активно проверяются Dr.Web ESS на каждой машине.

Разработчикам не нравится, что операции копирования и сборки замедляются. Со скриншотом диспетчера задач, где АВ потребляет аж 20-25% процессора - вышли на руководство, мол, антивирус сильно тормозит рабочие процессы - очень мешает.

 

Посмотрели логи - да, всё штатно: любой .jar - обнюхивается, .class внутри - проверяется.

Режим проверки - "оптимальный", эвристика включена.

 

Руководство пришло к нам с распоряжением "всё ускорить". Навскидку видятся варианты:

 

со снижением уровня ИБ:

- отключить эвристику;

- заставить всех страдальцев перенести проекты в каталог, например, с:\work, его поставить в исключения; или 

- поставить в исключения вообще все *.jar.

 

без снижения:

- вложиться в апгрейд парка (например, увеличить частоту CPU/количество ядер на машинах).

 

Как лучше поступить? Есть какие-то "лучшие практики" по настройке АВ при работе со средами разработки? Или есть ещё какие-то способы поднять производительность?


Dr.Web Server 13.00.1-202503170 (Linux 5.10.198-std-def-alt1 x86_64; 1 SMP Wed Oct 11 00:33:51 UTC 2023; glibc 2.32)


#2 Dmitry_rus

Dmitry_rus

    Guru

  • Helpers
  • 3 686 Сообщений:

Отправлено 19 Ноябрь 2025 - 13:44

Сейчас более опытные коллеги, разумеется, выскажут свои мнения по этому вопросу, а пока, как системный администратор и специалист по ИБ, которому по долгу службы приходится обслуживать парк из почти сотни разнообразных машин, рискну вставить свои 5 копеек.

со снижением уровня ИБ:

- отключить эвристику;

- заставить всех страдальцев перенести проекты в каталог, например, с:\work, его поставить в исключения; или 

- поставить в исключения вообще все *.jar.

Варианты (1) и (3) должны быть отметены сразу же и безоговорочно. Это не "снижение уровня ИБ", а прямо-таки его обнуление. Руководству, разумеется, важна скорость работы, но в случае чего вас же потом и поставят к стенке, фигурально выражаясь... Более-менее разумным остается лишь п. 2.

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



#3 VVS

VVS

    The Master

  • Moderators
  • 19 937 Сообщений:

Отправлено 19 Ноябрь 2025 - 13:44

Руководство пришло к нам с распоряжением "всё ускорить". Навскидку видятся варианты:
 
со снижением уровня ИБ:
- отключить эвристику;
- заставить всех страдальцев перенести проекты в каталог, например, с:\work, его поставить в исключения; или 
- поставить в исключения вообще все *.jar.

1-ый вариант однозначно отказать, ибо будет распространён не только на jar
Из оставшихся вариантов я бы выбрал исключение каталога, ибо тогда "сторонние" jar всё-таки будут проверятся.
 

без снижения:
- вложиться в апгрейд парка (например, увеличить частоту CPU/количество ядер на машинах).

IMHO этот вариант самый лучший, но претензий разрабов он не снимет - они сравнят быстродействие с AV и без него и снова начнут говорить, что AV всё тормозит. :)


меня вот что возмутило.  что даже не начинают толком диалог сразу дампы...... © alehas777
--------------------------------
Антивирус это как ремень безопасности - всего лишь увеличивает шансы выжить или получить менее тяжкую травму при аварии.
Есть, однако, категория людей, которые рассматривают средства безопасности как ауру неуязвимости. © basid


#4 Jumbo Frame

Jumbo Frame

    Member

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

Отправлено 19 Ноябрь 2025 - 14:03

Работа на ВМ под Proxmox, конфигурация: 6-12 ядер AMD EPYC 3,8Ghz, память - 16-32GB, диски NVMe (жалуются с любой начинкой, "за компанию").

Согласен, что даже если апгрейдом заняться, то всё равно будут сравнивать с домашними машинами, где АВ обычно "задушен".

 

А начальство тем временем почему-то уверено, что у ESS есть ключ типа /donotbrake, только он не документирован :-D


Dr.Web Server 13.00.1-202503170 (Linux 5.10.198-std-def-alt1 x86_64; 1 SMP Wed Oct 11 00:33:51 UTC 2023; glibc 2.32)


#5 Floppy

Floppy

    Newbie

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

Отправлено 19 Ноябрь 2025 - 14:41

Описанная тут ситуация применима и для домашних продуктов.
И работая из дома не смог никак победить это без исключений и снижения безопасности. 
Разница с антивирусом и без очень ощутимая.
Та же IntelliJ IDEA если даже просто обновляется это на 2-3 минуты сразу.
Ну и про выше озвученные *.jar , *.war вообще не говорю.
В принципе на любом софте на Java тормоза ощутимые.


Сообщение было изменено Floppy: 19 Ноябрь 2025 - 14:41

PC: AMD Ryzen 7 5700X, 32 GB RAM, Windows 11 Pro x64, Dr.Web Security Space 12
NB: Intel Core i5 12450H, 16 GB RAM, Windows 11 Pro x64, Dr.Web Security Space 12


#6 Kirill Polubelov

Kirill Polubelov

    Hr. Schreibikus

  • Dr.Web Staff
  • 4 478 Сообщений:

Отправлено 19 Ноябрь 2025 - 17:41

и массово гоняют проекты по диску туда-сюда.

С этого места поподробней, пожалуйста.

Даже при пересборке (не столь частая, вроде, операция) гонять тонны сорцов нет необходимости. А так чтобы целыми каталогами, да ещё в jar-ах.


Сообщение было изменено Kirill Polubelov: 19 Ноябрь 2025 - 17:42

(exit 0)

#7 Jumbo Frame

Jumbo Frame

    Member

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

Отправлено 19 Ноябрь 2025 - 18:35

С этого места поподробней, пожалуйста.

 

Вот кусок заявки от разработчика. Я в основном командники пишу, поэтому в ниженаписанном мне только пути о чём-то говорят ) 

 

"С недавнего времени начала тормозить сборка при копировании собранного jar-артефакта в локальный репозиторий maven. Копирование раньше проходило мгновенно. Сейчас длится несколько минут.

При этом во время копирования активно работает DrWeb."

 

И скриншоты вроде бы из IDEA со строками типа "maven-jar-plugin

Building c:\work\_proto_routes\...\...\...jar

maven-install-plugin

Installing c:\work\_proto_routes\...\...\...jar to c:\users\...\.m2\repository\...\...\...jar" и диспетчера задач с загрузкой Dr.Web Scanning Engine в 25%.

 

"С недавнего времени" - можно не заострять внимание, может быть художественным свистом для привлечения внимания. c:\users\*\.m2\ в исключениях давно. Ну его в логе вообще и не было. А лог был просто забит проверкой c:\work - пришлось персонально в исключения добавить, в надежде, что случай единичный.

 

Но беда в том, что за первым программистом сразу прибежало ещё несколько, и у каждого вместо c:\work - что-то своё. И весь этот зоопарк ставить в исключения начальство не захотело, отправило спрашивать про существование магического ключа /donotbrake.


Dr.Web Server 13.00.1-202503170 (Linux 5.10.198-std-def-alt1 x86_64; 1 SMP Wed Oct 11 00:33:51 UTC 2023; glibc 2.32)


#8 B.Chugunov

B.Chugunov

    Advanced Member

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

Отправлено 20 Ноябрь 2025 - 20:31

Ну есть еще потенциально не такой уж опасный вариант(требует проверки) исключить не все .jar, и не какую-то отдельную папку, а тот процесс, который все эти файлы "гоняет". Понятно, что из сканирования в таком случае исключится вообще все, что он пишет, но если не предполагается, что через него всё подряд вместе с малварью могут стартовать и путь до бинаря + имя достаточно уникальны, то вполне имеет место быть, как вариант. Это то, что задается в Исключения - Приложения для Spider Guard(Исключаемые процессы в АВ сети). Но тут лог spiderg3 для конкретики нужен с машины, где подобное воспроизводится(лучше с пары-тройки для статистики) и указание периода времени, когда наблюдались проблемы, хотя бы приблизительно(по каждому логу). 
25% (CPU видимо?) это конечно вообще не серьезно. Т.е. ну да, нагрузили на четверть процессор. Это просто говорит о том, что он какую-то работу совершил. Но вообще никак не говорит о каких то замедлениях в работе или при проверке, и не указывает на объективный уровень влияния АВ. Да, совершили работу, да, для этого использовали какие-то ресурсы. Сравнительно можно сказать небольшие. Все равно, что сказать "у нас тут 2-ое рабочих из бригады в 8 человек - работу работали". Вообще не понятно, что делалось, сколько работалась работа и какая, чего делали. Может пакет тушенки перенесли вдвоем с одного вагончика до другого, где кухня, и всё за минуту. Полезная работа совершена, галочку поставили, можно на перекур. 
CPU можно под крышечку заюзать и на все 100%, и за миллисекунду при этом отсканить файл так, что это практически никак заметно не скажется на скорости его записи. Тайминги проверки по логам тут тоже будут более показательны. Из предложенных вариантов, я бы выбрал 2, как самый безопасный. 
3-ий можно рассмотреть с оговоркой, что исключать можно не вообще все *.jar, а проанализировать таки логи Spiderg3 и выделить хоть какие-то маски для файлов и путей. Ну т.е. вот хотя бы (из головы) мб можно сделать штук 5 масок вида a*plugin*.jar, 
*app*.jar и т.д. и покрыть условно половину или более всех сканируемых файлов. Это уже сравнительно не так опасно, т.к. мы все таки предполагаем, что за организацией прямо сейчас не следят злоумышленники, которые откуда-нибудь узнают, какие исключения Вы там задали и начнут спамить Вас ,jar-ами с именами, подходящими под исключения. Но все равно оно менее безопасно, чем просто исключить какой-нибудь длинный уникальный путь. 
Ну и да, с точки зрения специалиста по ИБ, с пониманием, кто будет крайним в случае инцидента по ИБ - сходить хотя бы разок и глянуть, так ли страшен черт, как его малюют. Если нельзя ножками сходить, попросить экран пошарить и пусть хоть покажут, насколько оно там страшно и в какие неудобства выливается. Если там больше крику(раньше было минуту, а теперь целых 1,5) - то действовать с позиции силы. А если уж правда что-то прямо из ряда вон или ощутимое, заметное, то по минимуму обойтись исключениями или предложить вариант 2, если они от него еще больше не взвоют. =) 
И я бы таки начал хотя бы с получения логов и с объективных наблюдений, что же там такое происходит и так ли оно страшно, как рассказано. 


-----------------
best regards,
Technical support department, Doctor Web, Ltd.

#9 Afalin

Afalin

    Guru

  • Dr.Web Staff
  • 6 075 Сообщений:

Отправлено Вчера, 11:01

25% (CPU видимо?) это конечно вообще не серьезно. Т.е. ну да, нагрузили на четверть процессор. Это просто говорит о том, что он какую-то работу совершил. Но вообще никак не говорит о каких то замедлениях в работе или при проверке, и не указывает на объективный уровень влияния АВ. Да, совершили работу, да, для этого использовали какие-то ресурсы. Сравнительно можно сказать небольшие.

Ну конечно. Вот представим 4-ядерную машину, на которой один процесс копирует мешок jar'ов в один поток: все ж знают, что в норме копирование упрётся в I/O, потому одного потока вполне достаточно. Каждый из этих jar'ов по отдельности проверяется SE также в один поток. И вот пока один jar не будет проверен – ни один другой копироваться не будет. По-моему, очевидно, что загружено будет при этом стабильно одно ядро, никак не больше, и копирование упрётся именно в производительность этого одного ядра.


Семь раз отрежь – один раз проверь

#10 Jumbo Frame

Jumbo Frame

    Member

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

Отправлено Вчера, 11:38

B.Chugunov

 

Очень классно написано 

 

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

 

На тему замедления - скорее каприз, чем реальная проблема. Я сам покопировал без установки исключений - ну да, всё не моментально, но в целом сравнимо по скорости с переездом с ssd на hdd.

Но, разумеется, дома у всех страдальцев исключения на свои рабочие каталоги в АВ настроены, поэтому есть с чем сравнивать и хочется, чтобы на работе было как дома.

Некоторые в заявках так и пишут "если антивирус отключить нельзя, то просьба его ускорить". А их начальники с удовольствием на такие заявки наложат "утверждаю, и просьба побыстрее, сотрудник теряет время" :-D

В плане ИБ у нас сейчас переходный период со сменой состава, каждый пытается перекинуть подобную "горячую картошку" на другого, поэтому резолюции ставят наиболее обтекаемые - силой (пока) не получится, надо хитростью.

 

Парочка логов spiderg3 с моментами описанных проверок есть, могу запаковать и скинуть ссылку в ЛС, если есть желание почитать.


Dr.Web Server 13.00.1-202503170 (Linux 5.10.198-std-def-alt1 x86_64; 1 SMP Wed Oct 11 00:33:51 UTC 2023; glibc 2.32)


#11 Floppy

Floppy

    Newbie

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

Отправлено Вчера, 12:44

Ну конечно. Вот представим 4-ядерную машину, на которой один процесс копирует мешок jar'ов в один поток: все ж знают, что в норме копирование упрётся в I/O, потому одного потока вполне достаточно. Каждый из этих jar'ов по отдельности проверяется SE также в один поток. И вот пока один jar не будет проверен – ни один другой копироваться не будет. По-моему, очевидно, что загружено будет при этом стабильно одно ядро, никак не больше, и копирование упрётся именно в производительность этого одного ядра.


Да, происходит именно то, что Вы как раз и описали.
Скопировался 1 war/jar и пока его Spider проверяет на 1 ядре из 8/16 копирование стоит на месте.

PC: AMD Ryzen 7 5700X, 32 GB RAM, Windows 11 Pro x64, Dr.Web Security Space 12
NB: Intel Core i5 12450H, 16 GB RAM, Windows 11 Pro x64, Dr.Web Security Space 12


#12 B.Chugunov

B.Chugunov

    Advanced Member

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

Отправлено Вчера, 16:17

По-моему, очевидно, что загружено будет при этом стабильно одно ядро, никак не больше, и копирование упрётся именно в производительность этого одного ядра.
 
Ты прав, только вот эта загрузка вообще ничего не говорит о влиянии АВ на скорость копирования чего-то куда-то. Ну загружено и загружено. Оно само по себе в вакууме может быть 1 минуту загружено, а может быть сутки. Поэтому этот показатель разве что количество ядер нам дает весело предположить и не более того. 

Парочка логов spiderg3 с моментами описанных проверок есть, могу запаковать и скинуть ссылку в ЛС, если есть желание почитать.

Кидайтесь всем, чем можно, не стесняйтесь =) 
-----------------
best regards,
Technical support department, Doctor Web, Ltd.

#13 B.Chugunov

B.Chugunov

    Advanced Member

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

Отправлено Вчера, 17:48

jar-матрешки, внутри одного контейнера еще пачка, а в них еще лес. Куча мелочи. 
182,2M/921M 159100/159096ms 5927KB/s  
на 19506 вложенных файлов 

233,2M/1010M 322373/322371ms 3207KB/s  на 7893 вложенных файлов
Больно, но закономерно  :) Мысли озвучил в ЛС. 


-----------------
best regards,
Technical support department, Doctor Web, Ltd.