Рекомендации по настройке IBM DB2 в конфигурациях 1С

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

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

db2

Статья содержит сводку рекомендаций по настройке СУБД IBM DB2 для функционирования конфигураций 1С. Рекомендации были получены по результатам нагрузочного тестирования реальных конфигураций 1С, включая достаточно большие и нагруженные конфигурации. Описанные рекомендации позволили получить значительные улучшения в производительности приложений 1С для СУБД IBM DB2.

 

Подготовка к работе

Для стабильной и эффективной работы баз данных 1С в среде IBM DB2 крайне важно не забыть установить переменную DB2_WORKLOAD в значение 1С с помощью команды db2set:

db2set DB2_WORKLOAD=1C

После установки данной настройки необходимо перезапустить DB2, например, командами:

db2stop
db2start

Данная настройка автоматически устанавливает ряд других параметров,  IBM DB2, необходимых для корректного функционирования 1С.

Создание баз данных затем производится из интерфейса 1С путем ввода параметров базы данных и установки признака "Создать базу данных в случае её отсутствия".

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

 

Автоматическое управление табличными пространствами

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

Существует стандартный документированный процесс перехода на автоматическое управление размещением данных. Этот процесс выполняется в следующем порядке:

  1. Табличное пространство помечается как автоматически управляемое
  2. Выполняется перенос информации в новый (автоматически управляемый) контейнер через операцию перебалансировки
  3. Выполняется ожидание завершения операции перебалансировки, контролируя её выполнение по диагностическому протоколу

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

Для перевода базы данных 1С на автоматическое управление размещением данных может быть использован следующий набор команд:

1. Перенос основных табличных пространств

db2 alter tablespace V81C_INDEXSPACE managed by automatic storage
db2 alter tablespace V81C_INDEXSPACE rebalance
db2 alter tablespace V81C_LARGESPACE managed by automatic storage
db2 alter tablespace V81C_LARGESPACE rebalance
db2 alter tablespace V81C_LOBSPACE managed by automatic storage
db2 alter tablespace V81C_LOBSPACE rebalance
db2 alter tablespace SYSCATSPACE managed by automatic storage
db2 alter tablespace SYSCATSPACE rebalance

2. Перенос временных табличных пространств

db2 drop tablespace V81C_USERTEMP
db2 create user temporary tablespace V81C_USERTEMP pagesize 32 K managed by automatic storage bufferpool V81C_USERTEMPBP no file system caching
db2 create system temporary tablespace V81C_TEMPSPACE2 pagesize 32 K managed by automatic storage bufferpool V81C_SYSTEMPBP
db2 drop tablespace V81C_TEMPSPACE
db2 create system temporary tablespace V81C_TEMPSPACE pagesize 32 K managed by automatic storage bufferpool V81C_SYSTEMPBP no file system caching
db2 drop tablespace V81C_TEMPSPACE2

Обратите внимание, что перечисленные выше команды создают новые временные системное и пользовательское табличные пространства на устройствах, используемых по умолчанию базой данных DB2. Для размещения временных табличных пространств на более быстрых дисках отдельно от остальных данных необходимо либо явно указать пути для хранения данных (см. ниже раздел «Работа с временными таблицами»), либо, при использовании DB2 версии 10.1 и выше, создать дополнительную группу хранения данных (STORAGE GROUP) и разместить временные табличные пространства в ней.


Настройка автоматического управления распределением оперативной памяти 

Распределение оперативной памяти между различными рабочими областями СУБД IBM DB2 целесообразно предоставить Self-Tuning Memory Manager (STMM). В большинстве случаев STMM корректно активируется при создании базы данных средствами 1С.

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


Настройка объема использования оперативной памяти

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

Вычисленный объем оперативной памяти для работы сервера СУБД пересчитывается в количество страниц по 4096 байт (4 КиБ), и полученное значение устанавливается в значение конфигурационного параметра экземпляра DB2 INSTANCE_MEMORY командой UPDATE DBM CFG. Автоматическое управление параметром INSTANCE_MEMORY не рекомендуется. 

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

