Решение проблемы быстродействия в ERP на рабочем примере

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

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

нагрузочное тестирование ERP оптимизация быстродействие Тестирование 3.0

59
Рассмотрим практический пример оптимизации, определим последовательность действий и воспользуемся специализированными инструментами.

Постановка задачи

Проблема: выполнение операции занимает значительное время под пользователями с ограничениями.

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

Исходные данные: ERP ~700 онлайн одновременно. Подсистема производство. Точка входа: кнопка «Диспетчирование (ББВ)» в подсистеме производство.

Диспетчирование (ББВ)

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

Замечание: Мы же знаем, что время = деньги! А также что время ожидания еще коррелирует с точкой закипания пользователя ;)

Последовательность решения

Начальный этап.

Определяемся с точкой анализа и определяем порядок действий для выполнения замера.

Замечание: Согласитесь - плохой тон включать ТЖ на все и для всех.

I) Замер с таймером. 

А) Замер с таймером на рабочей базе.

Предварительный анализ показал, что под пользователем с полными правами выполняется в диапазоне от 5-15 сек. Под пользователем с ограничениями выполняется от 50-70 сек.

Б) Замер с таймером на локальной копии.

Под полными правами 3-8 сек. Под пользователем с ограничениями 4-10 сек.

Выводы: проявляется под нагрузкой.

II) Включаем замер технологического журнала (ТЖ).

Для замера используем отбор по сеансу, базе и пользователю, чтобы не анализировать кучу данных ненужных. Подготовка, пользователь открывает подсистему и ждет команды нажать кнопку. В ТЖ обязательно включить следующие условия (данные в зависимости от текущей ситуации):

<eq property="p:processName" value="ERP"/> 
<eq property="usr" value="Пользователь"/> 
<property name="sessionid" value="1234"/>

А) Замеры на рабочей показали следующую картину см. таблица 1. Под полными и правами пользователей с ограничениями.

Б) Делаем замер на копии. Под полными и не полными.

Получаем фактически «квадрат» из таблиц, показывающих как ведет себя система под нагрузкой и без, при учете РЛС и без.

Для выполнения анализа воспользуемся конфигурацией «анализ технологического журнала» ссылки в конце статьи.

Замечание: Мы считаем, что анализ журнала должен быть простым и наглядным, а мериться длиной глубиной знаний в разборе текста на perl или regexp не стоит, можно заняться и более приятным делом, пока необходимый инструмент работает. К примеру, выпить чаю с печенькой)

Табл. 1 Замеры пользователя с ограничениями RLS на нагруженной базе

Табл. 2 Замеры пользователя администратора на нагруженной базе

III) Анализируем, выполняем поиск проблемных участков  

Берем и открываем расшифровку Context для длительной операции согласно рисунку "Табл.1" и смотрим его расшифровку:

 

Технически проблемная часть находится в модуле «ОперативныйУчетПроизводстваВызовСервера» -> функция «ДанныеДляФормированияМаршрутныхЛистов». 

Проблемной частью в нашем случае является выполнение запроса под RLS.  Архитектурные изменения не рассматриваем (минимум изменений), думаем как оптимизировать.

Запрос и представление функции выглядит так.

 

IV) Вырабатываем решение.

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

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

  • Накладываем фильтр простыми отборами соответствующими RLS. В качестве примера возьмем реализацию АРМ "Отгрузки" типовой конфигурации. На пользователя наложен RLS по складам на справочник Склады, т.е. он может выбрать только те склады к которым у него есть доступ. Поэтому накладывать ограничения на запросы позволяющие получить таблицу распоряжений не имеет смысла и можно получать результат в привилегированном режиме.
     
  • Накладываем фильтр набором разрешенных данных. Если в запросе с разрешенными можно выделить некоторую изначальную выборку данных, в рамках которой в дальнейшем определяется итоговый результат, то эти данные выберем сначала (используя разрешенные), а на последующий пакет запросов искусственно накладываем фильтр из этого набора (используем внутреннее соединение с временной таблицей, оператор "В"). Т.е. иногда можно разбить запрос с разрешенными на две части - под ограничениями и без (в привилегированном режиме). 

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

1. добавить мини запрос, в котором выбрать разрешенные распоряжения по таблице с остатками (фильтр из данных)

2. оставшийся типовой запрос выполнить в привилегированном режиме, но с дополнительной фильтрацией по данным временной таблицы из первого запроса.

На что еще необходимо обратить внимание (Вы это скорее всего прекрасно знаете):

