Как сделать чтобы 1с работала быстрее

Добавил пользователь Владимир З.
Обновлено: 05.10.2024

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

Тормозит 1С 8.3 — что делать? Как ускорить работу 1С и увеличить быстродействие программы

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

  1. Настройка регламентных и фоновых заданий;
  2. Диагностика и устранение ошибок информационной базы, имеющий файловый формат хранения данных;
  3. Запустить индексацию полнотекстового поиска в 1С либо выключить его вовсе;
  4. Запуск базы на последних Платформах 8.3.8;
  5. Запуск в Тонком Клиенте;
  6. Увеличение скорости перепроведения документов при отключенном антивирусе;
  7. Запустить Пересчет итогов и восстановление последовательности;
  8. Выполнить Тестирование и исправление базы, проверку утилитой chdbfl.exe;
  9. Если конфигурация не типовая, то есть доработанная программистами под конкретную организацию, выполнить Проверку конфигурации;
  10. Отключить ненужные функциональные режимы;
  11. Настроить права пользователей;
  12. Дефрагментация диска с файловой базой;
  13. Свертка базы;
  14. Модернизация аппаратной части.

Далее рассмотрим более подробно предложенные методы.

Способ 1. Настройка регламентных и фоновых заданий

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

Фоновый режим — это режим ожидания, то есть операция запущена всегда, хоть и не используется.

Шаг 1. Настройка регламентных и фоновых заданий

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

Настройка регламентных заданий в 1С

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

На рисунке видим список регламентных заданий, которые запускаются в 1С 8.3 Бухгалтерия:

список регламентных заданий

На рисунке видим список выполненных фоновых заданий:

 список выполненных фоновых заданий

Шаг 2. Отключение нецелесообразных задач

Рассмотрим подробно как отключить загрузку классификатора банков в 1С 8.3. Установим курсор на нужную строку и сделаем двойной щелчок:

выбор регламентного задания

Для отключения задания убираем галочку Включено:

отключение загрузки классификатора банков в 1С 8.3

Шаг 3. Настройка расписания регламентных задач

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

выбор регламентного задания

Выберем пункт Расписание:

переход к настройке расписания загрузки курсов валют

В открывшемся окне переходим на нужную закладку и делаем соответствующую настройку:

настройка расписания загрузки курсов валют в 1С

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

Шаг 1.

Создаем резервную копию базы данных.

Шаг 2.

Запускаем процедуру Тестирования и исправления информационной базы. Для этого открываем Конфигуратор и запускаем процедуру Тестирование и исправления информационной базы: раздел Администрирование – Тестирование и исправление. Выбираем проверки и режимы, которые нужно выполнить для информационной базы:

Тестирование и исправление информационной базы

Рассмотрим, подробнее предлагаемые варианты проверки:

Если выбираем вариант процедуры Тестирование и исправление в режиме Проверка ссылочной целостности информационной базы, то пункты настроек по обработке ошибок базы данных становятся доступными:

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

Способ 3. Запустить индексацию полнотекстового поиска в 1С либо выключить его вовсе

Полнотекстовый поиск данных компания 1С разработала для облегчения поиска незнакомой информации пользователем. Особенностью полнотекстового поиска данных в 1С 8.3 является:

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

Например, нужно настроить полнотекстовый поиск в документах Авансовый отчет.

Шаг 1.

Запускаем программу в режиме Конфигуратор.

Шаг 2.

Открываем документ Авансовый отчет: меню Конфигуратор – Открыть конфигурацию.

Шаг 3.

В строке Полнотекстовый поиск выбираем пункт Использовать: Авансовый отчет – Поле ввода – Полнотекстовый поиск:

настройка полнотекстового поиска в документах Авансовый отчет

Шаг 4.

Запускаем программу и обновляем режим полнотекстового поиска. Открываем Регламентные операции: раздел Администрирование – Настройки программы – Поддержка и обслуживание:

обновление режима полнотекстового поиска

Шаг 5.

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

обновление индекса полнотекстового поиска

Способ 4. Запуск базы на последних платформах 8.3.8

Как обновить технологическую платформу 1С 8.3 смотрите в нашем видео уроке:

