Анализ проблем производительности по динамике мониторинга RAS 1C

Публикация № 1285308 07.10.20

База данных - HighLoad оптимизация

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

Мы опишем результаты наблюдений и выводы по состоянию производительности системы через мониторинг RAS 1C основанный на наших наблюдениях и мнении/советах коллег по цеху. Наиболее показательны изменения для больших баз по количеству работающих пользователей на одном кластере. Иначе требуется проводить агрегирование показателей таких как очередь какого-нибудь свойства, если на сервере много кластеров или на реальном много виртуальных машин для общей оценки сервера.

Также на поведение параметров контролируемой целевой базы 1С будет оказывать влияние версия платформы, окружение, конфигурация и это также нужно будет учесть при сравнении.  Однако, динамика и характер поведения должны быть похожи. Мы выполняли анализ на версиях 8.3.14, 8.3.15, 8.3.16 и конфигурации ERP 2.4.

 

I) Свойства процессов

Свойство

Синоним

Функция агрегации

Описание

line-number

номер строки

count

Номер строки (по порядку)

memory-size

память КБ

max

Содержит объем виртуальной памяти,
занимаемой рабочим процессом,
в килобай тах.

memory-size

память КБ

sum

-//-

available-perfomance

дост. произв.

min

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

available-perfomance

дост. произв.

sum

-//-

available-perfomance

дост. произв.

avg

-//-

connections

кол-во соединений

sum

Количество соединений рабочего
процесса с пользовательскими
приложениями.

avg-call-time

 

avg

Показывает среднее время обслуживания
рабочим процессом одного клиентского
обращения. Оно складывается из:
значений свойств AvgServerCallTime,
AvgDBCallTime, AvgLockCallTime,
AvgBackCallTime.

avg-call-time

 

max

-//-

 

Параметр состояния процессов avg-call-time

Параметр avg-call-time – позволяет увидеть проблемы загрузки хоста, если один из них находится под нагрузкой

Вот так выглядит график средней нагрузки

В этот момент было запущено тяжелое задание по пересчету регистра. Всем тем, кто-попадал на этот процесс было «плохо».

Если же все процессы показывают рост нагрузки, то скорее всего проблема возникла у менеджера, и он перестал корректно разруливать ситуацию.

Можно поставить оповещение о изменении данной ситуации, нормальное среднее значение должно быть значительно менее 1. При значениях от 1 до 2-3 возможны проблемы. При значениях более 7-10 можно считать, что мы потеряли пациента.

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

Вот так выглядит показатель среднее avg-call-time при проблемах на сервере.

Вот так выглядит нагрузка на процессор в этот момент:

 

Количество процессов

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

 

Вот так меняется количество процессов при аварии:

 

Показатель расхода памяти

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

 

Показатель производительность

Вот так выглядит падение производительности по показателю доступная производительность:


 

II) Свойства соединений

Свойство Синоним Функция агрегации Описание

session-number

сеанс

count ЗначениеЗаполнено

 Номер сеанса

conn-id

 

count ЗначениеЗаполнено

 Содержит номер соединения. 

line-number

номер строки

count

 Номер строки (по порядку)

 

Показатель соединений session-number

Если следить за связью между процессами и сеансами пользователей, то можно легко определить нормальные и не нормальные показатели для состояния системы. Об использовании нейронных сетей для определения критичных аномалий, о которых рассказывал на конференции я буду рассказывать позже (сейчас есть решаемые технические проблемы, которые не позволяют их использовать массово без сторонних приложений и с функционалом из коробки – банально не хватает времени).

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

Для хорошо нагруженной системы обычно такой показатель колеблется в районе 30-40 соединений в единицу.

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

Рекомендуемые агрегируемые функции:

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

 

III) Свойства сеансов

 

Свойство Синоним Функция агрегации Описание

line-number

номер строки

count

Номер строки (по порядку)

duration-current

время вызова (текущее)