а). Выносить во временные таблицы стоит только фильтрованные данные. Плохим примером было бы вынести вместо таблицы остатков, таблицу документов, а потом ее отфильтровать.

б). Стараться всегда, где можно использовать фильтры и отборы.

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

г). Условия в виртуальных таблицах.

д). "Или" переделывать на объединения (вопрос к знатокам, приходилось ли разбивать на десятки объединений условия по ИЛИ)?

Код запроса и представление функции с изменениями:

 

Замеры после оптимизации показали следующие результаты: 
 - Время для полноправного пользователя стало в районе 3-10 сек ,
 - Пользователь с ограничениями стал работать в интервале 10-15 сек.

На рисунке ниже приведена таблица с замерами, выполненными после оптимизации (все замеры проводились при одинаковых настройках).

Табл. 3 Замеры пользователя с ограничениями RLS после оптимизации

Послесловие ... 

Проект для анализа технологического журнала расположен на GitHub по адресу: https://github.com/Polyplastic/1c-parsing-tech-log 

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

Замечание: Для тех, кто не хочет ставить EDT и компилировать, но хочет посмотреть – есть возможность скачать с infostart ссылка внизу.
В общем включайтесь в разработку на EDT и Open Source, и да прибудет с нами сила.

(Об особенностях процесса разработки на EDT я рассказывал тут: Взгляд на практику разработки в EDT из зазеркалья )


59

Скачать файлы

Наименование Файл Версия Размер
Мониторинг производительности (Анализ технологического журнала) 2.0.4.4
.cf 716,48Kb
09.10.19
45
.cf 2.0.4.4 716,48Kb 45 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо
1. e][tend 18.12.18 10:10 Сейчас в теме
За конфигурацию по разбору логов ТЖ спасибо!
2. ivanov660 1626 18.12.18 10:20 Сейчас в теме
(1)
1. Спасибо всем нам) Буду рад если пригодится в работе. По вопросам и замечаниям, если будут пишите в секцию issue на GitHub проекта.
2. В ближайшем будущем мы планируем добавить еще некоторое количество полезного функционала.
3. Сейчас данная конфигурация у нас успешно работает в облаке для мониторинга проблемных ситуаций.
3. myxins1989 49 18.12.18 11:47 Сейчас в теме
ИЛИ будет отрабатывать медленно, если отбор накладывается на разные поля. Пример:
Контрагент = &Контрагент ИЛИ Номенклатура = &Номенклатура.
Конструкция Контрагент = &Контрагент1 ИЛИ Контрагент = &Контрагент2 будет работать быстро.

Вложенные запросы сами по себе не страшны, плохо СОЕДИНЕНИЕ с вложенным запросом.

Соединение с виртуальной таблицей на уровне СУБД превращается в двойное соединение со вложенным запросом.

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

А в целом да - РЛС убирать, и отборы, отборы и еще раз отборы!
Krio2; ProgrammistC; A_Max; +3 Ответить
4. ivanov660 1626 18.12.18 12:08 Сейчас в теме
(3) На счет индексирования. Недавно столкнулись с плавающим багом.

Относительно простой запрос по выборке выполнялся практически всегда быстро, но очень редко чертовски медленно - разница оказывалась порядка 100 раз. Смотрели сервер, потом планы запросов и выяснили, что их два: один хороший и оптимальный, а второй дурной со сканом. Так вот проблема была в том, что скуль иногда ошибался. Проблема решилась индексированием маленькой (в большинстве 40-50 записей) временной таблицы.
Поэтому в большинстве случаев настройки решение зависит от конкретной ситуации и окружения для рассматриваемой системы.
8. ProgrammistC 66 18.04.19 13:31 Сейчас в теме
(3)
таблицу.
абсолютно согласен с комментарием
5. Darklight 19 19.12.18 17:09 Сейчас в теме
Проект на git-hub не содержит значимых файлов сорсов (одни md). Или я что-то не понимаю.

А вот статья получилась очень познавательная, более менее хорошо написанная! Побольше бы таких статей! Так держать!
6. ivanov660 1626 20.12.18 07:08 Сейчас в теме
(5)это проект EDT и все необходимые файлы на месте.
Чтобы запустить вам нужен EDT и 1С.
Далее в хелпе нужно найти статью как подключиться к git и развернуть проект.
7. Darklight 19 20.12.18 14:29 Сейчас в теме
(6)Это всё понятно. Я извиняюсь, всё нашёл - просто криво в начале посмотрел
Оставьте свое сообщение