Использование оперативной памяти отдельными базами данных в рамках экземпляра регулируется параметром DATABASE_MEMORY для каждой из баз данных, устанавливаемого командой UPDATE DB CFG. Сумма значений данных параметров для всех активных в конкретный момент времени баз данных должна быть меньше заданного значения параметра INSTANCE_MEMORY. Рекомендуется включить автоматическую настройку параметра DATABASE_MEMORY для всех баз данных. В случае наличия единственной либо основной постоянно активной базы данных в экземпляре первоначальное значение параметра DATABASE_MEMORY может быть выставлено, например, в 75% значения параметра INSTANCE_MEMORY.

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


Использование оперативной памяти приложениями

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

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

В случае возникновения соответствующих ошибок рекомендуется увеличить первоначальные значения параметров базы данных APPLHEAPSZ и APPL_MEMORY, например:

db2 update db cfg using appl_memory 65536 automatic
db2 update db cfg using applheapsz 2048 automatic

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


Работа с временными таблицами

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

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

По результатам экспериментов было обнаружено, что временные табличные пространства SMS (System Managed Space) в большинстве случаев обеспечивают более высокую производительность по сравнению с временными табличными пространствами DMS (Database Managed Space), создаваемых по умолчанию средствами 1С. Статус поддержки таких конфигураций со стороны 1С на данный момент до конца не ясен, однако со стороны DB2 никаких функциональных отличий для приложений изменение организации табличных пространств не несёт. 

Пример набора команд для перемещения и изменения организации (DMS => SMS) временных табличных пространств: 

C:\> db2
db2 => CONNECT TO pdb2n1
db2 => DROP TABLESPACE "V81C_USERTEMP"
db2 => CREATE USER TEMPORARY TABLESPACE "V81C_USERTEMP" PAGESIZE 32 K MANAGED BY SYSTEM USING ('D:\DB2TEMP\PDB2N1\V81C_USERTEMP_DAT') BUFFERPOOL "V81C_USERTEMPBP" NO FILE SYSTEM CACHING
db2 => CREATE SYSTEM TEMPORARY TABLESPACE "V81C_TEMPSPACE2" PAGESIZE 32 K MANAGED BY AUTOMATIC STORAGE BUFFERPOOL "V81C_SYSTEMPBP" NO FILE SYSTEM CACHING
db2 => DROP TABLESPACE "V81C_TEMPSPACE"
db2 => CREATE SYSTEM TEMPORARY TABLESPACE "V81C_TEMPSPACE" PAGESIZE 32 K MANAGED BY SYSTEM USING ('D:\DB2TEMP\PDB2N1\V81C_TEMPSPACE_DAT') BUFFERPOOL "V81C_SYSTEMPBP" NO FILE SYSTEM CACHING
db2 => DROP TABLESPACE "V81C_TEMPSPACE2"
db2 => TERMINATE
C:\>

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

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

db2 alter bufferpool V81C_USERTEMPBP size 32768 automatic
db2 alter bufferpool V81C_SYSTEMPBP size 65536 automatic

Размер буферных пулов в приведенных выше командах указан в количестве страниц, каждая из которых имеет размер 32 КиБ. 

 

Размер и размещение транзакционного журнала СУБД

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

Пример корректировки значений параметров размера транзакционного журнала:

  • LOGFILSIZ 8192 – размер одного файла журнала 32 Мбайт;
  • LOGPRIMARY 8 – постоянно используется 8 файлов журнала, общий объем 256 Мбайт;
  • LOGSECOND 120 – при необходимости может быть создано до 120 дополнительных файлов журнала для обработки возможных разовых пиковых нагрузок (убедитесь в наличии достаточного дискового пространства, для данных значений 4 Гбайт).

Пример команд для корректировки размера транзакционного журнала:

db2 update db cfg using logfilsiz 8192
db2 update db cfg using logprimary 8
db2 update db cfg using logsecond 120

После выполнения приведенных выше команд необходимо закрыть и заново открыть базу данных (например, командами DEACTIVATE DATABASE и ACTIVATE DATABASE).

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

db2 update db cfg using newlogpath D:\DB2LOGS\PDB2N2

В приведенной выше команде подразумевается наличие SSD-диска D, на котором создан каталог DB2LOGS\PDB2N2. Для переноса журналов после выполнения данной команды необходимо закрыть и повторно открыть базу данных.


Автоматическое обслуживание базы данных

Рекомендуемые параметры автоматического обслуживания базы данных соответствуют устанавливаемым по умолчанию при создании базы данных средствами 1С, и предполагают установку в значение ON следующих параметров: AUTO_MAINT, AUTO_TBL_MAINT, AUTO_RUNSTATS, AUTO_STMT_STATS, AUTO_REORG.

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

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

Также для больших и нагруженных баз данных целесообразно настроить окно выполнения регламентных заданий обслуживания базы данных (реорганизации, сбора статистик) с целью минимизации воздействия этих заданий на работу конечных пользователей. Наиболее просто соответствующие настройки выполнить с помощью IBM Data Studio.

 

Активация используемых баз данных

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

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

 

Дополнительные оптимизации СУБД

Основной комплект настроек для оптимального выполнения запросов 1С устанавливается с помощью параметра DB2_WORKLOAD=1C, выставляемого командой db2set. В дополнение к этой обязательной настройке, для некоторых нагруженных систем можно рассмотреть следующие дополнительные параметры:

  • DB2_USE_ALTERNATE_PAGE_CLEANING=ON – использовать альтернативный (более агрессивный) алгоритм очистки страниц буферных пулов. Установка этого параметра полезна для систем с интенсивным вводом либо корректировкой данных, в которых активный рабочий набор данных не удается полностью разместить в оперативной памяти. Установка данного параметра может снижать производительность, поскольку DB2 будет более активно (т.е. с большими суммарными затратами ресурсов) записывать на диски изменённые страницы буферных пулов.
  • DB2_PARALLEL_IO=* – использовать параллельный ввод-вывод для всех табличных пространств. Установка данного параметра целесообразна при размещении табличных пространств базы данных на RAID-массивах.
  • DB2_SQLWORKSPACE_CACHE=200 – использовать увеличенный (по сравнению с применяемым по умолчанию) размер кэша откомпилированных запросов (так называемый SQL Workspace). Увеличение этого параметра со значения по умолчанию (30) до 200 приведет к увеличению потребления оперативной памяти в области общей кучи приложений (application shared heap) и снижению потребления ресурсов процессора. Рекомендуется для систем транзакционного типа (с большим количеством мелких запросов) и числом активно работающих пользователей не менее 200.

 

Дополнительные действия: Проверка настроек STMM

В большинстве случаев необходимость корректировки перечисленных ниже параметров не возникает, так как они корректно устанавливаются при создании базы данных средствами 1С. Тем не менее, при возникновении ошибок выделения оперативной памяти, необходимо выполнить следующие действия:

  1. Выполнить команду GET DB CFG и проверить установку параметра конфигурации базы данных SELF_TUNING_MEM в значение ON. При необходимости скорректировать данный параметр командой UPDATE DB CFG.
  2. Проверить установку параметра конфигурации базы данных DATABASE_MEMORY в разумное значение по умолчанию (см. ниже раздел про настройку объема использования оперативной памяти) с возможностью автоматической настройки (AUTOMATIC). При необходимости скорректировать данный параметр.
  3. Проверить установку параметра конфигурации базы данных MAXLOCKS в разумное значение (95-99) с возможностью автоматической настройки (AUTOMATIC). При необходимости скорректировать данный параметр.
  4. Проверить установку параметров конфигурации базы данных LOCKLIST, PCKCACHESZ, SHEAPTHRES_SHR,  SORTHEAP, DBHEAP, STMTHEAP, APPLHEAPSZ, APPL_MEMORY, STAT_HEAP_SZ с возможностью автоматической настройки (AUTOMATIC). При необходимости скорректировать параметры.
  5. Проверить наличие включенной автоматической настройки размеров буферных пулов путем выполнения команды «db2pd -db ИмяБД -bufferpool». В начальной части вывода данной команды необходимо проверить, что в колонке «Automatic» указано значение «True» для буферного пула «IBMDEFAULTBP» и всех буферных пулов, имя которых начинается с символов «V81C_». Если для каких-то буферных пулов не активирована автоматическая настройка размера, необходимо это исправить командой ALTER BUFFERPOOL.

 