max

Содержит интервал времени в
миллисекундах, прошедший с
момента начала обращения,
в случае, если сеанс выполняет
обращение к серверу 1С:Предприятия.
Иначе – 0.

duration-current

время вызова (текущее)

sum

-//-

duration-current

время вызова (текущее)

count ЗначениеЗаполнено

-//-

db-proc-took

захвачено СУБД

max

Если в момент получение списка соединений информационной базы методом
GetInfoBaseConnections данное соединение
выполняло обращение к серверу баз данных,
то свойство содержит время в секундах,
в течение которого выполняется данное
обращение к серверу баз данных.
В противном случае – 0.

db-proc-took

захвачено СУБД

sum

-//-

db-proc-took

захвачено СУБД

count ЗначениеЗаполнено

-//-

cpu-time-current

процессорное время (текущее)

max

Процессорное время текущее

cpu-time-current

процессорное время (текущее)

avg

-//-

 

Как уже ранее рассказывал, то стоит следить сразу несколькими параметрами

 

Свойство duration-current

Показатель duration-current (время вызова (текущее)) показывает обслуживание пользователя процессом. Если же количество пользователей со значением этого параметра (отличным от 0 в каждый момент времени) растет, то сервисы 1с не успевают обслуживать, кто-то запустил что-то тяжелое и в итоге может привести к серьезному снижению производительности. Обычно значения, превышающие 60 штук (зависит от конкретной обслуживаемой системы) повод задуматься о том, что начинаются проблемы.

Предполагаем в данном случае отследить пользователя по табличной части «Данные» смотри ниже. Далее связаться с ним и обсудить решение проблемы. Возможно приложение зависло и его достаточно удалить, и система придет в норму, или попросить пользователя не запускать тяжелых задач. А возможно проблема производительности какой-либо формы или обработки и требуется ее оптимизация и рефакторинг.

Рекомендуем использовать следующие агрегирующие функции:

  • duration-current - функция количество Значение Заполнено (для колонки таблицы количество ячеек в которых есть значение отличное от 0). Определяет очередь пользователей, которые в данный момент обслуживаются rphost. Обычно растет вверх вместе с нагрузкой на процессор и очередью процессора. Если эти три показателя высоки, то характеризует серьезные проблемы в работе пользователей.
  • duration-current - функция maximum, т.е. среди всех значений вычисляем максимальное. Может характеризовать зависшие сеансы, обработку больших объемов данных или корявый код. Всем пользователям на этом хосте (на том который завис) будет плохо.
     

Свойство db-proc-took

Показатель db-proc-took (захвачено СУБД) характеризует обращение процесса к СУБД. Если количество таких обращений растет в единицу времени, то это говорит о том, что СУБД не успевает обслуживать запросы 1С. Такое поведение может возникать во время блокировок – когда один пользователь захватил популярный регистр, а все другие начинают его ждать. Недостаточной производительности самого сервера СУБД. Наличия большого количества неоптимальных запросов. Наличия операций, которые не рекомендуется запускать в момент высокой нагрузки пользователей – удаление помеченных, пересчет регистров и т.п.

Разбор проблем можно выполнять в соответствии с рекомендациями выше. А также возможно проверить настройку и работу сервисных заданий на сервере СУБД – обновление статистики, или другие настройки.

Рекомендуем использовать следующие агрегирующие функции:

  • db-proc-took - функция количество Значение Заполнено (аналогично выше). Определяет очередь пользователей, которые в данный момент работают с базой SQL. Если есть, то в паре с показателем duration-current. 
    Характеризует работу с базой данных. При росте очереди может характеризовать 
    • - блокировку (тут надо смотреть блокировки SQL) – в этом случае терпеть или срубать;
    • - недостаток мощности сервера SQL – увеличивать мощности;
    • - не оптимальность кода – исправлять код;
    • - выполнение операций не допустимых в рабочее время (к примеру, удаление помеченных, закрытие месяца и т.д.) – дать по рукам пользователям или перенастроить задания.
  • db-proc-took - функция maximum. Если большое, то означает выполнение в транзакции большой обработки данных, или на блокировках.

