Зависает sql сервер 1с

Обновлено: 06.07.2024

Любые пользователи 1С некоторое время спустя сталкиваются с тем, что программа начинает работать слишком медленно. Общие рекомендации по ускорению «1С» были даны в статье «Как ускорить работу 1С Бухгалтерия 8.3? Бесплатные лайфхаки по оптимизации», теперь поговорим об оптимизации файловой структуры и баз данных. Итак, что делать, чтобы ускорить базу «1С»?

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

Ускорение базы 1С в конфигураторе

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

Формирование бэкапа

На выходе вы получите зазипованный файл, находящийся там, где вы указали.

Тестирование и исправление

В режиме конфигуратора переходим по пути «Администрирование» - «Тестирование и исправление»:

Ускорение 1С в конфигураторе

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

  • «Реиндексация таблиц информационной базы»;
  • «Пересчет итогов»;
  • «Сжатие таблиц информационной базы».

Тестирование и исправление ИБ

Устанавливая галочки, мы получаем следующее:

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

Тестирование и исправление ИБ

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

Оптимизация старых ОС

Если в силу каких-либо причин вам приходится работать на «возрастных» ОС – в частности, Windows 7 («семерка»), - то будет нелишним предпринять ряд элементарных шагов, которые помогут ускорить файловую базу 1С, поскольку ПК сможет выделять дополнительные ресурсы для обслуживания системы.

Оптимальное быстродействие

Вызовите свойства ПК (щелчок правой клавиши мыши по иконке «Мой компьютер» - «Свойства»:

Свойства ПК

Выбрать «Дополнительные параметры системы» (меню слева):

Дополнительные параметры системы

Переходим на вкладку «Дополнительно», открываем «Параметры быстродействия»:

Настройка ОС для 1С

На вкладке «Визуальные эффекты» отметить чекбокс «Обеспечить наилучшее быстродействие» для того чтобы снизить нагрузку на компьютер.

Настройка Windows 7 под 1С

Настройка электропитания

Переходим из «Панели управления» в меню «Электропитание»:

Настройка электропитания для работы 1С

В списке планов электропитания выбирайте «Высокая производительность»:

Планы электропитания

После этих нехитрых операций ваш ПК даже под «семеркой» сможет выделить достаточные аппаратные ресурсы с тем ускорить файловую «1С».

Тормозит 1С, ускорить SQL?

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

Производим запуск SQL Server Management Studio и ввод данных для подключения, кликнув правой клавишей по серверу, открываем «Свойства»:

Настройка сервера для ускорения 1С

Выбираем закладку «Память», настраиваем ограничение потребления оперпамяти. Это делается в окошке «Максимальный размер памяти сервера (МБ)». Чтобы рассчитать этот показатель, необходимо от всего объема оперативной памяти отнять на нужды системы 4096 Мб, а затем вычесть произведение 1536 на число rphost-процессов. Так, при 32 Гб оперпамяти на сервере и двух процессах rphost максимальный размер будет равен 25 600 Мб (32 768 (32 х 1024) – 4096 – (1536 х 2)).

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

Перейдя на вкладку процессоров, выставляем в окне «Максимальное число рабочих потоков» значение 2048 (при значении «0» число потоков не может превышать 255), и включить чекбокс «Поддерживать приоритет SQL Server».

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

Вызвав «Базы данных» и рабочую базу (нажатием правой клавиши мыши), переходим на «Свойства» - «Файлы» - «Авторасширение» выставляем расширение файла БД до 250 мегабайт, лога - до 100 мегабайт с ограничением до 4096 Мб.

Настройки авторасширения

После нажатия «OK» закрываем программу. Замеры показывают существенное ускорение файловой 1С.

Включаем мгновенную инициализацию

Включение мгновенной инициализации файлов для пользователя, от имени которого запускается Microsoft SQL Server, что позволяет «разогнать» процессы:

  • создания БД;
  • добавления в имеющуюся БД файлов, журналов и проч.;
  • увеличения размера существующих файлов;
  • восстановления БД и (или) файловых групп.

Включение мгновенной инициализации

Развертываем «Локальные политики», кликаем «Назначение прав пользователей», дважды кликаем на «Выполнение задач по обслуживанию томов», нажимаем «Добавить» - и включаем включения пользователя или группу. Не забываем нажать «Применить».

Тест работы проводится путем создания новой базы (файл в 5 Гб, журнал транзакций - 1 Мб). Если она сформировалась моментально, то все корректно (не забудьте удалить тестовую базу).

Включить блокировку страниц в памяти

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

Включение блокировки страниц в памяти

Тем самым мы определяем, какие именно пользователи вправе сохранять данные в оперпамяти. При этом система не будет отправлять страницы данных в виртуальную память на диске, что повышает производительность. Для проверки следует или перезагрузить сервер, или зайти под логином пользователя, под которым происходит запуск MS SQL Server.

Отключить DFSS для дисков

Механизмы Dynamic Fair Share Scheduling (DFSS) осуществляют распределение аппаратных ресурсов, балансируют их между пользователями, что порой замедляет работу. Чтобы ускорить файловую базу 1С, порой достаточно отключить для дисков, для чего достаточно, вызвав реестр («Win» + «R», в окне «Выполнить» вписать «regedit», нажать «Enter»). В ветке HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk задать «0» в параметре EnableFairShare.

Отключить сжатие данных

Чтобы ускорить базу 1С, можно попробовать отключить сжатие данных для каталогов, где располагаются файлы БД. При включенной опции операционная система производит дополнительную обработку файлов, что замедляет процесс записи (хотя и экономит пространство на диске). Для отключения этой опции открываем свойства каталога (DATA Properties), на вкладке «Общие» (General) нажимаем «Другие» (Advanced Attributes), снимаем (если установлен) флажок «Сжимать содержимое для экономии места на диске» (Compress contents to save disk space).

Отключить сжатие данных

Задать степень параллелизма

С помощью параметра «Максимальная степень параллелизма» (Max degree of parallelism) задается, во сколько потоков может выполняться один запрос. Так, если в поле стоит «0», то это означает, что сервер автоматически определяет это число. При использовании 1С оптимальным параметром будет «1».

Задание параллелизма

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

УТ 11. SQL экспресс.
На сервере крутится 2 базы, УТ 11 и БП.
БП вроде работает нормально. А вот УТ просто жутко тормозит.

Работает 5 пользователей.
Жуткие тормоза при создании и проведении документов.
В файловом варианте база летает.

Перезапуск агента сервера не помогает.
Временное облегчение приносит ТиИ базы.
Но это на сутки, а то и меньше.

ну и да - попробуйте заменить экспресс на нормальный (например девелопер попробуйте)
(1) Клиент жлоб) Чем меньше тем лучше. )))))
(2) Так там же вроде ни как не влияет?
1 гб оперативы и 1 физический проц/4 ядра. размер базы 10 гигов.
(0) Ну так и делайте ТиИ базы ежесуточно.
Или попробуйте понять почему оно приносит облегчение.