Заключение

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. qwinter 627 06.05.15 22:41 Сейчас в теме
Какими судьбами выбор вообще пал на DB2?))))
antonbezrukov; +1 Ответить
2. zinal 45 07.05.15 08:02 Сейчас в теме
(1) qwinter,

Я - сотрудник IBM и занимаюсь, среди прочего, оказанием разнообразной помощи нашим заказчикам при внедрении конфигураций DB2+1C.
Выбор заказчиками DB2 как платформы для работы приложений 1С происходит по различным мотивам, типичные примеры:
- переход с серверов x86 на оборудование других типов,
- наличие корпоративного стандарта и необходимость унификации платформ
- или, наоборот, необходимость диверсификации и работы с несколькими разными поставщиками программного обеспечения.
CHSN8; olocolo; teflon; +3 Ответить
3. oleg.rizvanov 244 13.05.15 10:48 Сейчас в теме
Помнится, что в DB2 + 1С не работал Like в запросе. Уже починили?
4. zinal 45 13.05.15 19:40 Сейчас в теме
(3) oleg.rizvanov,

если под "не работал Like в запросе" вы подразумеваете отсутствие в DB2 поддержки расширений синтаксиса предиката LIKE, реализованных в MSSQL (диапазоны символов [a-z], символы вне диапазона [^0-5]), то в этой части ничего не изменилось. Стандартный функционал (шаблонные символы '%', '_' и их экранирование символом '\') как работал, так и продолжает работать.
5. aspirator23 434 16.05.15 14:25 Сейчас в теме
Побольше бы таких статей и число поклонников DB2 выросло. Большинство ставит MS "потому что у всех" и потому что для 1с - это основной сервер.
6. FeltBoot 16.05.15 14:54 Сейчас в теме
Когда-то на www.ibm.com/developerworks/community в разделе "1С:Предприятие на DB2 " была статья по установке DB2 на отдельный сервер и подключение к нему 1С.
С серверами на windows как бы проблем нет, установить на обоих, а затем с сервера 1С удалить сервис DB2 :)
А вот с centos такой финт не прикатывает, статью бы на эту тему :)
7. zinal 45 17.05.15 10:40 Сейчас в теме
(6) FeltBoot,
раз в подобной статье есть интерес, постараюсь её подготовить.
Вкратце же поясню: для подключения клиентских приложений (включая 1С) к серверу DB2 на компьютер с клиентским приложением устанавливается один из поддерживаемых пакетов драйверов DB2 (например, IBM Data Server Driver Package).
Дистрибутивы драйверов DB2 распространяются отдельно от сервера DB2. Ссылки для скачивания есть на следующей странице: http://www-01.ibm.com/support/docview.wss?uid=swg27016878
8. w.r. 584 15.02.19 12:49 Сейчас в теме
Если будет тормозить поиск '%LIKE%' в динамических списках, рекомендую выставить переменную DB2_INLIST_TO_NLJN в значение YES:

db2set DB2_INLIST_TO_NLJN=YES


Мне помогло
9. zinal 45 18.02.19 13:52 Сейчас в теме
(8) Вероятно в вашем случае удалось, изменив план выполнения запроса, минимизировать количество выполняемых сравнений через LIKE.
По-хорошему при наличии актуальной статистики оптимизатор автоматически выбирает более выгодный план в подобных ситуациях.

