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

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

Администрирование - Производительность и оптимизация (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 617 07.10.20 11:32 Сейчас в теме
Владимир, очень интересно! Просто супер!
2. AntoShiK86 08.10.20 06:41 Сейчас в теме
Задача по определению активного числа пользователей решается данным фреймворком? Можно определить, что не хватает лицензий ?
4. ivanov660 2385 08.10.20 08:53 Сейчас в теме
(2)
1. Вы можете взять функцию максимум от количество активных пользователей. Таким образом сможете определить пиковые значения пользователей на кластере (На рисунках приведен пример). И исходя из этого можно определить разницу запаса оставшихся лицензий.
2. Если воспользуетесь консолью запросов или напишите свой плагин (обработку/отчет), то можете получить агрегирующие данные по всем отслеживаемым кластерам.
3. В планах стоит доработка для отображения данных по используемым лицензиям пользователями и их составу.
12. AntoShiK86 08.10.20 14:08 Сейчас в теме
(4)
те определить пиковые значения пользователей на кластере (На рисунках приведен пример). И исходя из этого можно определить разницу запаса оставшихся лицензий.
2. Если воспользуетесь консолью запросов или напишите свой плагин (обработку


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

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

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

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

См. также

Исследование технологического журнала 1С при помощи регулярных выражений в блокноте Промо

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Все из тех, кто пробовали сдать на сертификат "Эксперт по технологическим вопросам 1С", сталкивались с методикой ЦКТП - разбор файлов технологического журнала при помощи консоли bash. Я, в свою очередь,внёс изменения в данную методику. Мне хотелось достичь более понятного вида и сфокусироваться на Perl, в качестве предпочтительного средства обработки файлов ТЖ. Вот что из этого вышло:

30.10.2017    30876    MrWonder    42    

Долгое воспроизведение звука по RDP с удаленной машины

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

При воспроизведении короткого звука в 38 Кб, сигнализирующего об успешном сканировании, порою происходило подвисание примерно в 5 секунд.

09.02.2021    490    pashamak    2    

Highload-оптимизация 1С: теория и практика на примере консолидированной отчетности группы "Магнит" и розничной аптечной сети "Магнит"

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Тема оптимизации 1С на больших данных бесконечная и всеобъемлющая, поскольку на производительность влияет целый ряд факторов – количество пользователей, данных, транзакций, неоптимальные запросы и т.д. Об инструментах для локализации проблем производительности и практических кейсах оптимизации рассказал Алексей Олейник, руководитель сектора автоматизации отчетности МСФО компании «Информационные технологии Магнит».

11.01.2021    6507    user662404_itlexusss    14    

Анализ блокировок СУБД: таблица изменений плана обмена 1С

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Практический пример анализа типичной проблемы ожидания на блокировках СУБД, возникающих при использовании планов обмена 1С. Сервер СУБД: Microsoft SQL Server.

18.12.2020    1781    zhichkin    5    

Долго открывается конфигуратор Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

В ОС Windows Server 2012 бывает полезно выключать службу Dynamic Fair Share Scheduling (DFSS позволяет балансировать и распределять ресурсы между пользователями), чтобы повысить производительность 1С:Предприятие 8 в ряде случаев.

22.04.2015    41956    Gilev.Vyacheslav    1    

Ускорение медленной работы строк в 1С на примере 1С:Документооборот КОРП

Производительность и оптимизация (HighLoad) v8 ДО Бесплатно (free)

Если у вас в 1С:Документооборот КОРП 2.1.11.5 (часть более старых и новых конфигураций): 1) Долго отправляется почта в формате HTML; 2) Медленно открывается документы внутренние / входящие / исходящие; 3) Тормозит область просмотра или открытие задач. Тогда вам сюда.

02.10.2020    4489    Nykyanen    16    

Тест скорости работы мобильной платформы 1С

Мобильная разработка Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

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

14.09.2020    1464    capitan    25    

Описание почти всех событий технологического журнала

Технологический журнал v8 Бесплатно (free)

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

19.08.2020    14317    YPermitin    30    

Как можно "положить" SQL сервер с помощью обычной консоли запросов 1С Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Описано как из 1С, с помощью безобидной на первый взгляд обработки, можно сделать неработоспособным SQL сервер. Предложены меры, позволяющие избежать этого.

22.01.2014    68085    yuraos    112    

Адаптация автоматической классификации ошибок технологического журнала при появлении новых текстов и типов

Технологический журнал v8 1cv8.cf Бесплатно (free)

Корректируем классификацию ошибок ТЖ в процессе работы для конфигурации мониторинг производительности

17.08.2020    607    ivanov660    0    

SQL для 1С: пишем правильно, красиво, сложно

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Многие программисты боятся работать с Null, считая, что от этих данных в запросах нужно избавляться. О том, как с помощью Null-полей в запросе решать востребованные в учете задачи по выборке данных, на конференции Infostart Event 2019 Inception рассказал ведущий разработчик ГК WiseAdvice Дмитрий Дудин.