Специалисты 1С улучшили распределение нагрузки:

  • Имеется возможность более точно управлять объемом памяти, расходуемой рабочими процессами сервера, что позволяет повысить устойчивость кластера к неосторожным действиям пользователей.
  • Реструктуризация информационных баз в фоновом режиме. Новая возможность позволяет свести к минимуму время простоя системы, необходимое для обновления прикладных решений.
  • Платформа версии 8.3 получила новый интерфейс приложений “Такси”, более удобный и наглядный с новым ярким дизайном. Улучшились возможности навигации по приложению. Пользователь может самостоятельно настраивать свое рабочее пространство, располагая панели в разных областях экрана. Новый механизм ввода по строке существенно ускоряет поиск данных. Подробнее о новых возможностях программы 1С 8.3 Бухгалтерия интерфейс “Такси” смотрите в нашем видео:

Способ 5. Запуск в Тонком клиенте

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

Способ 6. Поменять антивирусное программное обеспечение

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

Способ 7. Тестирование и исправление базы, проверка утилитой chdbfl.exe

Необходимо выполнить Тестирование и исправление базы, проверку утилитой chdbfl.exe, предварительно сделав копию.

Шаг 1. Делаем копию базы данных

Как сделать резервную копию 1С 8.3 смотрите в следующем видео уроке:

Шаг 2. Выполняем проверку с помощью утилиты chdbfl.exe

расположение утилиты chdbfl.exe

Выполняем проверку с помощью утилиты chdbfl.exe:

проверка с помощью утилиты chdbfl.exe

Шаг 3. Выполнить Тестирование и исправление базы

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

Шаг 4. Восстановление последовательности документов

Для восстановления последовательности в 1С 8.3 открываем Все функции: главное Меню – Все функции. Выбираем нужный пункт и открываем используя кнопку Открыть:

выбор функции Проведение документов

В открывшемся окне на закладке Восстановление последовательностей и нажимаем Восстановить или Восстановить все:

Восстановление последовательности документов

Способ 8. Если конфигурация не типовая, то выполнить проверку конфигурации

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

Шаг 1.

Запускаем программу в режиме Конфигуратор.

Шаг 2.

Открыть конфигурацию БД: раздел Конфигурация – Конфигурация базы данных:

выбор проверки конфигурации БД

Шаг 3.

Выбираем пункт Проверка конфигурации и делаем настройки:

Проверка не типовой конфигурации

Способ 9. Отключить ненужные функциональные режимы

Открываем Функциональность программы 1С 8.3: раздел Главное – Настройки – Функциональность, делаем настройки по каждому разделу:

настройка функциональности программы

Способ 10. Настроить права пользователей

Шаг 1.

Запускаем 1С 8.3 в режиме Конфигуратор.

Шаг 2.

Настройка прав доступа пользователя 1С 8.3 к объектам базы. Открываем список пользователей: раздел Администрирование – Пользователи. На закладке Прочее определяем какие роли нужно назначить пользователю и отметить их галочкой.

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

Настройка прав доступа пользователя 1С

Способ 11. Дефрагментация диска с файловой базой

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

Выделив жесткий диск, правой клавишей мыши вызываем команду Свойства:

вызов команды Свойства

На закладке Сервис выбираем Оптимизация и дефрагментация диска:

Дефрагментация диска с файловой базой

Способ 12. Свертка базы

Свертка базы 1С 8.3 – это ввод актуальных остатков на определенную дату и удаление старых, ненужных документов. Этот способ может оказаться полезным, если база большого объема, например, за несколько лет. Свертку необходимо производить без работающих в системе пользователей.

Шаг 1. Создаем копию базы данных

Шаг 2. Выполняем процедуру свертки базы 1С 8.3

Раздел Администрирование – Сервис – Свертка информационной базы.

На первом этапе Создание резервной копии программа 1С 8.3 предлагает сделать резервную копию, где нужно указать каталог для сохранения. Нажимаем Далее:

Создание резервной копии

На втором этапе Настройка свертки указываем организации, по которым нужно делать свертку и на какой период. Нажимаем Далее:

Настройка свертки

На третьем этапе Формирование остатков выбираем регистры для формирования остатков. Здесь лучше оставить настройки по умолчанию. Нажимаем Далее:

Формирование остатков

На четвертом этапе Просмотр операций программа сформирует документы ввода остатков, которые доступные для просмотра. Нажимаем Далее:

Просмотр операций