Показатель cpu-time-current

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

Совместный анализ и учет свойств duration-current и db-proc-took

Если захват и время текущее больше нормы, то видно, что пользователь нагрузил сервер. А чем нагрузил можно узнать из журнала действий пользователя по номеру сеанса или ТЖ (удалив сеанс пользователя мы сгенерируем ошибку).

На графике ниже видно, что выполняются ресурсоемкие операции (фоновые задания) с постобработкой данных на сервере 1С (захвачено СУБД менее времени вызова (текущее)). Показатели время вызова и потребления процессора высокие. Но пока не превышена критическая отметка и уровень тревоги «желтый»

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

Количество пользователей

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

 

IV) Настройка обработки ситуации по комбинации показателей

 

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

Таблица настройки для реакции по комбинациям показателей выглядит следующим образом:

время вызова 
(текущее) (max)
очередь время 
вызова(текущее)
захвачено 
СУБД (max)
очередь 
захвачено СУБД
сеанс 
(count ЗначениеЗаполнено)

Решение

Описание решения

high

high

high

high

*

полное падение производительности

все плохо

high

low

high

low

*

только захват СУБД и 1С время вызова

найти пользователя и срубить

high

high

*

*

*

1С работать невозможно

срубаем все зависшие сеансы

*

*

*

*

high

проблемы с rphost

rphost не справляется с обработкой сеансов

*

*

high

high

*

СУБД работать невозможно

срубаем захваты

high

medium

*

*

*

1С начала формироваться очередь

пора принимать действия

medium

high

*

*

*

1С начала формироваться очередь

пора принимать действия

low

high

*

*

*

1С начала формироваться очередь

пора принимать действия

high

low

*

*

*

1С приложение зависло

нужно срубить пользователя

*

*

high

medium

*

СУБД очередь растет

пора принимать действия

medium

low

*

*

*

1С долго висит

на контроль

*

*

high

low

*

захват СУБД дико долго

предлагаю срубить пользователя

*

*

medium

low

*

захват СУБД

разобраться в причинах

medium

medium

*

*

*

1С долго висит

на контроль

low

medium

*

*

*

1С зависание ушло

идет в сторону улучшения

*

*

low

medium

*

СУБД захват ушел

идет в сторону улучшения

low

low

low

low

low

нормально

все хорошо

*

*

*

*

*

аномалия

неописанное поведение

 

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

Low – от 0 до допустимого значения

Medium – от допустимого значения до критического

High - от критического до конца.

Наши показатели:

Имя свойства

Начальная 
граница

Низкий до
 

Средний до
 

Верхняя 
граница

время вызова (текущее) (max)

0

60,00000

300,00000

бесконечность

очередь время вызова (текущее)

0

20,00000

40,00000

бесконечность

захвачено СУБД (max)

0

60,00000

300,00000

бесконечность

очередь захвачено СУБД

0

20,00000

40,00000

бесконечность

сеанс (count ЗначениеЗаполнено)

0

60,00000

80,00000

бесконечность

 

Далее по этой таблице мы запускаем обработку нечетким контроллером (виртуальный ассистент Лариса) и формируем оповещения на почту или скайп/телеграмм.

 

V) Бонус. Используем автоматический классификатор ошибок технологического журнала.

 

Удобно так же смотреть на результат классификации ошибок. Если вы настроили парсинг замеров и автоматическую классификацию, то можно сразу увидеть о проблемах на сервере по данным журнала.

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

На предыдущем рисунке видим проблемы с отбором по классу ошибок СУБД. Из результатов анализа перед коллапсом и последующим падением служб 1С проявляются подобного рода ошибки. Видимо происходит превышение какого-то лимита и службы идут в разнос (8.3.15 версия 1С).

