Настройки Microsoft SQL Server для работы с 1С:Предприятием
В данной статье приводится описание действий по настройке Microsoft SQL Server. Можно использовать как check-list для контроля.
Общие
Проверить, что установлен последний Service Pack и последний cumulative update.
Последние версии: https://support.microsoft.com/en-us/kb/2936603
Выровнять сектора дисков по границе 1024Кб и отформатировать с размером блока 64Кб (если нет иных рекомендаций от производителя).
Подробности: https://technet.microsoft.com/en-us/library/dd758814.aspx
Операционная система
Включить возможность «Database instant file initialization» для пользователя, от которого запущена служба Microsoft SQL Server
Проверить работу «Database instant file initialization».
Создать новую базу с размером файла данных 5 Гб, журнал транзакций — 1 Мб. Если база создалась моментально, то все работает корректно. Созданную базу — удалить.
Установить разрешение на «Lock pages in memory» (блокировку страниц в памяти) для пользователя, от которого запущена служба Microsoft SQL Server

Если сервер 1С:Предприятия установлен вместе с Microsoft SQL Server, то данную настройку производить не нужно.
Схема управления питанием – «Высокая производительность»

Проверить отсутствие сжатия файлов данных и файлов журналов.

Добавить файлы данных и журнала транзакций в исключения системы автоматического резервного копирования
Системы автоматического резервного копирования (например Symantec Backup Exec) не должны копировать файлы базы данных и журнала транзакций.
Настройки сервера (Server Properties)
Использование памяти.

Если сервер 1С:Предприятия установлен вместе с Microsoft SQL Server, то верхний порог памяти необходимо уменьшить на величину, достаточную для работы сервера 1С.
Задать расположение файлов базы данных по умолчанию.

Файлы данных и файлы журналов транзакций желательно размещать на разных дисковых массивах. При этом, требование к скорости дисковой подсистемы файла журнала транзакций, выше чем у файла данных. Cогласно рекомендации от Microsoft время отклика «диска» с файлами базы данных должно составлять 10-20 миллисекунд, а «диска» с файлами журнала транзакций 1-5 мс.
Установить параметр «Max degree of parallelism» = 1

Включить аутентификацию SQL Server.

Создать логины для каждой рабочей базы

Назначить логинам роли: public, dbcreator

Включить возможность административного подключения
EXEC sp_configure 'remote admin connections', 1
RECONFIGURE
Параметры базы данных
model
Новая база данных создается из копии базы model. Все настройки, указанные в model, будут в новой базе данных.

Начальный размер файла данных — от 1Гб до 10Гб.
Начальный размер журнала транзакций — от 1Гб до 2Гб.
Прирост файлов – 512Мб.

Установить модель восстановления, в зависимости от политики резервного копирования. Установить параметр «Auto update statistics asynchronously» = True

tempdb
Разбить базу на 4 файла данных.