На пятом этапе Проверка программа автоматически делаем проверку и формирует отчет, в котором отражаются остатки до свертки и после свертки. Нажимаем Далее:

Проверка

На шестом этапе Удаление старых документов программа удаляет старые документы. Нажимаем Далее:

Удаление старых документов

Шаг 3. Удаляем помеченные на удаление объекты

Запускаем обработку Удаление помеченных объектов в 1С: раздел Администрирование – Сервис:

Удаление помеченных объектов в 1С

Способ 13. Модернизация аппаратной части

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

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

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

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, рекомендую познакомиться с онлайн-курсом "Administrator Linux. Professional" в OTUS. Курс не для новичков, для поступления нужно пройти .

Введение

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

А если вы выходите за возможности работы в файловых базах, дальше вам нужно будет платить в разы больше. Там нужна будет и лицензия на сам сервер 1С, на серверную ОС, на лицензию MSSQL, если выберите ее и т.д. В общем, там совсем другие бюджеты. Не хочу в данной статье останавливаться на разборе цен, так как они постоянно меняются. И будут сильно отличаться в зависимости от выбранной схемы работы.

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

Использование SSD диска

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

Первое, с чего начинаем ускорение файловой базы - переносим ее на SSD. На обычных дисках с ней сейчас вообще невозможно работать даже одному. Пи этом имейте ввиду, что если с базами интенсивно работают, ресурс бюджетных ssd дисков будет очень быстро расходоваться. Я хоть и давненько уже, но помню, как в одном месте менял эти диски каждые полгода, год. Так что обязательно бэкапы и по возможности raid1 или raid10.

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

Я рекомендую тут не экономить и купить не десктопный диск, а что-то подороже, с большим ресурсом. Но если денег нет, то можно и обычный. Просто не забывайте каждую ночь бэкапить базы. Малый бизнес переживет если что, от потери данных за день. Можно и руками перезабить, если хочется сэкономить. Такая плата выйдет.

Настройка регламентных заданий

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

Настройка регламентных заданий в 1С

Это то, что точно не нужно. Так же возможно вам не нужно построение и обновление полнотекстового индекса. Это задание по дефолту стартует каждые 60. секунд и катастрофически снижает работу файловой базы. Более того, я видел глюки перестроения индекса, когда в директории с файловой базой 1С в папке 1Cv8FTxt копились десятки тысяч мелких файлов.

Ускорение файловой базы 1с

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

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

Меня один раз просили сделать аудит 1С сервера, который жутко тормозил. При этом там одновременно работало не так много людей, около 10. А железо должно было тянуть человек 50. Баз было много, в том числе тестовых, но людей-то работало мало. Сами по себе базы не должны нагружать сервер.

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

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

Переход на публикацию в WEB

Недавно у меня была статья про настройку публикации баз 1с через web. Всю техническую часть можете посмотреть там. Вам не обязательно делать так же. Я рассказал про то, как делаю я. Просто опубликуйте любым образом и проверьте работу.

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

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

Добавление информационной базы

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

Терминальный доступ к файловой базе

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

Если все предыдущие оптимизации файловой базы не привели к желаемому результату, можете попробовать перенести ее на терминальный сервер, опубликовать через веб и подключить терминальным пользователям эту базу тоже через web. Это важно, подключаем не напрямую, как обычную файловую базу.

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

Заключение

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

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


Скорость работы 1С – очень важный фактор, определяющий время доступа к информации в базе и работе с ней. К сожалению, большинство предприятий среднего и малого бизнеса оснащают рабочие места старыми или дешевыми компьютерами, считая, что для ведения бухгалтерии много ресурсов не требуется. Базы могут загружаться по пять минут, а отчеты и ведомости формироваться по паре минут. Когда приходит время закрывать какой-нибудь месяц, пусть там и немного документов – ожидание может длиться до 10 минут, и нужно всё проверить, чтобы не было ошибок и месяц не пришлось перезакрывать.

Ускорить 1С – значит ускорить бизнес-процессы компании, связанные с отражением фактов жизни предприятия в информационной базе. Если 1С работает медленно, то это таки или иначе сказывается на работе всей компании и на получении прибыли.

Тормозит 1С: как ускорить 1С

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

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

Почему тормозит 1С?

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

Внешние причины медленной работы 1С