Пример рассмотрения ситуации по ошибкам на мониторе приведена ниже – обращаем внимание на резкие всплески/пики:

 

Заключение:

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. VKislitsin 876 07.10.20 11:32 Сейчас в теме
Владимир, очень интересно! Просто супер!
2. AntoShiK86 22 08.10.20 06:41 Сейчас в теме
Задача по определению активного числа пользователей решается данным фреймворком? Можно определить, что не хватает лицензий ?
4. ivanov660 3757 08.10.20 08:53 Сейчас в теме
(2)
1. Вы можете взять функцию максимум от количество активных пользователей. Таким образом сможете определить пиковые значения пользователей на кластере (На рисунках приведен пример). И исходя из этого можно определить разницу запаса оставшихся лицензий.
2. Если воспользуетесь консолью запросов или напишите свой плагин (обработку/отчет), то можете получить агрегирующие данные по всем отслеживаемым кластерам.
3. В планах стоит доработка для отображения данных по используемым лицензиям пользователями и их составу.
12. AntoShiK86 22 08.10.20 14:08 Сейчас в теме
(4)
те определить пиковые значения пользователей на кластере (На рисунках приведен пример). И исходя из этого можно определить разницу запаса оставшихся лицензий.
2. Если воспользуетесь консолью запросов или напишите свой плагин (обработку


Благодарю за ответ, когда обелить надо организацию, или доказать, что пора покупать еще комплект, может пригодится.
3. kraynev-navi 619 08.10.20 08:14 Сейчас в теме
Владимир, спасибо за вашу аналитику! Как всегда очень полезно.
5. protexprotex 120 08.10.20 10:16 Сейчас в теме
Добрый день. Очень интересно. Но у меня вот такая задача стоит - скорость выполнения процедур 1С (на неуправляемых формах) в разрезе минута/час/день и т.д. В 1С есть замер времени, но этого мало. Как - нибудь подступиться к этой задаче не пробовали?
6. ivanov660 3757 08.10.20 10:39 Сейчас в теме
(5) Не вижу проблемы сделать отчетом по замерам.
К примеру, в выборку запроса детальных записей замеров добавляете поля минута, час, день, неделя, месяц (от даты начала замера), а далее в СКД делаете группировки месяц, неделя, день, час, минута, детальные с итогами среднее по расчетным полям длительность.
7. protexprotex 120 08.10.20 11:30 Сейчас в теме
Неее. Это я знаю. Только для этого в каждую процедуру нужно втыкать фиксацию замера. Типа такого:
Процедура МояПроцедура()
НачатьЗамер("МояПроцедура");
Тут исследуемые операторы программы
ЗакончитьЗамер("МояПроцедура")
КонецПроцедуры

и далее уже, например по записям уже строить СКД

Это не интересно. т.к. нужно по всей базе натыкать эти вызовы. А т.к. процедур более 5000 - это тут, мягко говоря долго.

Я про какие - то сторонние компоненты которые могли бы перехватывать начало выполнения процедуры в языке 1С и конец ее выполнения и вести логи - и оттуда я бы уже через внешний источник данных все это взял и в СКД засунул :-)
8. ivanov660 3757 08.10.20 12:13 Сейчас в теме
(7)
1. Такого в 1С нет.
2. Можно только написать обработку, которая распарсит все формы, все функции и навтыкает в расширение процедуры Перед("Процедура") (возможно + После("Процедура")) и нагенерит код начала и завершения замеров.
3. Только вы учтите что накладные замеры будут огромными, если добавлять везде.
9. protexprotex 120 08.10.20 12:22 Сейчас в теме
(8) Это я знаю что нет такого в 1С. У меня стоит вопрос оптимизации не работы 1С с базой данных, а оптимизация языковых конструкций. Узкое место в 1С это работа с базой данных, но мало кто (да и вменяемых инструментов не нахожу) занимается оптимизацией языковых конструкций. Т.к. 1С я использую для обработки изображений + моя dll. И вот как раз стоит вопрос оптимизация языковых конструкций. Вот.
10. ivanov660 3757 08.10.20 12:29 Сейчас в теме
(9) Попробуйте спросить у автора снегопата, возможно он что-то подскажет.
11. protexprotex 120 08.10.20 12:45 Сейчас в теме
13. EugeneSemyonov 22 21.07.21 13:30 Сейчас в теме
(8) Оптимизацией языковых конструкций следует заниматься когда время выполнения операций превышает целевое.
Для определения длительности операций можно использовать сбор событий ТЖ CALL (на сервере), VRSREQUEST, VRSRESPONSE (или даже все на клиенте) с отбором по длительности. Таким образом вы получите контекст (имя и модуль длительно работавшей процедуры). Часто этого достаточно чтобы понять что именно работает медленно.
Если недостаточно, то можно запускать нужную операцию на тестовом стенде с режимом отладки с замером производительности - так можно поймать короткие, но выполняющиеся многократно операции которые могут приводить к замедлению (типа запросов в цикле).
По документации ТЖ тоже может замедлять работу, но скорее всего это будет оптимальнее чем писать обработчик замера для каждой процедуры.
Кроме того в типовых ещё встроена подсистема Замеры производительности, которая позволяет включать и анализировать нужные замеры в режиме предприятия.
Если вы разрабатываете тиражное решение и хотите вылизать весь код (не важно как быстро он работает), то для его анализа также можно использовать конфигурацию АПК, либо SonarQube.
Оставьте свое сообщение