См. также

Кто круче: "ИЛИ" или "ОБЪЕДИНИТЬ ВСЕ" в запросе? 10

Статья Программист Внешний отчет (ert,erf) v8 v8::СПР v8::Запросы ЗУП2.5 MySQL Абонемент ($m) Производительность и оптимизация (HighLoad)

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

1 стартмани

14.09.2019    1623    azazana    23       

Оптимизация прав ролей 14

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8::УФ v8::Права 1cv8.cf Россия Windows Абонемент ($m) Производительность и оптимизация (HighLoad) Роли и права

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    1947    2    toxilamer    11       

Еще один тест 1C: Postgres SQL 11 Pro Enterpise против MSSQL 14 под Windows 2012 Server R2 13

Статья Системный администратор Архив с данными v8 Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Проработав 15 лет с MSSQL в 2017 начал активно СУБД Postgres SQL. За два года успел поработать в 9 версии Postgres и в 10-ой. И пришел к выводу, что существуют реальное замедление работы баз после перехода на Postgres. Недавно вышла 11 версия Postgres Pro Enterpise, которая обещает почти 2-х кратное ускорение над 11 Pro Standart и 10-ой версией. Закупив лицензию Postgres 11 Pro Enterpise Это я и решил проверить на 1С.

1 стартмани

05.09.2019    4032    9    ogidni    84       

Менеджер потоков: реализация "любой" задачи в потоках 49

Статья Программист Нет файла v8 Абонемент ($m) Производительность и оптимизация (HighLoad)

Менеджер потоков – один их новых инструментов, который упрощает работу разработчиков. Насколько легко с ним, на конференции Infostart Event 2018 Education показал начальник отдела автоматизации 1С Иван Филимонов компании «Трансстроймеханизация».

01.08.2019    4164    17    DarkAn    6       

Ловец дедлоков СУБД 45

Статья Системный администратор Программист Архив с данными v8 Россия MS SQL Абонемент ($m) Производительность и оптимизация (HighLoad) Практика программирования Разработка

Анализ простейшего дедлока СУБД в рабочей базе с использованием ЦУП (центра управления производительностью) и profiler MS SQL (Microsoft SQL Server). Эта статья будет полезна людям, изучающим вопросы оптимизации работы 1С, или тем, у кого возникают дедлоки в рабочей базе. UPD 09.07.2019 добавлено воспроизведение блокировки в случае установки управляемой блокировки перед чтением набора записей регистра сведений. UPD 10.07.2019 добавлена тестовая база с примером.

1 стартмани

08.07.2019    6130    2    azazana    76       

Мониторинг производительности и искусственный интеллект 37

Статья Программист Конфигурация (md, cf) v8 Абонемент ($m) Производительность и оптимизация (HighLoad) Практика программирования Разработка

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

1 стартмани

01.07.2019    3851    3    ivanov660    28       

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

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

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

28.05.2019    7098    ivanov660    5       

5 простых шагов и 15 минут на разворачивание инструмента мониторинга проблем производительности базы 1С 201

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) Производительность и оптимизация (HighLoad)

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

18.04.2019    17782    ivanov660    40       

Взаимодействие при редактировании одних и тех же данных [Расширение] УТ11 6

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 УТ11 Россия Абонемент ($m) Производительность и оптимизация (HighLoad)

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

2 стартмани

14.04.2019    1720    2    noprogrammer    0       

Методика оптимизации программного кода 1С: проведение документов 83

Инструменты и обработки Программист Архив с данными v8 v8::УФ Абонемент ($m) Обработка документов Производительность и оптимизация (HighLoad) Инструментарий разработчика

Описание простого метода анализа производительности программного кода 1С, способов его оптимизации и оценки результатов в виде числовых показателей прироста производительности. Не требует сторонних программных продуктов, используются только типовые возможности платформ 1С. Методика проверена на линейке платформ начиная с 1С:Предприятие 8.2 (обычные формы, управляемые формы). Позволяет ускорить проведение проблемных документов в 3 и более раз, провести проверку корректности формирования проводок оптимизированным кодом и подтвердить результаты оптимизации реальными замерами производительности в режиме предприятия. К публикации приложены демонстрационные базы для режимов обычного и управляемого приложения на платформе 1С:Предприятие 8.3 (8.3.9.2033).

1 стартмани

19.03.2019    14006    13    dmitrydemenew    83       