(8) делать ТИИ ежедневно не вариант

(0) не настроены регламенты SQL, угадал ?

Так, совсем не понял.
Посмотрел сейчас в Скуль менеджере.
Там база весит 36 гигабайт о_0!
При этом работает. Хотя у экспресса же ограничение на 10 гигов.
Как такое возможно?
(9) А что это тогда стоит?
Клиент говорил что не покупал скуль.
Крякнутый что ли?:)))
(12) Почему. Может и экспресс.
Просто у экспресса нет sql agent и регламенты надо выполнять снаружи, например батником по расписанию.
(11) Может это лог разросся.
(13) реиндексация, обновление статистики, очистка процедурного кэша.

(9) Мне казалось что у какого-то нового SQL Express есть Agent, я не уверен. Но sqlcmd есть в любом случае.

(10) Ну значит разбираться почему ТиИ помогает и делать это же но например средствами SQL.

(11) Что в данном случае называется словом база?

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

Тормоза начинаются когда процесс sql отжирает полностью одно ядро. Как понять чем вызвано?

(15) в SQL менеджере, в свойствах "Размер" )))

(16) поставь менеджмент студио или настрой техножурнал на сбор долгих сапросов. будь мужиком уже
(16) пиши тогда уже на какой операционке оно установлена и действительно ли там 64 бит у 1С-ного сервера. И где там устанавливают ограничения на число rphost
(17) Эххх
Я так сказать там пытаюсь разобраться за спасибо. По старой памяти.
так хочется по быстрому отделаться)))
(22) Разница проявляется на обработке больших объёмов данных - тупо для 32-битного 2 Гб - предел.
(22) в прямом. если упирается в скуль, то разрядность сервера 1с никак не влияет
Кстати, а сколько ограничение памяти для SQL Express ?
(25) Три будет, если "магический ключ" включили при загрузке.
(27) ну так кто мы такие, чтобы запрещать кому-то его включать?

SQL Server 2012 Express Edition — является бесплатной версией SQL Server, идеально подходящей для разработки и развёртывания в настольных системах, в веб и малых серверах приложений. Новой возможностью Express версии SQL Server 2012 является SQL Server Express LocalDB. Это облегченная версия Express, которая имеет все программные функции, запускается в пользовательском режиме, быстро устанавливается, не требует настройки и имеет низкие системные требования.


Что же делать и как это победить, и так по порядку:

Клиенты очень медленно работают с серверной версией 1С

Кроме медленной работы 1С, так же наблюдается медленная работа с сетевыми файлами. Проблема встречается при обычной работе и при RDP