См. также

Delayed durability поможет вашему ORM увеличить производительность на 50% и более, если Вы только будете использовать …

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

ORM (Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений, приводит к мысли, что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С, и ORM на Java, и наверняка в других ORM. В предыдущих частях показана глубина проблемы. В этой части предложено решение со стороны СУБД (MS SQL, Oracle, Postgres).

13.02.2023    482    1CUnlimited    0    

9

Концепция ORM как двигатель прогресса – выявит слабое место Вашей СУБД

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

ORM (Object Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений приводит к мысли, что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С и ORM на Java, и наверняка в других ORM. В предыдущей части статьи были изложены результаты теста, в этой статье ответы на самые часто задаваемые вопросы и новый тест.

01.02.2023    482    1CUnlimited    5    

1

Избавиться от скана таблицы в плане запроса

HighLoad оптимизация Запросы Платформа 1С v8.3 Запросы Бесплатно (free)

Для запросов, содержащих "LIKE %СтрокаПоиска%". Справедливо для MS SQL и Postgres.

20.12.2022    2783    vasilev2015    31    

23

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Концепция ORM как двигатель прогресса - выдержит ли ее ваша СУБД?

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

ORM (Object-Relational Mapping) используется во многих языках программирования, в том числе и в 1С. Однако реализация высоконагруженных решений приводит к мысли что разработчики ORM не учитывали ее влияния на производительность СУБД. Такая ситуация и в 1С, и ORM на Java, и наверняка в других ORM. Причины приоткрывает данная статья.

16.12.2022    1139    1CUnlimited    5    

8

Нагрузочное тестирование в 1С:ERP

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Для того чтобы еще до внедрения информационной системы убедиться, что целевая система справится с ожидаемой нагрузкой, требуется провести нагрузочное тестирование. О том какие инструменты и методики помогут организовать подобный проект при внедрении 1С:ERP, и о том, какие неожиданные факторы могут влиять на производительность системы я и хотел бы рассказать в данной статье.

02.11.2022    3486    Tavalik    23    

32

Тормоза при записи номенклатуры в ERP 2.5.8.287

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Обратил внимание на медленную работу при пакетной записи элементов номенклатуры.

25.10.2022    725    m191    6    

5

Как я Java учил, а потом 1С-у удивлялся

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Сравнение производительности 1С с Java.

23.09.2022    2477    Hadgehogs    23    

3

Партицированная дисциплина программиста в 1С

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 Бесплатно (free)

Почему при росте объемов базы 1С все становится медленней, даже если все индексы правильно сделаны? В статье на простом примере с регистром сведений показана причина и как этого избежать. Кто виноват больше, 1С или MS SQL решать Вам :)

20.09.2022    1829    1CUnlimited    2    

6

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Быстрый фронт в базе размером 6.8 терабайт – наши стандарты при разработке и рефакторинге запросов

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

От быстродействия запросов, которые обращаются к крупным таблицам, напрямую зависит скорость работы всей базы в целом. Артем Кузнецов, тимлид команды 1С в компании ООО «Финтех решения» на конференции Infostart Event 2021 Moscow Premiere рассказал, как оптимизировать производительность при поддержке больших систем. Показал, на что следует обращать внимание при код-ревью запросов, как оптимизировать RLS, виртуальные таблицы, индексы и условия, и как доработка архитектуры решения может ускорить работу базы.

29.08.2022    5851    Chernazem    44    

105

Workaround me в 1С/MS SQL и не только, системный подход к созданию костылей

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 Бесплатно (free)

Workaround свидетельствует о невозможности решить проблему "правильным путем" и вызывает чувство стыда. Но практика показывает, что способность решать проблемы через workaround является порой единственным способом решить проблему в разумное время. А победителей, как говорят, не судят, так почему бы не создавать workaround по системе?

15.08.2022    1229    1CUnlimited    0    

6

Ускорим проведение в 1С:Управление холдингом

HighLoad оптимизация Запросы Платформа 1С v8.3 1С:Управление холдингом Бесплатно (free)

В 1С:Управление холдингом есть "нехороший" запрос, который съедает значительную часть времени проведения документов. Если его подправить, то проведение заметно ускорится.

10.08.2022    5007    sapervodichka    60    

73

Миссия невыполнима. Общие реквизиты разделители против временных таблиц

HighLoad оптимизация Механизмы платформы 1С Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Механизм общих реквизитов разделителей создает излишнюю\негативную нагрузку на структуру базы данных, но еще больше проблем доставляет при использовании временных таблиц.

05.08.2022    1639    1CUnlimited    0    

14

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Методика похудения для 1С – 100%

Свертка базы HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Удаление архивных данных из базы - это непростая задача как для 1С, так и для любой базы данных. В статье изложены различные способы решения задачи, включая самый эффективный для 1С.

28.07.2022    5578    1CUnlimited    37    

43

Экспертный кейс. История расследования одного небыстрого закрытия месяца в 1C:ERP. Пример неочевидных путей расследования в виде детективной истории

HighLoad оптимизация Механизмы платформы 1С Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В данной статье хотим рассказать об одном нашем непростом расследовании, в котором удалось собрать сразу несколько проблем на разных уровнях инфраструктуры заказчика и изначальной методологии ведения учета. Само расследование в какой-то момент стало напоминать детективную историю, с роялями в кустах, ошибками платформы, странным поведением пользователей и магическим поведением хорошо знакомых механизмов. Но мы реалисты, поэтому все проблемы были выявлены и устранены ;)