Исправление ЦУП 2.1.2 1

Инструменты и обработки Системный администратор Программист Расширение (cfe) v8 1cv8.cf Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Расширение для конфигурации Центр управления производительностью, редакция 2.1 (2.1.2.11), которое позволяет настроить регламентный мониторинг. Работает на платформе 1С:Предприятие 8.3 (8.3.13.1644).

2 стартмани

21.01.2019    2209    5    Neco    0       

Многопоточное тестирование производительности по методике APDEX (управляемые формы) 12

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

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

10 стартмани

09.01.2019    4068    8    capitan    24       

Короткое нагрузочное тестирование PostgreSQL простыми запросами 25

Статья Системный администратор Программист Архив с данными v8::УФ Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Короткое нагрузочное тестирование PostgreSQL простыми запросами. Прилагаются результаты в файлах pgBadger и perfmon.

1 стартмани

10.12.2018    6434    1    vasilev2015    22       

PostgreSQL для 1С 8.3: ускоряем резервное копирование и восстановление для отдельной базы очень большого размера 108

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Россия PostgreSQL Абонемент ($m) Производительность и оптимизация (HighLoad) Тестирование и исправление

В этой статье разберем оптимизацию работы с моментальным снимком отдельной базы 1С в кластере PostgreSQL средствами pg_dump.exe, pg_restore.exe, psql.exe в среде Windows Server 2008,2012,2016. А также разберем проблемные ситуации и неожиданные ограничения при работе 1С в связке с PostgreSQL. Для Linux все аналогично.

1 стартмани

03.12.2018    15855    30    vsasav    62       

Многопоточная обработка данных 44

Инструменты и обработки Системный администратор Программист Конфигурация (md, cf) v8 v8::УФ 1cv8.cf Абонемент ($m) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    10472    44    _ASZ_    14       

Замер производительности. КА 2, УТ 11 1

Отчеты и формы Системный администратор Программист Внешний отчет (ert,erf) v8 УТ11 Абонемент ($m) Статистика базы данных Производительность и оптимизация (HighLoad)

Отчет позволяет замерять на актуальных базах КА2 и УТ11 (в том числе на демо-базах) три параметра: время выборки данных, время передачи с клиента на сервер, время вывода данных. Тестировал на релизах КА 2.4.1.240 и УТ 11.4.5.32.

1 стартмани

22.11.2018    3763    5    FarFar    9       

Скорость работы 1С8 файловой по сети 87

Статья Системный администратор Программист Архив с данными v8 1cv8.cf Абонемент ($m) Производительность и оптимизация (HighLoad)

Как я увеличил скорость работы файловой 1С8 по сети, изменив формат БД и размер страницы.

1 стартмани

01.11.2018    17350    11    Vlx    55       

Мониторинг показателей систем 1С 8.3 с помощью Zabbix 162

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Внешние источники данных Zabbix

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

1 стартмани

05.10.2018    20258    36    akimych    48       

Очистка и обновление индекса полнотекстового поиска (регламентное задание) 8

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 УНФ ДО БП3.0 УТ11 УХ ЗУП3.x Россия Абонемент ($m) Производительность и оптимизация (HighLoad)

Обработка-регламентное задание позволяет в автоматическом режиме очищать и обновлять индекс полнотекстового поиска. Это необходимо делать для устранения проблем производительности на крупных базах. Подключаем в доп.обработках, задаем расписание выполнения на выходные и радуемся :)

2 стартмани

14.09.2018    10937    53    Kyrales    3       

Пересечение транзакций. Примеры 17

Статья Программист Архив с данными v8 Абонемент ($m) Производительность и оптимизация (HighLoad)

Рассматривается пересечение транзакций типа чтение-запись над одним элементом справочника при разных уровнях изоляции.

3 стартмани

03.09.2018    6910    vasilev2015    5       

Взгляд на практику разработки в EDT из зазеркалья 115

Статья Системный администратор Программист Нет файла v8 1cv8.cf Бесплатно (free) EDT

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

26.07.2018    17314    ivanov660    104       

Нагрузочное тестирование. В дни проведения ЧМ по футболу. 42

Статья Системный администратор Программист Архив с данными v8 Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Нагрузочное тестирование. Подготовка к экзамену 1С:Эксперт. По мотивам доклада Виктора Богачева Инфостарт Event 2014. В дни проведения ЧМ по футболу.

1 стартмани

24.06.2018    7267    3    vasilev2015    9       