К внешним причинам, влияющим на скорость работы 1С 8.3 можно отнести аппаратные, операционные и программные факторы.

Аппаратный фактор

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

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

Старый компьютер сильно замедляет работу 1С

Оперативная память позволяет хранить данные во временной памяти, позволяя программам работать с ними. Чем больше объем оперативной памяти – тем больше данных могут обрабатываться программой 1С. Увеличение оперативной памяти положительно сказывается на всех ступенях работы с 1С – от загрузки программы до выгрузки отчётов. Однако, положительное влияние увеличения оперативной памяти чувствуется на малых её объемах. При смене 2 Гб на 4 Гб разница чувствуется сильно, однако если увеличить память с 16 Гб до 32 Гб, особого прироста производительности Вы не почувствуете (информация не актуальна для серверов 1С).

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

Какие бы работы не проводились по ускорению 1С, если у Вас мало оперативной памяти (1 Гб) или слабенький процессор (2200 ГГц), навряд ли Вы добьётесь ощутимого прироста скорости. Стоит подумать о модернизации компьютера.

Убедитесь, что Ваш компьютер обладает хорошими характеристиками

Операционный фактор

К операционным факторам можно отнести вид операционной системы и настройки электропитания.

Самыми распространёнными операционными системами являются 32- и 64-битные. Последние системы (Windows 8,10) в большинстве своём 64-битные. 32-битные системы имеют некоторые ограничения, главное из которых – программное ограничение максимально доступного объема оперативной памяти – примерно 3,5 Гб. Даже если физически у вас будет установлено 8 Гб, максимум, которым Вы сможете воспользоваться – 3,5 Гб.

Включите решим повышенной производительности

Программный фактор

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

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

Внутренние причины медленной работы 1С

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

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

Настройте производительность прямо в 1С

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

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

Настройте производительность прямо в 1С

Клиент-серверные решения 1С

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

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

Выводы

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

Настройте производительность прямо в 1С

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

Сергей Ярастов

Часть 1. Ускорение 1С

Часть 2. Оптимизация 1С

Часть 3. Производительность 1С

Блокировки в 1С 8.3: поиск и устранение в коде, перевод на управляемые блокировки

Блокировки являются частью механизма ACID. Рассмотрим его концепцию, представленную в виде упрощенной схемы, на примере SQL SERVER

Рис.1 Концепция ACID

Рис.1 Концепция ACID

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

1С Управляемые блокировки

Механизм блокировок был вынесен на сервер 1С, а на уровне СУБД изоляция снизилась до минимума. На MS SQL уровень изоляции был понижен до Read Committed с механизмом разделяемых блокировок на платформе 8.2 и механизмом версионирования строк на платформе 8.3 (так называемый Read Committed Snapshot Isoliation). Точнее, это одноименное свойство базы данных и два режима работы Read Committed, зависящие от этого параметра.

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

СУБД Вид блокировки Уровень изоляции транзакций Чтение вне транзакции
Автоматические блокировки
Файловая База Данных Таблиц Serializable Dirty read
MS SQL Server Записей Repetable Read или Serializable Dirty read
IBM DB2 Записей Repetable Read или Serializable Dirty read
PostgreSQL Таблиц Serializable Consistent reading
Oracle Database Таблиц Serializable Consistent reading
Управляемые блокировки
Файловая База Данных Таблиц Serializable Dirty read
MS SQL Server 2000 Записей Read Commited Dirty read
MS SQL Server 2005 и выше Read Commited Snapshot Consistent reading
IBM DB2 до версии 9.7 Записей Read Commited Dirty read
IBM DB2 версии 9.7 и выше Записей Read Commited Consistent reading
PostgreSQL Записей Read Commited Consistent reading
Oracle Database Записей Read Commited Consistent reading

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

Рис.2 Запрос из SSMS в контексте нужной базы

Рис.2 Запрос из SSMS в контексте нужной базы