netsh int tcp set global autotuning=disabled

netsh int tcp set global autotuninglevel=disabled

netsh int tcp set global rss=disabled chimney=disabled

и сеть работает без проблем

иногда оптимальным является:

netsh interface tcp set global autotuning= HighlyRestricted

вот как выглядит установка


Далее посмотрите настройки брандмауэра Windows

Настроить брандмауэр Антивируса или Windows

Как настроить брандмауэр Антивируса или Windows для работы сервера 1С (связка из Сервера 1С: Предприятие и MS SQL 2008, например).

Настройка производительности Сервера / Компьютера

Для того чтобы компьютер работал с максимальной производительностью - нужно настроить его на это:

1. Настройки BIOS

  • В BIOS сервера отключаем все настройки по экономии электропитания процессора.
  • Если есть «C1E» & обязательно ОТКЛЮЧАЕМ!!
  • Для некоторых не очень параллельных задач также рекомендуется выключить гипертрейдинг в биосе
  • В некоторых случаях (особенно для HP!) надо зайти в BIOS сервера, и ВЫКЛЮЧИТЬ там пункты, в названии которых есть EIST, Intel SpeedStep и C1E.
  • Взамен надо там же найти пункты, связанные с процессором, в названии которых есть Turbo Boost, и ВКЛЮЧИТЬ их.
  • Если в биосе есть общее указание режима энергосбережения & включить его в режим максимальной производительности (он ещё может называться «агрессивный»)


2. Настройки схемы в операционной системе - Высокая производительность


Сервера с архитектурой Intel Sandy Bridge умеют динамически менять частоты процессора.

Скачайте утилиту PowerSchemeEd.7z , распакуйте с помощь 7zip и запустите PowerSchemeEd.exe

Выберите раздел Управление питанием процессора и выставите параметры 01. Порог при питании от сети 30% и отключите 27. Переопределение ядра. как на картинке.


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

4. Совмещение ролей сервера 1С и сервера MS SQL Server дает большую производительность, особенно если использовать протокол обмена данных напрямую через память «Shared Memory».

Очень многие не недооценивают важность настройки сервера, когда роли сервера 1С и сервера СУБД совмещены на одном физическом компьютере.

Убедиться, что к примеру используется протокол Shared Memory можно следующим образом:


Обратите внимание, что в версиях платформы некоторые релизы «переключались» на протокол «именнованых каналов».

Для работы 1С Предприятие в режиме Shared Memory с SQL Server 2012 должен быть установлен NativeClient от SQL Server 2008 (backward compatibility connectivity components из дистрибутива SQL Server 2012 или отдельный пакет)

5. Отключение ненужных служб Виндовс

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

Какие службы можно отключить для оптимизации Windows:

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

Кэширование записей на дисках в Windows

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

Для управления кэшированием записей на диске откройте Панель управления - Диспетчер устройств.

В разделе Дисковые устройства дважды щелкните нужный диск.

Данное обстоятельство может быть обусловлено многими причинами. Одна из них - неоптимальная настройка MS SQL.

Перечислим неоптимальности в настройке:
1) Неправильно указанный сетевой протокол, используемый для взаимодействия 1С с SQL Server. После установки, SQL пытается использовать для связи протокол "Named Pipes", который не обеспечивает быстрый обмен данными. Советуем изменить протокол по умолчанию на "TCP/IP". Изменить протоколы для связи с SQL сервером можно запустив утилиту SQL Server Configuration Manager. Обратите внимание - интересующие нас протоколы расположены в группе SQL Server network configuration. Протоколы из группы SQL native client configuration 1С не использует. Важно! Если программа 1С запускается на том же сервере, на котором запущен SQL-сервер,используйте для связи протокол "Shared Memory". Этот протокол обеспечит максимальную пропускную способность.

2) Включенные опции базы данных "Auto сreate statistics", "Auto update statistics". Данные опции разрешают SQL собирать статистику распределения данных в таблицах, обновляя статистику автоматическим образом. Отключите обе опции, т.к. создание и обновление статистики создает дополнительную загрузку сервера. Создайте задание на создание и обновление статистики, запускающееся в нерабочее время - например ночью.

3) Значение Checksum для опции Recovery->Page Verify. Во многих случаях достаточный контроль ошибок в страницах дисковой памяти обеспечивает значение данной опции - TornPageDetection. В этом случае контроль ошибок в страницах дисковой памяти использует иной вариант, более простой и быстрый нежели при значении опции - Checksum. Значение опции None - хоть и обеспечивает максимальное быстродействие, лучше не использовать, т.к. контроль ошибок страниц дисковой памяти средствами SQL сервера вообще производиться не будет.

4) Включенная опция полнотекстового индекса. Для ИБ 1С данная опция не требуется. Отключите её.

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