Переменная DB2_INLIST_TO_NLJN=YES предписывает оптимизатору везде, где возможно, преобразовывать выражения вида "IN (...)" в соединение типа Nested Loop - но это не всегда улучшает производительность, может даже ухудшить.

Поэтому я бы рекомендовал начать с проверки на наличие "свежих" статистик, а при их устаревании - собрал бы актуальную статистику вручную и проверил бы, почему она автоматически не обновляется.
10. w.r. 584 18.02.19 15:41 Сейчас в теме
(9)

Делал

db2 reorgchk update statistics on table all


Не помогло

Быстро поиск начал работать в динамическом списке только когда выставил DB2_INLIST_TO_NLJN=YES
Оставьте свое сообщение

См. также

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

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

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

30.10.2017    29818    MrWonder    42    

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

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

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

07.10.2020    2642    ivanov660    12    

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

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

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

02.10.2020    3293    Nykyanen    16    

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

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

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

19.08.2020    6678    YPermitin    29    

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

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

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

22.04.2015    41075    Gilev.Vyacheslav    1    

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

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

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

17.08.2020    429    ivanov660    0    

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

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

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

14.08.2020    9463    dmurk    30    

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

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

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

20.07.2020    1933    Филин    7    

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

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

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

22.01.2014    67443    yuraos    112    

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

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

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

25.06.2020    2753    ivanov660    12    

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

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

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

24.05.2020    7462    DataReducer    22    

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

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

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

18.05.2020    2100    Aleksey.Bochkov    3    

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

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

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

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

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

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

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

06.04.2020    11783    YPermitin    0    

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

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

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

03.04.2020    4411    feva    15    

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

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

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

31.03.2020    13039    informa1555    31    

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

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

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

19.02.2013    54805    Gilev.Vyacheslav    46    

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

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

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

31.03.2020    3166    vasilev2015    9    

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

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

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

20.03.2020    4973    vasilev2015    24    

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

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

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

18.03.2020    7232    kaliuzhnyi    43    

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

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

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

11.02.2013    30106    gallam99    19    

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

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

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

17.02.2020    9754    Evil Beaver    13    

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

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

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

23.01.2020    6465    darkdan77    59    

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

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

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

03.11.2012    42291    madmpro    32    

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

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

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

23.01.2020    7935    Kaval88    26    

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

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

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

19.12.2019    11663    ivanov660    16    

Весёлые картинки о работе 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    7695    EugeneSemyonov    11    

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

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

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

14.10.2019    17894    YPermitin    28    

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

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

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

13.09.2019    9090    Repich    5    

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

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

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

10.09.2019    18779    Sloth    24    

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

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

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

09.09.2019    8584    2tvad    17    

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

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

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

19.07.2019    9001    Филин    12    

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

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

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

16.07.2019    10094    fhqhelp    0    

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

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

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

02.07.2019    11434    igordynets    119    

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

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

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

27.06.2019    9874    YPermitin    17    

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

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

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

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

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

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

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

13.06.2019    12720    Repich    117    

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

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

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

13.06.2019    5930    slayer-ekb    10    

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

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

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

11.06.2019    25453    dmurk    145    

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

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

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

28.05.2019    19584    ivanov660    10    

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

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

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

21.05.2019    8008    vasilev2015    21    

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

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

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

20.05.2019    7216    zhichkin    15    

Как работают управляемые блокировки

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

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

29.04.2019    23419    comol    198    

Странное потребление места на диске С

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

Решение проблемы постоянного роста папки %AppData%/Local/Temp.

26.04.2019    14245    kuzyara    13    

Включение встроенного в платформу механизма "Копии базы данных" и использование "Дата Акселератора". Новый стандартный механизм использования баз OLAP в 1С

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

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

25.04.2019    14444    Elf1k    27