Блокировки 1С. Пользователь не будет ждать на блокировках, произойдет ускорение работы 1С, если придерживаться определенных правил:

  • Продолжительность транзакций должна быть максимально сокращена по времени. Проведение в транзакции длительных расчетов в 100% случаев приведет к блокировке при работе на OLTP системе.
  • Исключены длительные внешние операции в рамках транзакции, например, отправка и принятие подтверждений по электронной почте, работа с файловой системой и другие дополнительные действия. Все операции должны быть вынесены в отложенные короткие задания.
  • Максимально оптимизированы запросы.
  • Создание индексов должно производиться только по мере необходимости, для обеспечения оптимальной производительности запросов в пределах приложения.
  • Минимизированы включения в кластерный индекс часто обновляемых столбцов. Обновления столбца/ов кластерного ключа индекса требует блокировки, как на кластерном индексе, так и на всех некластеризованных индексах (так как их строка-локатор содержит ключ кластерного индекса).
  • По возможности создан и используется покрывающий индекс для сокращения времени выборки данных.
  • Использование самого низкого уровня изоляции транзакциями, что потребует перехода на режим управляемых блокировок.

Инструменты для диагностики блокировок:

  • Технологический журнал;
  • Центр управления производительностью из инструментария 1С;
  • Облачные сервисы Гилева;

Ниже приведен пример мониторинга системы сервисом Гилева. Общая длительность блокировок ~15 часов. Более 400 активных пользователей. После принятия решений и оптимизации – время таймаутов меньше минуты, а количество блокировок сократилось в ~670раз.

Рис.3 Пример мониторинга системы сервисом Гилева

Рис.3 Пример мониторинга системы сервисом Гилева

Рис.4 Пример мониторинга системы сервисом Гилева

Рис.4 Пример мониторинга системы сервисом Гилева

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

Рис.5 Системная процедура

Рис.5 Системная процедура

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

Рис.6 Информация о сервере

Рис.6 Информация о сервере

Применение данного механизма позволяет получить полную информацию об имеющихся блокировках на текущий момент. Если в отчете одни S-блокировки, проблема может заключаться в длительном запросе или запросах. Для установления причины и места их появления в коде можно пойти разными путями: использовать объекты DMO SQL-сервера (но учитываем, что данные из них сбрасываются после перезагрузки сервера) или настроить Data Collector, сохранив данные мониторинга в таблицах на определенное время. Главное, получить тексты проблемных запросов.

Использование объектов DMO SQL-сервера

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

Рис.7 Актуальные данные

Рис.7 Актуальные данные

Определение проблемных запросов в результате сбора Data Collector

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

Рис.9 Результат сбора Data Collector

Рис.9 Результат сбора Data Collector

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

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

Рис.10 Пример проблемного запроса

Рис.10 Пример проблемного запроса

Рис.11 Образец настройки технологического журнала

Рис.11 Образец настройки технологического журнала

Оптимизация запросов как возможность ускорить 1С 8.3

Рассмотрим основные рекомендации, соблюдение которых позволит увеличить скорость работы 1С путем уменьшения проблем в написании запросов.

Рис.12 Базовая схема улучшения производительности неоптимального запроса

Рис.12 Базовая схема улучшения производительности неоптимального запроса

При работе с запросами НЕЛЬЗЯ:

При работе с запросами МОЖНО:

  • Создать индексы в условиях запроса, полях соединения, агрегации и сортировки;
  • Фильтрацию виртуальных таблиц необходимо производить с использованием параметров отбора.

Использование индексов и их влияние на качество производительности системы

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

Для общего понимания, как это работает, рассмотрим подробности устройства механизмом хранения данных, которые мы обычно представляем в виде таблицы (например, Excel).

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

Рис.13 Заголовок страницы (первые 96 байт) состоит из разных флагов, которые использует в работе ядро СУБД

Рис.13 Заголовок страницы (первые 96 байт) состоит из разных флагов, которые использует в работе ядро СУБД

Строки с данными (8060 байт):

Рис.14 Строки с данными (8060 байт)

Рис.14 Строки с данными (8060 байт)

Таблица смещения (36 байт):

Рис.15 Таблица смещения (36 байт)

Рис.15 Таблица смещения (36 байт)

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

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

Рис.17 Процедура

Рис.17 Процедура

Основные индексы, которые использует платформа 1С

Мифы и реальность:

Миф первый: кластерные индексы и таблица данных – это две разные сущности, хранящиеся отдельно друг от друга.

Миф второй: кластерных индексов в одной таблице может быть много.

Скачал программу для оптимизации СУБД. Создал рекомендованные индексы. Скорость выборки увеличилась на 50%. Изменение и добавление данных замедлилось в 7раз.

Кластеризованный (кластерный) индекс

