12 февраля 2019 г.

Оптимизация работы 1C. Настройка сервера MS SQL

vlsdtv | 16:59 | Прокоментируй первым!
В довесок к этому


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 и подключиться к нужному серверу 
  • выполнить скрипт

USE master

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = tempdev, FILENAME = ‘Новый_Диск:\Новый_Каталог\tempdb.mdf’)

GO

ALTER DATABASE tempdb

MODIFY FILE (NAME = templog, FILENAME = ‘Новый_Диск:\Новый_Каталог\templog.ldf’)

GO 
  • Перезапустить MS SQL Server


Включить Shared Memory, если сервер 1С расположен на том же компьютере, что и сервер СУБД

Протокол Shared Memory позволит общаться приложениям через оперативную память, а не через протокол TCP/IP.

Для включения Shared Memory необходимо
  • Запустить диспетчер конфигурации SQL Server 
  • Зайти в SQL Native Client – Клиентские протоколы – Общая память – Включено 
  •  Поставить значение Да и нажать Ок

Протокол Именованные каналы нужно выключить аналогичным образом.


Когда все настройки выполнены, необходимо перезапустить службу MS SQL Server

Читать далее ...

4 февраля 2019 г.

10 памяток для сисадмина.

vlsdtv | 16:56 | 1 Comment so far


1. Делать все просто, сложные системы ломаются быстрее. 
2. Регулярные бэкапы. 
3. Проверять состояние бэкапов! 
4. Мониторить все что можно. 
5. Документировать все что делается/создается/изменяется. 
6. Сначала планируем, потом делаем. 
7. Используем по максимуму командную строку, GUI - необходимый минимум. 
8. Автоматизировать все что возможно. 
9. Пользователи как цыплята - им должно быть сухо, комфортно и уютно. И они должны знать, что стоит высунуться из-под крыла - получишь клювом в лоб. 
10. Не стоять на месте, изучать и внедрять все новое. А главное - получать от этого fun.
Читать далее ...

Search