Ускорение отчета 'Контроль передвижений агентов (онлайн-карты)' от AgentPlus v1.5.2 5

Инструменты и обработки Программист Руководитель проекта Внешняя обработка (ert,epf) v8 1cv8.cf Украина Абонемент ($m) Производительность и оптимизация (HighLoad) Рабочее место

У пользователей системы AgentPlus (Агент Плюс) отчет 'Контроль передвижений агентов (онлайн-карты)' v1.5.2 вызывает восторг и разочарование одновременно. Восторг – потому, что позволяет увидеть маршрут передвижения пользователя системы с привязкой к карте и дорогам, разочарование – от длительности построения отчета. Отчет по 45 точкам маршрута у меня строится больше минуты. Тестировалось на "Управление торговым Предприятием" 1.2.45.2.

1 стартмани

03.05.2018    4187    4    DiegoLidabo    0       

В «1С:ЗУП КОРП 3.1» тормоза (медленная работа) в журналах документов при использовании критериев отбора 34

Статья Программист Нет файла v8::Запросы ЗУП3.x Абонемент ($m) Практика программирования Производительность и оптимизация (HighLoad)

Статья для тех, у кого: 1) используете RLS (ограничение доступа на уровне записей и полей), 2) много документов (более 100 тысяч в одном журнале), 3) используете «Журналы документов», 4) отборы в динамическом списке (по сотруднику). Скорее всего, Вы испытали на себе, как отбор происходит минутами (жутко тормозит) – тогда Вам сюда.

1 стартмани

04.01.2018    14836    Nykyanen    3       

Обработки  для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91 3

Инструменты и обработки Программист Архив с данными v8 1cv8.cf Украина Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Обработки предназначены  для проведения сценарного нагрузочного тестирования, включая  пример описанного  сценария  с обработками (epf) -  ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик. Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С "Зарплата и Управления персоналом" с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД. Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией "Тест Центр", входящий в состав пакета 1С:КИП.

2 стартмани

15.09.2017    6904    14    podorojnii_ayu    0       

Графический план выполнения запроса 1С 25

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf MS SQL Абонемент ($m) Производительность и оптимизация (HighLoad) Инструментарий разработчика Универсальные обработки

Просмотр графического отображения плана выполнения для запросов 1С. Для информационных баз на MS SQL Server.

1 стартмани

24.06.2017    11431    51    berezdetsky    26       

Перерасчет итогов регистра бухгалтерии в 1С 8

Инструменты и обработки Программист Архив с данными v8::БУ БП1.6 Россия БУ Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Вариант перерасчета итогов частями (помесячно), если при типовом пересчете 1С зависает.

1 стартмани

30.05.2017    11350    16    MarcoPolo3    1       

Многопоточность. Универсальный «Менеджер потоков» (фреймворк) с отслеживанием зависимости объектов 175

Статья Программист Архив с данными v8 1cv8.cf Россия Абонемент ($m) Практика программирования Математика и алгоритмы Универсальные функции Производительность и оптимизация (HighLoad)

Восстановление партий, расчет зарплаты, пакетное формирование документов или отчетов - теперь все это стало доступнее. * Есть желание повысить скорость работы медленных алгоритмов! Но... * Нет времени думать о реализации многопоточности? * о запуске и остановке потоков? * о поддержании потоков в рабочем состоянии? * о передаче данных в потоки и как получить ответ из потока? * об организации последовательности? Тогда ЭТО - то что надо!!!

26.05.2017    38370    166    DarkAn    86       

График времени выполнения ключевой операции 12

Отчеты и формы Системный администратор Программист Внешняя обработка (ert,epf) v8 v8::УФ Розница ДО ERP2 БП3.0 УТ11 ЗУП3.x Абонемент ($m) Статистика базы данных Производительность и оптимизация (HighLoad)

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

1 стартмани

09.04.2017    10972    17    info1i    0       

Просмотр заблокированных строк в 1С 155

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

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

1 стартмани

25.10.2016    32635    603    Andreynikus    54       

Настройка PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012, объём БД более 200 Гб 197

Инструменты и обработки Системный администратор Архив с данными v8 Россия Windows Абонемент ($m) Производительность и оптимизация (HighLoad) Администрирование данных 1С

Настройка бесплатной СУБД PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012 х64. Объём БД более 380 Гб для мощного сервака. Конфигурация КА 1.1.108.2, 50 пользователей. Более 1 млн. проводок при закрытии месяца. Время закрытия месяца сравнимо с MSSQL и составляет в среднем 2 часа. Время отмены закрытия месяца - всего 10 минут! Ликвидированы зависания PostgreSQL. Всё за счет настроек файла postgesql.conf.