14.08.2020    11839    dmurk    31    

Нестандартные блокировки при работе с OLAP-нагрузкой

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Если выполнение отчета мешает работе других пользователей и провоцирует блокировки, даже с учетом «грязного чтения» – ситуация кажется парадоксальной. О том, как расследовать такие проблемы, на конференции Infostart Event 2019 Inception рассказали ведущий программист торгового дома «Петрович» Станислав Щербаков и специалист по производительности компании «СофтПоинт» Александр Денисов.

20.07.2020    2241    Филин    7    

Ускоряем списание партий УПП 1.2 / 1.3 / УТ 10.3 Промо

Производительность и оптимизация (HighLoad) v8 УТ10 УПП1 Бесплатно (free)

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

21.06.2013    58049    Антон Ширяев    117    

Автоматическая классификация ошибок технологического журнала

Технологический журнал v8 1cv8.cf Бесплатно (free)

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

25.06.2020    3195    ivanov660    13    

Выявляем и оптимизируем ресурсоемкие запросы 1С:Предприятия

Производительность и оптимизация (HighLoad) Администрирование СУБД Технологический журнал Структура метаданных v8::Запросы Бесплатно (free)

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

24.05.2020    8774    DataReducer    22    

[SQL Server] Использование trace flag 9592 для сжатия траффика в кластере AlwaysOn

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

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

18.05.2020    2377    Aleksey.Bochkov    4    

Сравнение скорости работы 1C+MSSQL и файлового варианта Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Бесплатно (free)

На форумах постоянно задается один и тот же вопрос: почему 1C+MSSQL медленнее обрабатывает запросы чем файловая? Затем обычно идет «флуд» на несколько десятков страниц. Есть два популярных «течения» в таких форумах — одни говорят что для клиент-серверного варианта это нормально, файловый вариант всегда должен работать быстрее, другие говорят что 1С плохо работает с субд. В результате «баталий и выяснения отношений» на форумах люди расходятся при своих мнения.

19.02.2013    56552    Gilev.Vyacheslav    46    

Эти занимательные временные таблицы

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

Кое-что интересное о временных таблицах и работе платформы 1С с ними.

06.04.2020    13274    YPermitin    0    

Оптимизация запросов 1С посредством индексации временных таблиц. Миф? Тестируем, смотрим, считаем

Производительность и оптимизация (HighLoad) Практика программирования v8 Бесплатно (free)

Появилось свободное время, решил проверить на работе индексацию таблиц. Решил поделиться с Вами результатами исследования. Давайте порассуждаем на эту тему? Часто ли вы пользуетесь индексацией в запросах? Платформа 8.3.16.1224

03.04.2020    5791    feva    15    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    14358    informa1555    35    

Параллельные вычисления в 1С 8 Промо

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Решение позволяет ускорять выполнение запросов в 1С 8 в отчетах путем их параллельного выполнения в разных потоках.

11.02.2013    31620    gallam99    19    

Многострочный контекст событий

Производительность и оптимизация (HighLoad) Технологический журнал v8 Бесплатно (free)

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

31.03.2020    3377    vasilev2015    10    

Анализ взаимоблокировок

Производительность и оптимизация (HighLoad) Технологический журнал v8 Бесплатно (free)

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

20.03.2020    5795    vasilev2015    27    

Многопоточность

Практика программирования Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

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

18.03.2020    7819    kaliuzhnyi    44    

Ubuntu vs CentOS vs Win2k8 vs Debian: производительность PostgreSQL Промо

Статистика базы данных Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Хотя интернет уже переполнен статьями о "правильной" настройке связки PostgreSQL и 1C 8.2, для подводных камней всегда остается место. При сравнении производительности СУБД PostgreSQL на разных ОС, показатели различаются в разы. Самую большую обиду принесла любимая Ubuntu (человечность). После долгих дней и ночей проведенных за консолью этой ОС, она разочаровала окончательно. Тормоза PostgreSQL в Ubuntu Server. Что с ними делать? Сколько раз можно наступать на грабли?

03.11.2012    44872    madmpro    32    

Планы запросов - это просто! Разбор оптимизаций запросов PostgreSQL на живых примерах

Производительность и оптимизация (HighLoad) v8::Запросы Бесплатно (free)

Проблема быстродействия 1С напрямую зависит от производительности запросов. Но как понять механику работы СУБД с помощью плана запроса? Андрей Овсянкин и Никита Грызлов на конференции Infostart Event 2019 Inception подробно рассмотрели алгоритм работы с планом запроса СУБД PostgreSQL, полученным из технологического журнала, и рассказали, на что обратить внимание, чтобы оптимизировать работу системы.

17.02.2020    11406    Evil Beaver    13    

Оптимизатор запросов. Вторая часть

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

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

23.01.2020    6867    darkdan77    59    

Улучшаем производительность 1С. Рекомендации

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Бесплатно (free)

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