Начальный размер файла данных:
- если tempdb расположена на отдельном массиве (диске), то начальный размер файла данных (Initial size) установить равным (50% всего объема / Кол-во файлов).
- если tempdb расположен вместе с рабочими базами данных, то начальный размер установить от 1Гб до 10Гб.
Прирост файлов – 512Мб
Рабочая база
Параметры рабочей базы аналогичны параметрам базы model, за исключением начального размера файлов (Initial Size).
Начальный размер файла данных стоит указывать равным ожидаемому размеру базы за длительный период эксплуатации.
Размер файла журнала транзакций следует указывать таким, чтобы исключить его расширение (auto grow). Т.е. указанного размера файла журнала должно хватать на весь период работы между операциями «BACKUP LOG».
Флаги трассировки
4199 — для Microsoft SQL Server 2014 необходимо включить исправление ошибок оптимизатора (https://support.microsoft.com/en-us/kb/974006)
1118 – не использовать смешанные экстенты (когда страницы разных объектов располагаются в одном экстенте). Подробнее: https://support.microsoft.com/en-us/kb/2154845 https://msdn.microsoft.com/en-us/library/ms188396.aspx. Для Microsoft SQL Server 2016 данная настройка включена по умолчанию.

Настройка сетевых протоколов
Включить протокол TCP/IP
Если сервер 1С:Предприятия расположен вместе с Microsoft SQL Server — включить протокол Shared Memory.
Протокол «Named pipes» необходимо отключить.

Обслуживание баз
Создать database mail account
Настроить операторов для оповещения об ошибках
Указать email адрес оператора.

В «планах обслуживания» при ошибках отправлять оповещение оператору

Настроить резервное копирование
Резервное копирование настраивается в соответствии с утвержденным планом.
Проверить восстановление базы
После того как был сделан первый автоматический бэкап, необходимо, на резервном сервере, восстановить базу данных и проверить ее работоспособность.
Оптимизация и ускорение файловой базы и SQL сервера 1С 8.3
Любые пользователи 1С некоторое время спустя сталкиваются с тем, что программа начинает работать слишком медленно. Общие рекомендации по ускорению «1С» были даны в статье «Как ускорить работу 1С Бухгалтерия 8.3? Бесплатные лайфхаки по оптимизации», теперь поговорим об оптимизации файловой структуры и баз данных. Итак, что делать, чтобы ускорить базу «1С»?
Основные начала и принципа учета требуют практически немедленной реакции на любое событие хозяйственной жизни (см. Закон о бухучете), При между тем пользователи «1С: Бухгалтерия 8.3» отмечают существенное снижение скорости работы, что сказывается на продуктивности и эффективности работы. Попробуйте прежде всего оптимизировать базу в режиме конфигуратора.
Ускорение базы 1С в конфигураторе
Первым делом следует сформировать бэкап, что можно сделать и без запуска конфигуратора (при наличии прав администратора).
Формирование бэкапа
При запуске создания резервной копии все пользователи базы будут заблокированы, позаботьтесь о том, чтобы это не стало для них неожиданностей. В любом случае они будут уведомлены соответствующим сообщением. Алгоритм создания бэкапа в «1С» прост:
- «Администрирование» — «Обслуживание»;
- «Резервное копирование и восстановление» — ссылка «Создание резервной копии»;
- выбираем каталог (но все-таки лучше избрать сохранение на внешний носитель);
- дать команду «Сохранить резервную копию», нажав соответствующую кнопку. Имя файла задается автоматом, содержит дату и время создания и тип *.zip.
- дождаться завершения процедуры создания бэкапа и появления соответствующего сообщения;
- нажать кнопку «Закрыть».
На выходе вы получите зазипованный файл, находящийся там, где вы указали.
Тестирование и исправление
В режиме конфигуратора переходим по пути «Администрирование» — «Тестирование и исправление»:

В открывшемся окне отмечаем следующие пункты:
- «Реиндексация таблиц информационной базы»;
- «Пересчет итогов»;
- «Сжатие таблиц информационной базы».

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

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

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

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

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

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

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

После этих нехитрых операций ваш ПК даже под «семеркой» сможет выделить достаточные аппаратные ресурсы с тем ускорить файловую «1С».
Тормозит 1С, ускорить SQL?
Первая рекомендация, хотя и несложная по реализации, нередко помогает решить рассматриваемую проблему.
Производим запуск SQL Server Management Studio и ввод данных для подключения, кликнув правой клавишей по серверу, открываем «Свойства»:

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

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

Вызвав «Базы данных» и рабочую базу (нажатием правой клавиши мыши), переходим на «Свойства» — «Файлы» — «Авторасширение» выставляем расширение файла БД до 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С» – поручите техническую сторону дела нам, высвободив время для решения по-настоящему важных вопросов.
- Транспортный налог в 1с 8.3 – расчет и начисление в 2021 году
- Способы учета НДС в 1С Бухгалтерия 8.3
- Правильный учёт излишков товара в 1С Бухгалтерия 8.3
- Как в 1С 8.3 оформить возврат товара поставщику?
- Создание номенклатуры в 1С 8.3
ТОП ПРОДАЖ
- 1С:Бухгалтерия 8
- 1С:Управление нашей фирмой 8
- 1С:Управление торговлей 8
- 1С:Управление предприятием 2
- 1С:ЗУП 8
- 1C:Учет путевых листов и ГСМ
- 1С:Учет в управляющих компаниях
- Электронные поставки 1С
Облачные сервисы
- 1С:Фреш
- 1С:Готовое рабочее место
- 1С:ЭДО
- Маркировка товаров
- 1С:Отчетность
- 1C:Товары
- 1C-Ритейл Чекер
4 этапа оптимизации «1С» на SQL-сервере
Случается, что программные продукты 1С со временем начинают работать медленнее. Значит пришло время для оптимизации базы. Именно из-за сбоев в системе заметно падает ее производительность, т.е. процесс выполнения различных запросов, задач, и в целом скорость реагирования на команды у ПП 1С снижается.
Есть несколько признаков, наличие которых говорит о необходимости оптимизации программы. Об этом можно подробнее узнать из отдельной статьи, посвященной именно этой теме.
Настоящий же материал для тех, кто уже точно определился с тем, что оптимизацию базы данных 1С в его организации необходимо провести. Рассмотрим поэтапную методику, которая позволит выявить «объекты», требующие оптимизации. Среди них могут быть: коды, место хранения данных, и вплоть до компьютерного «железа».
Итак, каким образом провести оптимизацию ПП 1С на сервере SQL?
1 этап. Настроить регламентные операции в СУБД MS SQL
Вполне вероятно, что СУБД MS SQL начал работать медленнее из-за некорректной настройки в системе управления базы данных.
Увеличить производительность помогут такие действия:
1. Обновление статистики;
2. Очистка процедурного кэш;
3. Дефрагментация индексов;
4. Реиндексация таблиц информационной базы.
2 этап. Протестировать загруженность оборудования
Перечислим наиболее важные «объекты» для анализа загруженности:
1. Память;
2. Процессор;
3. Жесткий диск;
В случае, когда обнаружится, что оборудование загружено сверх нормы – рекомендуем провести аппаратный апгрейд.
3 этап. Проверить производительность системы
Цель этого этапа — выявить «слабое звено» и получить алгоритм его устранения в конфигурации и СУБД MS SQL. Оперативно и максимально информативно проделать этот процесс поможет «Центр Управление Производительностью» (ЦУП).
Используя ЦУП проведите измерение следующих параметров:
1. Длительность выполнения запроса, т.е. максимальная и средняя продолжительность операции.
2. Период ожидания на блокировке СУБД MS SQL и ПП 1С.
3. Количество таймаутов и взаимоблокировок.
Перечислим показания, которые сигнализируют о проблемах, связанных с производительностью:
1. Количество взаимоблокировок и таймаутов ≠ 0.
2. Увеличился период ожидания запроса.
3. Возросло среднее время ожидания на блокировке системы управления информационной базы (≥ 50% от среднего показателя решения запроса).
4. Часто и внезапно изменяются временные значения выполнения запроса.
5. Увеличен период ожидания на блокировке системы.
4 этап. Промониторить проблемы производительности
Советуем при прохождении этого этапа оптимизации также использовать программный продукт 1С «Центр Управление Производительностью» (ЦУП).
Воспользуйтесь «режимом отслеживания», он поможет выявить значения следующих объектов:
1. Запросы;
2. Ожидания на блокировках;
3. Взаимоблокировки;
Данный мониторинг даст возможность обнаружить слабые места в коде конфигурации.
Это поможет определить причины «торможения» ПП 1С.
Вот некоторые факторы, которые влияют на снижение производительности:
1. Перегрузка оборудования. Причина этому — загруженность «железа» сервера сверх нормы. При таком варианте проблемы следует подобрать компонент, обеспечивающий повышение скорости действия программы 1С.
2. «Неоптимальность» кода. Главное предназначение кода – обеспечение функциональности. Проблема возникает тогда, когда количество пользователей в системе увеличивается. Поэтому процесс оптимизации придется параллельно проводить для нескольких «объектов»: бизнес-процессов, серверного «железа», хранения данных.
3. Некорректная настройка регламентных операций. Это касается системы управления информационной базы. Скорее всего надо будет обновить статистику или провести очистку процедурного кэша. Однозначно решить, что предпринять, поможет лишь максимально подробное тестирование.
Какой эффект ждать от оптимизации ПП 1С?
1. Снизится количество взаимоблокировок и таймаутов.
2. Уменьшится время выполнение запроса.
3. Вырастет производительность сервера и повысится в целом эффективность работы всего оборудования.
Таким образом, исходя из всего перечисленного выше, видно, что оптимизация – это сложный и многоуровневый процесс. Потребуется провести серьезную подготовку для его организации, а после окончания — тщательный анализ.
Б езусловно, лучше, чтобы всем этим занимались опытные специалисты. И еще, важно сделать это вовремя, иначе может случится так, что работа в программном продукте 1С перестанет быть для вас комфортной и удобной.
Настройка 1С и MS SQL. Оптимизация работы 1C. Настройка сервера MS SQL
Настройки кластера отвечают за настройки всех серверов, принадлежащих настраиваемому кластеру. Кластер — это работа нескольких физических или виртуальных серверов, работающих с одними и теми же информационными базами.
- Интервал перезапуска — отвечает за частоту перезапуска рабочих процессов кластера. Этот параметр необходимо выставлять при круглосуточной работы сервера. Рекомендуется частоту перезапуска связывать с технологическим циклом информационных баз кластера. Обычно это каждые 24 часа (86400 сек). Как известно, рабочие процессы серверов 1С обрабатывают и хранят рабочие данные.
- Автоматический перезапуск был разработан в платформе «для минимизации отрицательных последствий фрагментации и утечки памяти в рабочих процессах». На ИТС есть даже информация о том, как организовать перезапуск рабочих процессов по другим параметрам (объем памяти, занимаемые ресурсы и т.п.).
- Допустимый объем памяти — защищает сервера 1С от перерасхода памяти. При превышении процессом этого объема в интервале превышения допустимого объема, процесс перезапускается. Можно рассчитать, как максимальный размер памяти, занимаемый процессами «rphost» в периоды пиковой нагрузки серверов. Также стоит установить небольшой интервал превышения допустимого объема.
- Допустимое отклонение количества ошибок сервера. Платформа рассчитывает среднее количество ошибок сервера по отношению к числу обращений к серверу в течение 5 минут. Если это отношение превысит допустимое, то рабочий процесс считается «проблемным», и может быть завершен системой, если установлен флаг «Принудительно завершать проблемные процессы».
- Выключенные процессы останавливать через. При превышении допустимого объема памяти, рабочий процесс не завершается сразу, а становится «выключенным», чтобы было время «перенести» рабочие данные без потери на новый запущенный рабочий процесс. Если указан этот параметр, то «выключенный» процесс в любом случае завершится по истечении этого времени. Если наблюдаются «зависшие» рабочие процессы в работе сервера 1С, то можно стоит этот параметр на 2-5 минут.
Эти настройки устанавливаются для каждого сервера 1С индивидуально.
- Максимальный объем памяти рабочих процессов — это объем совокупной памяти, которую могут занимать рабочие процессы (rphost) на текущем кластере. Если параметр установлен в «0», то занимает 80% оперативной памяти сервера. «-1» — без ограничений. Когда на одном сервере работают СУБД и сервер 1С, им нужно делить между собой оперативную память. Если в процессе эксплуатации обнаружится, что серверу СУБД не хватает памяти, то можно ограничить память, выделяемую серверу 1С с помощью этого параметра. Если СУБД и 1С разделены по серверам, то имеет смысл рассчитать этого параметр по формуле:
«Max объем» = «Общая оперативная память» — «Оперативная память ОС»;
«Оперативная память ОС» рассчитывается по принципу 1 Гб на каждые 16 Гб оперативной памяти сервера - Безопасный расход памяти за один вызов. В общем случае, отдельные вызовы не должны занимать всю оперативную память, выделенную рабочему процессу. Если параметр установлен в «0», то объем безопасного расхода будет равен 5 % от «Максимального объема памяти рабочих процессов». «-1» — без ограничения, что крайне не рекомендуется. В большинстве случаев этот параметр лучше оставлять «0».
- С помощью параметров «Количество ИБ на процесс» и «Количество соединений на процесс» можно управлять распределением работы сервера 1С по рабочим процессам. Например, запускать под каждую информационную базу отдельный «rphost», чтобы в случае «падений» процесса, отключались только пользователи одной базы. Эти параметры стоит подбирать индивидуально под каждую конфигурацию сервера.
Рекомендации по настройке СУБД MS SQL
Ограничение на использование оперативной памяти сервером СУБД — У сервера СУБД MS SQL есть одна замечательная особенность — он любит загружать базы, с которыми ведется активная работа в оперативную память полностью. Если его не ограничивать, то он заберет себе всю оперативную память, какую только сможет.
- Если сервер 1С установлен вместе с Microsoft SQL Server, то верхний порог памяти необходимо уменьшить на величину, достаточную для работы сервера 1С.
- Если на сервере работает только СУБД, то для СУБД по формуле:
«Память СУБД» = «Общая оперативная память» — «Оперативная память ОС»; - Shared memory — об этом параметре известно много, но до сих пор встречается, что про него забывают. Выставляем в «1», если сервер 1С и СУБД работают на одном физическом или виртуальном сервере.
- Max degree of parallelism — определяет, сколько процессоров используется при выполнении одного запроса. СУБД распараллеливается получение данных при выполнении сложных запросов на несколько потоков. Для 1С рекомендуется устанавливать в «1», то есть одним потоком.
- Авторасширение файлов БД — определяем шаг в МБ, с которым «расширяется» файл базы данных. Если шаг будет маленький, то при активном росте БД, частые расширения приведут к дополнительной нагрузке на дисковую систему. Лучше установить в 500 — 1000 МБ.
- Реиндексация и дефрагментация индексов — рекомендуется делать дефрагментацию/реиндексацию хотя бы раз в неделю. Реиндексация блокирует таблицы, поэтому лучше запускать в нерабочее время или периоды минимальной нагрузки. Нет смысла делать дефрагментацию после перестроения индекса (реиндексации). По рекомендации Microsoft дефрагментацию делают в том случае, если фрагментация индекса не превышает 30 %. Если выше, рекомендуется сделать реиндексацию.
- Обновление статистики — рекомендуется обновлять статистику хотя бы 1 раз в день. Статистика отвечает за производительность выполнения запросов.
- План электропитания — в настройках электропитания операционной системы установить на высокую производительность.
Включить возможность мгновенной инициализации файлов (Database instant file initialization)
Это позволяет ускорить работу таких операций как:
- Создание базы данных.
- Добавление файлов, журналов или данных в существующую базу данных.
- Увеличение размера существующего файла (включая операции автоувеличения).
- Восстановление базы данных или файловой группы.
Для включения настройки:
- Откроть Local Security Policy (secpol.msc).
- Локальные политики — Назначение прав пользователей
- Выполнение задач по обслуживанию томов
- «Добавить» пользователя или группу и добавить сюда пользователя, под которым запущен сервер MS SQL Server
- «Применить»
Включить «Блокировка страниц в памяти» (Lock pages in memory)
Эта настройка определяет, какие учетные записи могут сохранять данные в оперативной памяти, чтобы система не отправляла страницы данных в виртуальную память на диске, что может повысить производительность
- Пуск — Выполнить — gpedit.msc.
- Конфигурация компьютера — Конфигурация Windows
- Настройки безопасности и Локальные политики
- Назначение прав пользователя
- «Блокировка страниц в памяти»
- В диалоговом окне Параметр локальной безопасности — блокировка страниц в памяти выбрать «Добавить» пользователя или группу
- В диалоговом окне Выбор: пользователи, учетные записи служб или группы добавьте ту учетную запись, под которой запускается служба MS SQL Server
- Чтобы изменения вступили в силу, перезагрузите сервер.
Отключить механизм DFSS для дисков
Механизм Dynamic Fair Share Scheduling отвечает за балансировку и распределение аппаратных ресурсов между пользователями. Иногда его работа может негативно сказываться на производительности 1С. Чтобы отключить его только для дисков, нужно
- Найти в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk
- Установить значение параметра EnableFairShare в 0
Отключить сжатие данных для каталогов, в которых лежат файлы базы
При включенном сжатии ОС будет пытаться дополнительно обрабатывать файлы при модификации, что замедлит сам процесс записи, но сэкономит место.
Чтобы отключить сжатие файлов в каталоге, необходимо
- Открыть свойства каталога
- На закладке Общие нажать — Другие
- Снять флаг «Сжимать» содержимое для экономии места на диске
Установить параметр «Максимальная степень параллелизма» (Max degree of parallelism) в значение 1
Данный параметр определяет, во сколько потоков может выполняться один запрос. По умолчанию параметр равен 0, это означает, что сервер сам подбирает число потоков. Для баз с характерной для 1С нагрузкой рекомендуется поставить данный параметр в значение 1, т.к. в большинстве случаев это положительно скажется на работе запросов
- Запустить Management Studio и подключиться к нужному серверу
- Свойства сервера — Дополнительно
- Установить значение параметра равное единице
Ограничить максимальный объем памяти сервера MS SQL Server
Необходимо ограничить максимальный объем памяти, потребляемый MS SQL Server, особенно это критично, если роли сервера 1С и сервера СУБД совмещены. Максимальный объем памяти, рекомендуемый для MS SQL Server, можно рассчитать по следующей формуле:
Память для MS SQL Server = Память всего — Память для ОС — Память для сервера 1С
Например, на сервере установлено 64 ГБ оперативной памяти, необходимо понять, сколько памяти выделить серверу СУБД, чтобы хватило серверу 1С.
Для нормальной работы ОС в большинстве случаев более чем достаточно 4 ГБ, обычно — 2-3 ГБ.
Чтобы определить, сколько памяти требуется серверу 1С, необходимо посмотреть, сколько памяти занимают процессы кластера серверов в разгар рабочего дня. Этими процессами являются ragent, rmngr и rphost, подробно данные процессы рассматриваются в разделе, который посвящен кластеру серверов. Снимать данные нужно именно в период пиковой рабочей активности, когда в базе работает максимальное количество пользователей. Получив эти данные, необходимо прибавить к ним 1 ГБ — на случай запуска в 1С «тяжелых» операций.
Чтобы установить максимальный объем памяти, используемый MS SQL Server, необходимо
- Запустить Management Studio и подключиться к нужному серверу
- Свойства сервера, Память
- Указать значение параметра Максимальный размер памяти сервера
Включить флаг «Поддерживать» приоритет SQL Server (Boost SQL Server priority)
Данный флаг позволяет повысить приоритет процесса MS SQL Server над другими процессами.
Имеет смысл включать флаг только в том случае, если на компьютере с сервером СУБД не установлен сервер 1С
Для установки флага:
- Запустить Management Studio и подключиться к нужному серверу
- Свойства сервера — Процессоры
- Включить флаг «Поддерживать приоритет SQL Server (Boost SQL Server priority)» и Ок.
Установить размер авто увеличения файлов базы данных
Автоувеличение позволяет указать величину, на которую будет увеличен размер файла базы данных, когда он будет заполнен. Если поставить слишком маленький размер авторасширения, тогда файл будет слишком часто расширяться, на что будет уходить время. Рекомендуется установить значение от 512 МБ до 5 ГБ.
Для установки размера авторасширения необходимо:
- Запустить Management Studio и подключиться к нужному серверу
- Свойства нужной базы — Файлы
- Напротив каждого файла в колонке Автоувеличение поставить необходимое значение
Данная настройка будет действовать только для выбранной базы. Если нужно, чтобы такая настройка действовала для всех баз, нужно выполнить эти же действия для служебной базы model. После этого все вновь созданные базы будет иметь те же настройки, что и база model
Разнести файлы данных mdf и файлы логов ldf на разные физические диски
В этом случае работа с файлами может идти не последовательно, а практически параллельно, что повышает скорость работы дисковых операций. Лучше всего для этих целей подходят диски SSD.
Для переноса файлов:
- Запустить Management Studio и подключиться к нужному серверу
- Открыть свойства нужной базы — Файлы
- Запомнить (записать) имена и расположение файлов
- Отсоединить базу.
- Поставить флаг Удалить соединения и нажать Ок
- Открыть Проводник и переместить файл данных и файл журнала на нужные носители
- В Management Studio открыть контекстное меню сервера и «Присоединить базу».
- Нажать кнопку Добавить и указать файл mdf с нового диска
- В нижнем окне сведения о базе данных в строке с файлом лога нужно указать новый путь к файлу журнала транзакций и нажать Ок
Вынести файлы базы TempDB на отдельный диск
Служебная база данных TempDB используется всеми базами сервера для хранения, промежуточных расчетов, временных таблиц, версий строк при использовании RCSI и многих других вещей. Обычно обращений к этой базе очень много, и если она будет лежать на медленных дисках, это может замедлить работу системы.
Рекомендуется хранить базу TempDB на отдельном диске для повышения производительности работы системы
Для переноса базы TempDB на отдельный диск:
- Запустить Management Studio и подключиться к нужному серверу
- выполнить скрипт
ALTER DATABASE tempdb
MODIFY FILE (NAME = tempdev, FILENAME = ‘Новый_Диск:\Новый_Каталог\tempdb.mdf’)
ALTER DATABASE tempdb
MODIFY FILE (NAME = templog, FILENAME = ‘Новый_Диск:\Новый_Каталог\templog.ldf’)
- Перезапустить MS SQL Server
Включить Shared Memory, если сервер 1С расположен на том же компьютере, что и сервер СУБД
Протокол Shared Memory позволит общаться приложениям через оперативную память, а не через протокол TCP/IP.
Для включения Shared Memory необходимо
- Запустить диспетчер конфигурации SQL Server
- Зайти в SQL Native Client — Клиентские протоколы — Общая память — Включено
- Поставить значение Да и нажать Ок
Протокол Именованные каналы нужно выключить аналогичным образом.
Когда все настройки выполнены, необходимо перезапустить службу MS SQL Server