1 стартмани

11.10.2016    60130    55    vsasav    40       

Средство поиска "узких мест" при проведении документов 6

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Россия Windows Абонемент ($m) Производительность и оптимизация (HighLoad) Практика программирования

Обработка и добавляемые в конфигурацию коды для ведения простой для понимания статистики времени проведения документов. Пригодно для разных конфигураций на платформе 8.2

1 стартмани

31.05.2016    9734    5    ibs10    12       

Просмотр структуры БД, парсинг запросов SQL 94

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Статистика базы данных Производительность и оптимизация (HighLoad)

Получение некоторых данных о БД и сеансе, просмотр внутренней структуры таблиц БД 1С в SQL, "перевод" запросов SQL в терминологию 1С. Чуть больше, чем "ПолучитьСтруктуруХраненияБазыДанных"; чуть удобнее, чем аналоги; чуть другая, чем КИП.

1 стартмани

26.02.2016    23758    221    Yashazz    15       

Парсер технологического журнала 1С 14

Инструменты и обработки Системный администратор Приложение (exe) v8 1cv8.cf Россия Windows Абонемент ($m) Поиск данных Производительность и оптимизация (HighLoad)

Простой, шустрый и легкий в использовании off-line парсер технологического журнала 1С.

10 стартмани

06.12.2015    17368    78    sarycheff    29       

Поиск в динамическом списке (по части строки): попытка оптимизации 14

Инструменты и обработки Системный администратор Программист Архив с данными v8 УТ10 Россия УУ Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

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

1 стартмани

24.11.2015    16773    2    logarifm    5       

Фиксируем SPID для отслеживания в SQL Profiler 17

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Для разбора запросов бывает полезным использовать SQL Profiler. При настройке выборки событий предлагаю дополнительно наложить еще один фильтр по полю SPID.

1 стартмани

22.09.2015    13331    22    break    3       

1С:Бухгалтерия 3.0. Борьба за производительность 6

Инструменты и обработки Системный администратор Программист Архив с данными v8 БП3.0 БУ Закрытие периода Абонемент ($m) Производительность и оптимизация (HighLoad)

Программисты в шоке: закрытие месяца в БП 3.0. Как закрыть ноябрь 2014 года и успеть встретить новый год.

49 стартмани

01.06.2015    9393    pit201201    21       

Тест производительности 1С 5

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Глубоко убежден, что организациям с числом активных пользователей 1с большим чем 10, крайне необходимо уходить от файловых баз. И тут возникает дилемма: Какую СУБД выбрать? SQL или Postgre? Скуль хорош. Очень хорош. Практически "из коробки" он обеспечит превосходную производительность. Но стоит нереальных денег. Очень хорош... Но дорог... Очень дорог... С Постгри все сложнее. "Из коробки" мы получаем конструктор "очумелые ручки". Чтобы насладиться более-менее приемлемым результатом, придется попотеть. Зато "халява, сэр".

1 стартмани

22.04.2015    10936    14    smallbuk    22       

Сбор и анализ счетчиков производительности через 1С по шагам 8.3 95

Инструменты и обработки Системный администратор Внешняя обработка (ert,epf) v8 1cv8.cf Windows Абонемент ($m) Производительность и оптимизация (HighLoad)

Для поиска узких мест в производительности сервера можно включить и настроить счетчики этой самой производительности «Performance Monitor». По умолчанию данные собираются и пишутся в файлы, но это не всегда удобно. Появилась задача, для которой более удобно собирать счетчики в базу данных MS SQL и позднее анализировать через 1С. Далее о том, как это настроить, и какая обработка получилась у меня.

1 стартмани

06.04.2015    30402    81    Silmariil    25       

Использование общих модулей "Длительные операции" из состава БСП или асинхронное выполнение серверных процедур без блокировки пользовательского интерфейса 127

Инструменты и обработки Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Практика программирования Производительность и оптимизация (HighLoad) Универсальные функции БСП (Библиотека стандартных подсистем)

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

1 стартмани

17.03.2015    55110    163    Bassgood    15       

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" 9

Инструменты и обработки Системный администратор Программист Внешняя обработка (ert,epf) v8 1cv8.cf Абонемент ($m) Производительность и оптимизация (HighLoad)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    24264    45    ZLENKO    14