Что делать, если у пользователя возникают ошибки, «все тормозит» или возникают другие неясные проблемы, а разработчик не знает где искать проблему в коде?

С этой статьи мы начинаем нашу рубрику по расследованию проблем производительности и стабильности работы систем на базе 1С:Предприятия.

Речь пойдет о реальных примерах анализа технологического журнала 1С экспертами с помощью регулярных выражений.

1. Как получить все таймауты 1С?

2. Как получить все события исключений (EXCP) в определенный час работы?

3. Как получить определенное количество строк до и после интересующих событий?

Расследования проводим путем разбора собранного технологического журнала, в том числе с использованием утилит bash 1С регулярными выражениями. Весь перечень утилит уже озвучивался в официальной статье от 1С на ИТС https://its.1c.ru/db/metod8dev/content/5927/hdoc . Мы же для парсинга тж используем инструмент git bash.

Но,

чтобы парсить технологический журнал 1С — сначала его надо собрать. А для этого выполнить ряд настроек описанных в Настройка и сбор логов для анализа проблем производительности систем 1С на Linux.

Набор собираемых событий, а также список серверов, где данные события фиксируем — должны соответствовать характеру расследуемой проблемы.

Так, например:

  • Если известно, что проблемы с производительность наблюдаются как при подключении к базе через веб-сервер, так и при подключении «напрямую» через сервер 1С. В этом случае, можно не собирать технологический журнал на веб-сервере.
  • Если расследуем высокую загрузку сервера СУБД, то собирать необходимо события, связанные с запросами СУБД и планами запросов.
  • Если же, ситуация неоднозначная изначально, то необходимо включить наиболее полный журнал и на всех серверах где установлены компоненты 1С:
    • Центральные серверы 1С;
    • Рабочие серверы 1С;
    • Серверы лицензий 1С;
    • Веб-серверы с установленной компонентой веб-расширения 1С.

Пример настройки такого журнала приведен тут же Настройка и сбор логов для анализа проблем производительности систем 1С на Linux.
При этом следует помнить, что при включении такой настройки потребуется внимательно следить за местом на серверах.

Итак, от простого к сложному….

Примеры простых выражений:

Как получить все таймауты 1С?

Как получить все события исключений (EXCP) в определенный час работы?

(в нашем случае 26 апреля 2021 года в 21 час 33 минуты или 34 минуты во всех каталогах рабочих процессов)

Как получить определенное количество строк до и после интересующих событий?

(в нашем случае 20 строк до и после исключения (EXCP))

 

Отметим, что прежде чем приступать к сбору и анализу — для начала рекомендуем провести первичный сбор информации. О том, как это сделать написано в 1C тормозит и возникают ошибки. С чего начать расследование?

P.S. Все фамилии, пользователи и сервера в дальнейших статьях — вымышленные, любое совпадения с реальными – случайно…