11.07.2022    5354    it-expertise    27    

56

Производительный режим работы RLS

HighLoad оптимизация Роли и права Платформа 1С v8.3 8.3.14 8.3.6 8.3.8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х Бесплатно (free)

Функционал подсистемы УправлениеДоступом позволяет работать с RLS в двух режимах: стандартном и производительном. Каждый из режимов имеет свои преимущества и недостатки относительно другого. Основные из них будут рассмотрены в данном материале.

14.06.2022    7273    Neti    7    

86

Любовь. Быстродействие. 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Несколько эпизодов на общую тему, собранные за последние полгода. Первый вариант, будет исправляться и дополняться.

26.05.2022    3943    vasilev2015    20    

34

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Оптимизация высоконагруженных конфигураций: история маленькой победы, или советы тем, кто столкнулся с проблемой впервые и не знает, что делать

HighLoad оптимизация Администрирование СУБД Платформа 1С v8.3 8.3.14 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

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

24.05.2022    3998    avolsed    15    

33

Заметки эксперта. Расследование длительного выполнения отчета “Движение ТМЦ и затрат в производстве” (1С:ERP 2)

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

Кратко: в ходе проведения нагрузочного тестирования “1С:ERP 2” под ОС Linux на СУБД Postgres выявлено существенное замедление формирования отчета “Движение ТМЦ и затрат в производстве” - до 60 минут. После проведенного расследования и точечной корректировки СКД в отчете, без изменения бизнес-логики результатов его работы, работа отчета была ускорена в 80 раз - средний показатель формирования составил 30 секунд.

