Как повысить производительность 1С?
Этап 1. Настройка системы
Для начала выполним следующие настройки в BIOS и операционной системе:
В BIOS сервера отключаем все настройки по экономии электропитания процессора.
Выбираем в операционной системе план «Максимальная производительность».
Процессор также настраиваем на максимальную производительность. Это можно сделать с помощью утилиты PowerSchemeEd.
Этап 2. Настройка SQL сервера и сервера 1С:Предприятия
Вносим следующие изменения в настройки сервера СУБД и 1С:Предприятия.
Настройка протокола Shared Memory:
Shared Memory включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится Named Pipe – несколько уступающий в скорости работы. Данная технология работает только если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
Рекомендуется перевести службу 1С в режим отладки, как не парадоксально это дает прирост производительности. По умолчанию отладка на сервере выключена.
Настройка SQL сервера:
Нам нужен только сервер, остальные службы, которые к нему относятся и, возможно, кто-то ими пользуется, только тормозят работу. Останавливаем и отключаем такие службы как: FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и т.д.
Устанавливаем максимально отведенное серверу количество памяти. Это необходимо для того, чтобы sql-сервер рассчитывал на этот объем и чистил память заблаговременно.
Устанавливаем максимальное количество потоков (Maximum worker threads) и выставляем повышенный приоритет сервера (Boost priority).
Этап 3. Настройка рабочей базы данных
После того, как сервер СУБД и 1С:Предприятия оптимизированы, переходим к настройкам баз. Если база еще не развернута из .dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать «>=» размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать: примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также хранение файла базы и файла лога лучше указать на разных физических дисках или RAID группах, если используется RAID массив, и ограничить разрастание лога. Рекомендуется выносить файл Tempdb на высокоскоростной массив, так как СУБД к нему довольно часто обращается.
Этап 4. Настройка регламентных заданий
Регламентные задания создаются довольно просто с помощью Maintenance Plan в разделе Management, используя графические инструменты, поэтому подробно описывать, как это делается не будем. Остановимся на том, какие операции необходимо выполнять для повышения производительности.
Дефрагментацию индексов и обновление статистики нужно производить ежедневно, т.к. если фрагментированность индексов > 25%, это резко снижает производительность сервера.
Дефрагментация и обновление статистики - делается быстро и не требует отключения пользователей. Также рекомендуется делать ежедневно.
Полная реиндексация – делается с блокировкой БД, рекомендуется делать хотя бы раз в неделю. Естественно, после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.
В итоге, с помощью тонких настроек системы, SQL сервера и рабочей базы, нам удалось повысить производительность на 46%. Замеры были проведены с помощью инструмента 1С КИП и с помощью теста Гилева. Последний показал 25,6 единиц против 17,53 которые были изначально.
Этап 1. Настройка системы
Для начала выполним следующие настройки в BIOS и операционной системе:
В BIOS сервера отключаем все настройки по экономии электропитания процессора.
Выбираем в операционной системе план «Максимальная производительность».
Процессор также настраиваем на максимальную производительность. Это можно сделать с помощью утилиты PowerSchemeEd.
Этап 2. Настройка SQL сервера и сервера 1С:Предприятия
Вносим следующие изменения в настройки сервера СУБД и 1С:Предприятия.
Настройка протокола Shared Memory:
Shared Memory включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится Named Pipe – несколько уступающий в скорости работы. Данная технология работает только если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
Рекомендуется перевести службу 1С в режим отладки, как не парадоксально это дает прирост производительности. По умолчанию отладка на сервере выключена.
Настройка SQL сервера:
Нам нужен только сервер, остальные службы, которые к нему относятся и, возможно, кто-то ими пользуется, только тормозят работу. Останавливаем и отключаем такие службы как: FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и т.д.
Устанавливаем максимально отведенное серверу количество памяти. Это необходимо для того, чтобы sql-сервер рассчитывал на этот объем и чистил память заблаговременно.
Устанавливаем максимальное количество потоков (Maximum worker threads) и выставляем повышенный приоритет сервера (Boost priority).
Этап 3. Настройка рабочей базы данных
После того, как сервер СУБД и 1С:Предприятия оптимизированы, переходим к настройкам баз. Если база еще не развернута из .dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать «>=» размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать: примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию – рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также хранение файла базы и файла лога лучше указать на разных физических дисках или RAID группах, если используется RAID массив, и ограничить разрастание лога. Рекомендуется выносить файл Tempdb на высокоскоростной массив, так как СУБД к нему довольно часто обращается.
Этап 4. Настройка регламентных заданий
Регламентные задания создаются довольно просто с помощью Maintenance Plan в разделе Management, используя графические инструменты, поэтому подробно описывать, как это делается не будем. Остановимся на том, какие операции необходимо выполнять для повышения производительности.
Дефрагментацию индексов и обновление статистики нужно производить ежедневно, т.к. если фрагментированность индексов > 25%, это резко снижает производительность сервера.
Дефрагментация и обновление статистики - делается быстро и не требует отключения пользователей. Также рекомендуется делать ежедневно.
Полная реиндексация – делается с блокировкой БД, рекомендуется делать хотя бы раз в неделю. Естественно, после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.
В итоге, с помощью тонких настроек системы, SQL сервера и рабочей базы, нам удалось повысить производительность на 46%. Замеры были проведены с помощью инструмента 1С КИП и с помощью теста Гилева. Последний показал 25,6 единиц против 17,53 которые были изначально.
👍2
Ошибка СУБД: Внутренняя ошибка компоненты dbeng8
Ошибка СУБД: Внутренняя ошибка компоненты dbeng8 — это достаточно часто встречающаяся проблема в системе 1С предприятие 8. Причина данной ошибки, как правило, появляется вследствие нарушения структуры базы данных. Чаще всего данную проблему можно легко решить с помощью последовательности нижеописанных действий. Получить такую ошибку можно при совершенно разных ситуациях — при запуске 1С 8.3 или закрытии базы, обмене, закрытии месяца, выгрузке базы, при проведении документа, открытии справочника.
Рекомендации: Прежде чем выполнять действия, описанные ниже, необходимо сделать копию базы, на случай потери данных, а именно:
1. Выгрузить базу посредством создания .dt файла. Откройте конфигуратор, в главном меню выберите пункт “Администрирование – Выгрузить информационную базу”
2. Если первый пункт не сработал в виду появления ошибок во время выгрузки, рекомендуем открыть папку в которой лежит база (путь можно взять из основного окна программы) и скопировать файл с названием 1Cv8.1CD.
Только после выполнения данных пунктов нужно приступать к исправлению ошибок!
1. Тестирование и исправление средствами конфигуратора. Для этого зайдите в систему с помощью режима «конфигуратор». В главном меню выберите пункт «Администрирование — Тестирование и исправление…»:
В открывшемся окне установите настройки, а именно:
– Проверка логической целостности информационной базы,
– Проверка ссылочной целостности информационной базы
– Сжатие таблиц информационной базы
– Реструктуризация таблиц информационной базы
и нажмите выполнить
После выполнения программа предоставит отчет о выполненной работе.
2. Исправление утилитой chdbfl.exe Данная утилита аналог «тестирования и исправления», чтобы запустить её, необходимо запустить файл chdbfl.exe в папке с программой (например — C:\Program Files (x86)\1cv82\8.2.18.96\bin):
После запуска утилиты необходимо указать расположение базы данных (путь можно взять из основного окна программным) и установить флаг «Исправлять обнаруженные ошибки»:
После выполнения утилита также предоставит отчет о выполненных действиях.
3. Обновление платформы 1С Если два первых способа не помогли, можно попробовать переустановить технологическую платформу 1С или же просто подменить файл dbeng8.dll в папке программы (пример — C:\Program Files (x86)\1cv82\8.2.18.96\bin) из другого, установленного дистрибутива программы.
Ошибка СУБД: Внутренняя ошибка компоненты dbeng8 — это достаточно часто встречающаяся проблема в системе 1С предприятие 8. Причина данной ошибки, как правило, появляется вследствие нарушения структуры базы данных. Чаще всего данную проблему можно легко решить с помощью последовательности нижеописанных действий. Получить такую ошибку можно при совершенно разных ситуациях — при запуске 1С 8.3 или закрытии базы, обмене, закрытии месяца, выгрузке базы, при проведении документа, открытии справочника.
Рекомендации: Прежде чем выполнять действия, описанные ниже, необходимо сделать копию базы, на случай потери данных, а именно:
1. Выгрузить базу посредством создания .dt файла. Откройте конфигуратор, в главном меню выберите пункт “Администрирование – Выгрузить информационную базу”
2. Если первый пункт не сработал в виду появления ошибок во время выгрузки, рекомендуем открыть папку в которой лежит база (путь можно взять из основного окна программы) и скопировать файл с названием 1Cv8.1CD.
Только после выполнения данных пунктов нужно приступать к исправлению ошибок!
1. Тестирование и исправление средствами конфигуратора. Для этого зайдите в систему с помощью режима «конфигуратор». В главном меню выберите пункт «Администрирование — Тестирование и исправление…»:
В открывшемся окне установите настройки, а именно:
– Проверка логической целостности информационной базы,
– Проверка ссылочной целостности информационной базы
– Сжатие таблиц информационной базы
– Реструктуризация таблиц информационной базы
и нажмите выполнить
После выполнения программа предоставит отчет о выполненной работе.
2. Исправление утилитой chdbfl.exe Данная утилита аналог «тестирования и исправления», чтобы запустить её, необходимо запустить файл chdbfl.exe в папке с программой (например — C:\Program Files (x86)\1cv82\8.2.18.96\bin):
После запуска утилиты необходимо указать расположение базы данных (путь можно взять из основного окна программным) и установить флаг «Исправлять обнаруженные ошибки»:
После выполнения утилита также предоставит отчет о выполненных действиях.
3. Обновление платформы 1С Если два первых способа не помогли, можно попробовать переустановить технологическую платформу 1С или же просто подменить файл dbeng8.dll в папке программы (пример — C:\Program Files (x86)\1cv82\8.2.18.96\bin) из другого, установленного дистрибутива программы.
Полезные ссылки:
Книга "Практическое пособие разработчика" (Радченко) - https://www.1c-interes.ru/catalog/all...
Книга "Разработка управляемого интерфейса" ("Разработка интерфейса прикладных решений" в новом издании) - https://www.1c-interes.ru/catalog/all...
Видеокурс "Быстрый старт в профессию" - http://www.spec8.ru/1c-prog-fast-start
Видеокурс "Профессиональная разработка интерфейсов и форм" - https://xn----1-bedvffifm4g.xn--p1ai/...
Ильяс Низамутдинов:
https://cutt.ly/wf1JQEJ
Также есть возможность приобрести комплект из трех книг Ильяса:
https://cutt.ly/gfGYwNL
Книга "Практическое пособие разработчика" (Радченко) - https://www.1c-interes.ru/catalog/all...
Книга "Разработка управляемого интерфейса" ("Разработка интерфейса прикладных решений" в новом издании) - https://www.1c-interes.ru/catalog/all...
Видеокурс "Быстрый старт в профессию" - http://www.spec8.ru/1c-prog-fast-start
Видеокурс "Профессиональная разработка интерфейсов и форм" - https://xn----1-bedvffifm4g.xn--p1ai/...
Ильяс Низамутдинов:
https://cutt.ly/wf1JQEJ
Также есть возможность приобрести комплект из трех книг Ильяса:
https://cutt.ly/gfGYwNL
курсы-по-1с.рф
Учебный курс «1С:Программист — Быстрый Старт в профессию» | Курсы-по-1С.рф
Дистанционный тренинг для тех, кто хочет начать программировать в 1С 1С:Программист — Быстрый Старт в профессию Всего за 23 рубля в день. Это дешевле 3 минут работы специалиста по 1С. Что Вы получаете: Заочный курс — но с поддержкой тренерами Не надо никуда…
ESB - Enterprise Service Bus
ESB (Enterprise Service Bus) — дословно можно перевести как «сервисная шина предприятия». ESB описывает вполне реальный программный продукт, в задачи которого входит упрощение вызова службы за счет управления всеми взаимодействиями на пути от потребителя службы к поставщику и обратно. Двумя наиболее часто упоминаемыми возможностями ESB являются преобразование сообщений и их маршрутизация. На шину ESB в архитектуре SOA возложена важнейшая задача обеспечения взаимодействия систем из слабосвязанных сервисов в сети. Аналитики Gartner определяют ESB как новый тип программного обеспечения промежуточного уровня, который объединяет функциональные возможности других уже существующих типов промежуточного обеспечения. Корпоративная сервисная шина поддерживает Web-сервисы, реализуя протокол SOAP (Simple Object Access Protocol, Простой протокол доступа к объектам) и используя язык WSDL (Web Services Description Language, Язык описания Web-сервисов) и спецификацию UDDI (Universal Description, Discovery and Integration, Универсальное описание, обнаружение и интеграция).
ESB (Enterprise Service Bus) — дословно можно перевести как «сервисная шина предприятия». ESB описывает вполне реальный программный продукт, в задачи которого входит упрощение вызова службы за счет управления всеми взаимодействиями на пути от потребителя службы к поставщику и обратно. Двумя наиболее часто упоминаемыми возможностями ESB являются преобразование сообщений и их маршрутизация. На шину ESB в архитектуре SOA возложена важнейшая задача обеспечения взаимодействия систем из слабосвязанных сервисов в сети. Аналитики Gartner определяют ESB как новый тип программного обеспечения промежуточного уровня, который объединяет функциональные возможности других уже существующих типов промежуточного обеспечения. Корпоративная сервисная шина поддерживает Web-сервисы, реализуя протокол SOAP (Simple Object Access Protocol, Простой протокол доступа к объектам) и используя язык WSDL (Web Services Description Language, Язык описания Web-сервисов) и спецификацию UDDI (Universal Description, Discovery and Integration, Универсальное описание, обнаружение и интеграция).
#1сЛайфхак
Если после переустановки клиент серверной 1С у вас перестала работать загрузка данных из Excell - не получается установить соединение к Excell app через com соединение- советую проверить под каким юзером запускается служба 1с(пысы должен быть под локальным)
Если после переустановки клиент серверной 1С у вас перестала работать загрузка данных из Excell - не получается установить соединение к Excell app через com соединение- советую проверить под каким юзером запускается служба 1с(пысы должен быть под локальным)
#1сЛайфхак
Если у Вас:
Запись не верна! Значение поля "Ставка налогообложения резидента" не может быть пустым! (Регистр накопления: Расчеты налогоплательщиков с бюджетом по НДФЛ; Номер строки: 1)
Если у Вас:
Запись не верна! Значение поля "Ставка налогообложения резидента" не может быть пустым! (Регистр накопления: Расчеты налогоплательщиков с бюджетом по НДФЛ; Номер строки: 1)
#1сЛайфхак Отключение узловой базы от главного узла РИБ делается через параметр запуска 1С
/ResetMasterNode
/ResetMasterNode
#1сЛайфхак
При проблемах с COM Соединением
1С 8.3 : Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)
Если фоновый процесс COM-соединения завершается с ошибкой:
{Обработка.ОбменДаннымиXML.МодульОбъекта(15947)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
Нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
!!! Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL !!!
В 32-битной версии сервера проблема решилась бы командой: regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
но в 64-битной версии команда будет примерно такой * : C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить и отметьте COM соединение
При проблемах с COM Соединением
1С 8.3 : Регистрация компоненты comcntr.dll (для COM соединения с базой 1С)
Если фоновый процесс COM-соединения завершается с ошибкой:
{Обработка.ОбменДаннымиXML.МодульОбъекта(15947)}: Ошибка при вызове конструктора (COMОбъект): -2147221005(0x800401F3): Invalid class string
Нужно зарегистрировать библиотеку ComConnector comcntr.dll из каталога программы.
!!! Перед этим нужно отключить службу агента сервера 1С:Предприятия и все программы, использующие эту DLL !!!
В 32-битной версии сервера проблема решилась бы командой: regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
но в 64-битной версии команда будет примерно такой * : C:\Windows\SysWOW64\regsvr32 «C:\Program Files (x86)\1cv8\8.3.5.1119\bin\comcntr.dll»
Если команда регистрации не помогла, то нужно предварительно удалить регистрацию библиотеки comcntr.dll, запустив ту же команду вызова regsvr32 с ключом /u
Если и это не помогло, попробуйте переустановить платформу 1С в режиме Исправить и отметьте COM соединение
#1сЛайфхак
Если в конфигурацию был добавлен новый отчет, то возможна ситуация когда при нажатии на настройки возникает такая ошибка. Решение.
Внимание. Не поддерживается ситуация когда отчет подключен только к некоторым из указанных форм. В частности, в случае Полного варианта внедрения если для отчета на СКД определена собственная основная форма, то для него также следует определить собственную форму настроек (либо в свойствах этого отчета указать общую форму ВспомогательнаяФормаНастроекОтчета). Это требование также распространяется на дополнительные и внешние отчеты, использующиеся в конфигурации с Полным вариантом внедрения формы отчета
Если в конфигурацию был добавлен новый отчет, то возможна ситуация когда при нажатии на настройки возникает такая ошибка. Решение.
Внимание. Не поддерживается ситуация когда отчет подключен только к некоторым из указанных форм. В частности, в случае Полного варианта внедрения если для отчета на СКД определена собственная основная форма, то для него также следует определить собственную форму настроек (либо в свойствах этого отчета указать общую форму ВспомогательнаяФормаНастроекОтчета). Это требование также распространяется на дополнительные и внешние отчеты, использующиеся в конфигурации с Полным вариантом внедрения формы отчета
#1сЛайфхак
Если вы столкнулись с ошибкой
в Бухгалтерии для Узбекистана 3.0 Поле объекта не обнаружено РасчетЗарплатыВИностраннойВалюте отключите галочку в константе
Если вы столкнулись с ошибкой
в Бухгалтерии для Узбекистана 3.0 Поле объекта не обнаружено РасчетЗарплатыВИностраннойВалюте отключите галочку в константе