23.01.2020    8834    Kaval88    26    

Мониторим производительность с помощью 1С RAS

Инструментарий разработчика Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

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

19.12.2019    13152    ivanov660    20    

Весёлые картинки о работе Performance Monitor на Windows Server 2016 Std по мотивам расследования потери производительности на базе 1С

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Данная публикация посвящена одной особенности Performance Monitor на Windows Server 2016 Std. Как понимать графики Performance Monitor на Windows Server 2016 Std при расследовании проблем в работе 1С.

22.10.2019    8103    EugeneSemyonov    11    

Обслуживание баз данных. Не так просто, как кажется

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

Считаете, что обслуживание индексов и статистик дело простое? Что ж, это не всегда так.

14.10.2019    19392    YPermitin    31    

Мониторинг высоконагруженной системы

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Высоконагруженной системе (более 8000 клиентских сессий) мониторинг необходим. Про опыт использования инструментов для мониторинга – самописной системы информирования, написанной на C#, и конфигурации «Центр контроля качества» в связке с системой отображения данных Grafana, на конференции Infostart Event 2018 Education рассказал Олег Репников.

13.09.2019    9544    Repich    5    

Использование Zabbix для сбора информации о серверных вызовах и управляемых блокировках с сервера 1С Предприятия, работающего на платформе GNU/Linux

Администрирование данных 1С Zabbix v8 Бесплатно (free)

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

10.09.2019    19877    Sloth    30    

Хранение файлов - как уменьшить размер базы данных

Чистка базы Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 Россия Бесплатно (free)

Хранение файлов в базе 1С можно оптимизировать для уменьшения размера хранимых данных.

09.09.2019    9200    2tvad    17    

Неочевидные проблемы производительности: важность системного подхода при анализе

Производительность и оптимизация (HighLoad) v8 Россия Бесплатно (free)

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

19.07.2019    9295    Филин    12    

Ловля блокировок на связке "Microsoft SQL server - 1С"

Производительность и оптимизация (HighLoad) v8 v8::blocking Бесплатно (free)

Материал относится к базам данных на связке «1С - MS SQL Server». Один из способов отлова блокировок в бд 1С . Переход к управляемым блокировкам через режим "Автоматический и управляемый".

16.07.2019    10883    fhqhelp    0    

Анти-оптимизация: как мы ускорили запрос в 4 раза, сделав его неоптимальным

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

В этой статье приведен пример неочевидной "оптимизации" запроса, которая противоречит всем правилам, описанным в книгах для подготовки к сертификации "1С:Эксперт по технологическим вопросам", а также преподаваемым на курсах подготовки экспертов.

02.07.2019    11856    igordynets    119    

Ускорение чтения правил обмена в УПП 1.3 в 20 раз!

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

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

27.06.2019    10217    YPermitin    17    

Хотите снизить нагрузку на процессор сервера в 2 раза?

Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

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

27.06.2019    10573    Дмитрий74Чел    6    

Непридуманные истории по оптимизации. История 1

Производительность и оптимизация (HighLoad) v8 1cv8.cf Россия Бесплатно (free)

Первая статья из планируемого цикла об оптимизации приложений на базе 1С. Без теории. Одна практика.

13.06.2019    13095    Repich    117    

Оптимизация: неэффективные запросы

Производительность и оптимизация (HighLoad) Практика программирования Разработка v8 1cv8.cf Бесплатно (free)

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

13.06.2019    6108    slayer-ekb    10    

Многопоточное ускорение однопользовательских нагрузок в 1С + Microsoft SQL Server 2017

Практика программирования Производительность и оптимизация (HighLoad) v8 v8::Запросы Бесплатно (free)

Взаимодействие с Microsoft SQL Server нередко вызывает трудности у 1С-ников, а потому интересны любые моменты, связанные с его использованием. О своем опыте работы с новым SQL Server 2017 участникам конференции Infostart-2018 рассказал директор ООО «Аналитика софт» Дмитрий Дудин.

11.06.2019    27062    dmurk    146    

За 5 шагов добавляем мониторинг счетчиков производительности серверов MS SQL и 1С

Статистика базы данных Производительность и оптимизация (HighLoad) v8 Бесплатно (free)

Мы расскажем и покажем, как добавить данные счетчиков производительности серверов 1С и MS SQL в нашу базу мониторинга за 15 минут. Приведем список наиболее важных из них, опишем основные особенности.

28.05.2019    21588    ivanov660    11    

Не думать о секундах свысока...

Производительность и оптимизация (HighLoad) v8 1cv8.cf Бесплатно (free)

Несколько примеров оптимизации типовой конфигурации УТ11. Описанные приемы подходят для многих других конфигураций.

21.05.2019    8265    vasilev2015    21    

Альтернативная стратегия управления блокировками

Производительность и оптимизация (HighLoad) v8 v8::blocking 1cv8.cf Россия Бесплатно (free)

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

20.05.2019    7432    zhichkin    15