19.05.2022    2239    it-expertise    19    

23

Тестирование - игровое моделирование

HighLoad оптимизация Тестирование QA Платформа 1С v8.3 Бесплатно (free)

Мы рассмотрим подход к тестированию с применением элементов искусственного интеллекта

25.04.2022    1527    ivanov660    0    

15

Несколько слов про платформенный механизм оптимизации RLS

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Смотрим, как работает платформенный механизм оптимизации RLS, сравним поведение на разных СУБД MS SQL, Postgres 11,13,14.

07.04.2022    3652    ivanov660    23    

69

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

Почему после обновления Бухгалтерии в марте 2022 года отчеты стали такими медленными

HighLoad оптимизация Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бухгалтерский учет Бесплатно (free)

Статья раскрывает причину, почему время формирования отчетов после обновления Бухгалтерии в марте 2022 сильно увеличилось. И рассказывает, как можно исправить ситуацию.

05.04.2022    5145    DBOdin_Lab    33    

29

Экспертный кейс. Расследование фатального замедления времени расчета себестоимости в 1С:ERP 2

HighLoad оптимизация Механизмы типовых конфигураций Запросы Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

При выполнении нагрузочного тестирования информационной системы на базе 1С:ERP для одного из клиентов с целью оценки возможности миграции системы на PostgreSQL и Astra Linux мы столкнулись с неприемлемым увеличением времени выполнения расчета себестоимости. Строго говоря, сценарий тестирования закрытия месяца не был выполнен вообще – он не укладывался в таймаут выполнения теста, 24 часа. По прошествии 18 часов всё ещё шло выполнение операции «Распределение затрат и расчет себестоимости». Более 16 часов выполнялся подэтап “Расчет партий и себестоимости. Этап. Расчет себестоимости: РассчитатьСтоимость”. Всё это время выполнялся запрос, который в текущей инфраструктуре клиента (СУБД MS SQL Server) выполняется чуть более 3 минут на аналогичных данных.

25.03.2022    5518    it-expertise    92    

66

Экспертный кейс. Расследование деградации производительности системы. Проведение документа “Поступление товаров и услуг” (1С:ERP 2)

Механизмы платформы 1С Запросы HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Бесплатно (free)

В ходе проведения нагрузочного тестирования одним из наших клиентов была выявлена сильная деградация производительности системы в целом и, в частности, выполнения ключевой операции “Проведение документа поступление товаров и услуг” в течение выполнения теста. Согласно данным подсистемы БСП “Оценка производительности”, время выполнения ключевой операции “Проведение документа поступление товаров и услуг” возрастало в процессе тестирования с 15-20 секунд в начале тестирования до 150-200 секунд в его финале.

02.03.2022    4002    it-expertise    48    

30

Пример пошагового решения проблемы производительности на базе Postgres SQL с картинками

HighLoad оптимизация Технологический журнал Платформа 1С v8.3 Бесплатно (free)

Рассмотрим по шагам процесс обнаружения, анализа и решения проблемы производительности на примере базы ERP, сравним отличия в работе Postgres и MS SQL.

28.02.2022    12575    ivanov660    18    

144

Ускорение работы конфигуратора 1С с большими прикладными решениями

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Ускорение работы 1С конфигуратора с большими прикладными решениями путем размещения системных каталогов 1С на RAM диске.

13.01.2022    7170    stg2005    105    

40

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Ошибка производительности при проведении этапа 2.2 в ERP 2.4 и ERP 2.5

HighLoad оптимизация Платформа 1С v8.3 1С:ERP Управление предприятием 2 Россия Бесплатно (free)

Хочется поделиться одним подводным камнем, с которым могут встретиться другие пользователи ERP. Искал решение в интернете, но ничего похожего не нашел. Поэтому решил создать эту тему.

06.12.2021    1747    Rokky78    6    

12

Повышение производительности веб-сервисов. Переиспользование сеансов

WEB-интеграция HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Повышение производительности веб-сервисов. Переиспользование сеансов. Практическая реализация.

20.10.2021    4554    sorter1    3    

47

Оптимизация проведения документов списания партий в УПП 1.3

HighLoad оптимизация Платформа 1С v8.3 1С:Управление торговлей 10 1С:Управление производственным предприятием Бесплатно (free)

Почти в каждой конфигурации УПП 1.3 (возможно, и в УТ 10.3) есть медленный запрос, тормозящий проведение документа списания. Данная публикация раскрывает места вызова данного запроса и приводит пример оптимизации. Пример показывает результаты проведения документа «Реализация товаров и услуг», но метод работает и для других документов списания партий.

09.09.2021    1411    info1i    5    

8

Адекватный параллелизм в 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Параллелизм ускоряет выполнение тяжелых регламентных операций на СУБД, но может негативно влиять на работу многопользовательских учетных систем. О том, как анализировать влияние параллелизма и настраивать его для MS SQL и PostgreSQL, рассказал ведущий разработчик компании ООО МКК «Ваш Инвестор» Вадим Фоминых.

13.08.2021    13753    Shmell    8    

55

Подборка программ для взаимодействия с ЕГАИС Промо

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

Распространенные ошибки разработчиков, приводящие к проблемам производительности

HighLoad оптимизация Рефакторинг и качество кода Платформа 1С v8.3 Бесплатно (free)

Рассмотрим примеры ошибок, анализ, исправление и мероприятия по недопущению подобного в будущем. Всего будет 18 примеров.

02.08.2021    15638    ivanov660    77    

139

Решение проблем при настройке счетчиков производительности

HighLoad оптимизация Платформа 1С v8.3 Россия Бесплатно (free)

Решение проблемы с заглавными буквами в power shell, поиск русского имени счетчика по английскому, и еще кое-что.

02.08.2021    1313    unichkin    4    

7

Parameter sniffing и генерация планов для разработчиков 1С

HighLoad оптимизация Платформа 1С v8.3 Бесплатно (free)

Особенности генерации планов запросов. Статья написана по мотивам вебинара Виктора Богачева.

01.06.2021    15151    vasilev2015    17    

35

Поиск причин блокировок СУБД

HighLoad оптимизация Платформа 1С v8.3 Управление блокировками Конфигурации 1cv8 Бесплатно (free)

Расследование блокировок СУБД. Статья написана по мотивам вебинара Виктора Богачева.

28.04.2021    8140    vasilev2015    14    

84

Тонкости эксплуатации, плюшки и особенности Postgres Pro Enterprise

HighLoad оптимизация Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В ходе онлайн-встречи INFOSTART MEETUP Novosibirsk Руководитель ИТ из компании ИнфоСофт Антон Дорошкевич поделился с коллегами тонкостями и опытом работы с Postgresql для 1С. 

22.04.2021    8781    a.doroshkevich    6    

26