Кластеризованные индексы представляют собой набор страниц, которые сортируют и хранят строки данных в таблицах или представлениях на основе их ключевых значений – столбцов, включенных в определение индекса. Существует ограничение на данный вид индексов в 16 столбцов и 900 байт. Для каждой таблицы существует только один кластеризованный индекс, потому что строки данных могут быть отсортированы только в одном порядке. Создание кластеризованного индекса происходит посредством реорганизации таблицы, а не копирования данных, что дает возможность сохранить таблицу в виде сбалансированного дерева.

После добавления кластерного индекса таблица данных трансформируется:

Рис.18 После добавления кластерного индекса таблица данных трансформируется

Рис.18 После добавления кластерного индекса таблица данных трансформируется

Некластеризованный индекс

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

Можно добавить неключевые столбцы на конечный уровень некластеризованного индекса и обойти существующее ограничение на ключи индексов (900 байт и 16 ключевых столбцов), выполняя полностью индексированные запросы.

После добавления некластерного индекса, произошло копирование данных, и появился еще один объект:

Рис.19 После добавления некластерного индекса, произошло копирование данных

Рис.19 После добавления некластерного индекса, произошло копирование данных

Схема кластерного индекса после получения его из кучи в виде сбалансированного дерева:

Рис.20 Схема кластерного индекса после получения его из кучи

Рис.20 Схема кластерного индекса после получения его из кучи

Схема некластерного индекса, полученного из кластерной таблицы (обратите внимание, столбец row locator имеет ключ кластерного индекса):

Рис.21 Схема некластерного индекса, полученного из кластерной таблицы

Рис.21 Схема некластерного индекса, полученного из кластерной таблицы

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

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

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

Инструкция T-SQL, которая выполняет действие по блокированию индекса:

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

Определение необходимых или лишних индексов для ускорения выполнения запросов

По умолчанию 1С создает определенный базовый набор индексов. Зачастую, их просто не хватает. SQL-сервер имеет механизмы, которые позволяют понять на основании рабочей нагрузки, насколько необходимы имеющиеся индексы.

Помощник по настройке ядра СУБД (Database Engine Tuning Advisor) анализирует базы данных и составляет рекомендации по оптимизации производительности запросов. Его можно использовать для выбора и создания оптимальных наборов индексов, не обладая экспертным уровнем понимания структуры баз данных или внутренних процессов SQL Server. Помощник по настройке ядра СУБД позволяет выполнять следующие задачи:

  • Устранение неполадок производительности конкретного проблемного запроса;
  • Настройка большого набора запросов в одной или нескольких базах данных.

Объекты DMO (dynamic management objects), к которым относятся динамические административные представления и функции динамического управления. Например, инструкцией T-SQL можно получить все индексы, которые не использовались с момента последнего запуска сервера.

Рис.22 Индексы, которые не использовались с момента последнего запуска сервера

Рис.22 Индексы, которые не использовались с момента последнего запуска сервера

Инструкция, с помощью которой можно создавать необходимые индексы, которые рекомендует ядро СУБД:

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

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

Оптимизатор запросов во время генерации плана выполнения запроса выявляет необходимость создания недостающего индекса. Эту информацию он сохраняет в XML ShowPlan. Т.к. планы запросов хешируются и инструкции сохраняются (до следующего перезапуска сервера), то их можно извлечь, обработать и получить готовые инструкции создания необходимых индексов для любого плана выполнения в кэше. Стоит обратить внимание на частоту выполнения запроса: чем она выше, тем более актуальными являются результаты выполнения запроса и, соответственно, собранные показатели. Если запрос выполнялся единожды, его результаты не столь показательны.

Рис.24 Оптимизатор запросов во время генерации плана выполнения запроса выявляет необходимость создания недостающего индекса

Рис.24 Оптимизатор запросов во время генерации плана выполнения запроса выявляет необходимость создания недостающего индекса

Рис.25 Информация в XML ShowPlan

Рис.25 Информация в XML ShowPlan

Рис.26 Имя базы

Рис.26 Имя базы

Некоторые особенности индексирования по агрегатным полям и полям сортировки.

Фактический план запроса (для удобства отображения и сравнения производительности, запросы перехвачены и выполнены в SSMS):

Рис. 27 Фактический план запроса

Рис. 27 Фактический план запроса

Читайте также: