» » 1с файловый режим. Тормоза на файловой базе - как избежать (из недавнего опыта). Клиент-серверный вариант позволяет

1с файловый режим. Тормоза на файловой базе - как избежать (из недавнего опыта). Клиент-серверный вариант позволяет

Встает вопрос: какую СУБД для 1С выбрать — файловую или SQL?

Попробуем разобраться, что такое файловая база и что такое клиент серверная SQL.

СУБД — система управления базой данных. Платформа 1С Предприятие поддерживает следующие варианты СУБД:

  • Файловый (встроенный в 1С)
  • MS SQL Server
  • Oracle
  • IBM DB2
  • PostgreSQL

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

Получите 267 видеоуроков по 1С бесплатно:

Преимущества файлового варианта:

  • Простота в настройке.
  • Не требует дополнительного ПО.
  • Дешево и сердито.

Недостатки:

  • Безопасность отсутствует. Любой пользователь системы может скопировать файл БД.
  • Малая масштабируемость системы — в некоторых случаях система начинает работать медленно уже при 5-7 пользователях. Связанно это с повышенным уровнем изоляции транзакции.
  • Некоторые функции программы не работают в файловом режиме (например, регламентные задания).
  • Ограничена в размере (максимум 4-12гб).

Клиент-серверная СУБД для 1С

Такой вариант устройства архитектуры хорош повышенной отказоустойчивостью и безопасностью. В клиент-серверной системе может одновременно работать очень большое количество пользователей (до 5000 и более).

Плюсы использования:

  • Повышенная отказоустойчивость.
  • Позволяет работать большому количеству пользователей одновременно.
  • Размер базы данных ничем не ограничен.
  • Существует бесплатные СУБД (PostgreSQL).
  • Не все СУБД бесплатные, лучшие (MS SQL Server) стоят довольно больших средств.
  • Необходимо администрирование SQL сервера.

Инструкция по переходу с файловой базы на SQL

Если Вы решили перенести базу 1С 8.3 (8.2) с файловой на клиент-серверный режим, следуйте следующей инструкции:

  1. Создайте новую базу данных 1С в SQL;
  2. Выгрузите файл *.dt из файловой базы (Конфигуратор — Администрирование — Выгрузка информационной базы);
  3. Загрузите полученный файл в новую базу (Конфигуратор — Администрирование — Загрузка информационной базы).

Выводы

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

Фактически существует три метода ускорения 1С:

  • Увеличение аппаратных мощностей.
  • Оптимизация настроек операционной системы и СУБД.
  • Оптимизация кода и алгоритмов в 1С.

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

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

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

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



Таблица 1 - Конфигурации, на которых проводилось первоначальное тестирование

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

Рисунок 1 – Замеры производительности на рабочей стации тестом Гилева

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

Количество и частота ОЗУ

Анализ доступной в интернете информации показал, что многие пишут о зависимости производительности 1С от частоты памяти. Именно от частоты, а не от объема. Решили проверить эту гипотезу, так как у нас на сервере частота ОЗУ 1066 Mhz против 1333 Mhz на рабочей станции, а объем ОЗУ на сервере и так значительно выше. Решили поставить сразу не 1066 Mhz, а 800 Mhz для того, чтобы эффект зависимости производительности от частоты памяти был нагляднее. Результат – производительность упала на 12% и составила 39,37 единиц. На сервер поставили память с частотой 1333 Mhz вместо 1066 Mhz и получили незначительный прирост производительности – около 11%. Производительность составила 19,53 единицы. Соответственно, дело не в памяти, хотя ее частота дает небольшой прирост.

Рисунок 2 – Замеры производительности на рабочей станции после понижения частоты ОЗУ


Рисунок 3 – Замеры производительности на сервере после повышения частоты ОЗУ

Дисковая подсистема

Следующая гипотеза была связана с дисковой подсистемой. Сразу возникло два предположения:

  • SSD лучше, чем SAS диски, пусть даже они в 10 рейде.
  • iSCSI работает медленно или некорректно.

Поэтому в рабочую станцию поставили обычный SATA-диск вместо SSD, то же самое сделали и с сервером – базу разместили на локальном SATA-диске. В результате, замеры производительности никак не изменились. Скорее всего, это происходит, поскольку есть достаточное количество ОЗУ и диски практически никак не задействованы при выполнении теста.

Процессор

Процессоры на сервере, конечно, мощнее и их два, но частота немного ниже, чем на рабочей станции. Решили проверить влияние частоты процессора на быстродействие: для сервера процессоров с большей частотой под рукой не оказалось, поэтому снизили частоту процессора на рабочей станции. Снизили сразу до 1,6, чтобы корреляция проявлялась ярче. Тест показал, что производительность упала значительно, но даже с процессором 1,6 рабочая станция выдавала почти 28 единиц, что практически в 1,5 раза больше чем на сервере.

Рисунок 4 – Замеры производительности на рабочей стации с процессором 1,6 Ghz

Видеокарта

В интернете встречается информация о том, что на производительность 1С может влиять видеокарта. Мы пробовали использовать интегрированное видео рабочей станции, профессиональный адаптер Nvidia NVIDIA® Quadro® 4000 2 Gb DDR5, старую видеокарту GeForce 16MbSDR. Во время проведения теста Гилева какой-либо значительной разницы не заметили. Возможно, видеокарта все-таки влияет, но в реальных условиях, когда нужно открывать управляемые формы и т.д.

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

  1. Процессор. Тип процессора на рабочей станции лучше подходит 1С.
  2. Чипсет. При прочих равных условиях наша рабочая станция имеет более новый чипсет, возможно, дело в нем.

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

Этап 1. Настройка системы

Для начала выполним следующие настройки в BIOS и операционной системе:

  1. В BIOS сервера отключаем все настройки по экономии электропитания процессора.
  2. Выбираем в операционной системе план «Максимальная производительность».
  3. Процессор также настраиваем на максимальную производительность. Это можно сделать с помощью утилиты PowerSchemeEd.

Этап 2. Настройка SQL сервера и сервера 1С:Предприятия

Вносим следующие изменения в настройки сервера СУБД и 1С:Предприятия.

  1. Настройка протокола Shared Memory:

    • Shared Memory включится только на платформе начиная с 1С 8.2.17, на более ранних релизах включится Named Pipe – несколько уступающий в скорости работы. Данная технология работает только если службы 1С и MSSQL установлены на одном физическом или виртуальном сервере.
  2. Рекомендуется перевести службу 1С в режим отладки, как не парадоксально это дает прирост производительности. По умолчанию отладка на сервере выключена.
  3. Настройка 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. Производительность 1С не сильно зависит от частоты ОЗУ. При достижении достаточного ее объема дальнейшее наращивание памяти не имеет смысла, так как не приводит к увеличению производительности.
  2. Производительность 1С не зависит от видеокарты.
  3. Производительность 1С не зависит от дисковой подсистемы при условии, что не происходит превышения очереди чтения или записи дисков. Если установлены SATA диски и у них не превышена очередь, то установка SSD не приведет к повышению производительности.
  4. Производительность довольно сильно зависит от частоты процессора.
  5. При грамотной настройке операционной системы и MSSQL-сервера возможно добиться увеличения производительности 1С на 40-50% без каких-либо материальных затрат.

ВНИМАНИЕ! Очень важный момент! Все замеры были выполнены на тестовой базе с использованием теста Гилева и инструментов 1С КИП. Поведение реальной базы с реальными пользователями может отличаться от полученных результатов. Например, в тестовой базе мы не обнаружили зависимости производительности от видеокарты и объема ОЗУ. Данные выводы достаточно сомнительны и в реальных условиях эти факторы могут оказывать существенное влияние на производительность. При работе с конфигурациями, использующими управляемые формы, видеокарта важна и мощный графический процессор ускоряет работу с точки зрения прорисовки интерфейса программы, визуально это проявляется в более быстрой работе 1С.

Ваша 1С работает медленно? Закажите ИТ-обслуживание компьютеров и серверов специалистами компании EFSOL с многолетним стажем или перенесите свою 1С на мощный и отказоустойчивый виртуальный сервер 1С .

Системная интеграция. Консалтинг

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

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

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

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

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

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

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

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

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

Например,

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

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

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

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

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

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

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

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

Способ 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

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

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

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

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

Утилиту chdbfl.exe используют в случаях, когда система не запускается даже в режиме конфигуратора. Расположена утилита в папке «bin» установленной технологической платформы, например: c:\Program Files (x86)\1cv8\8.3.9.1818\bin\chdbfl.exe:

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

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

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

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

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

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

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

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

Шаг 1.

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

Шаг 2.

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

Шаг 3.

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

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

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

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

Шаг 1.

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

Шаг 2.

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

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

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

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

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

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

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

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

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

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

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

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

Зачастую пользователи жалуются на то, что «1С 8.3 тормозит»: медленно открываются формы документов, долго проводятся документы, запускается программа, долго формируются отчеты и так далее.

Причем такие «глюки» могут встречаться в разных программах:

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

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

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

Где в 1С 8.3 регламентные задания

Не успел я загрузить программу, как в 1С выполнилось множество фоновых заданий. Посмотреть их можно, зайдя в меню «Администрирование», далее -«Поддержка и обслуживание»:

Получите 267 видеоуроков по 1С бесплатно:

Вот так выглядит окно с выполненными задачами:

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

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

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

Отключение регламентных и фоновых заданий в 1С 8.3