1с чек лист настройки сервера

Обновлено: 07.07.2024

Однако науке известны и другие примеры :)

Каждый раз это вызывает массовый интерес.

Поэтому предлагаем посмотреть, что позволяет получать такие результаты.

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

  • Максимальный объем памяти рабочих процессов. Настройка позволяет регулировать объем памяти, который могут занять все рабочие процессы данного кластера на данном рабочем сервере.
  • Безопасный расход памяти за один вызов. Настройка позволяет ограничить объем памяти, который будет занят при выполнении серверного вызова на данном рабочем сервере.
  • Количество ИБ на процесс и количество соединений на процесс. Данные настройки позволяют косвенно регулировать количество рабочих процессов на данном рабочем сервере.
  • Менеджер под каждый сервис. Настройка позволяет запустить каждый сервис менеджера кластера как отдельный процесс.

В видеоуроках мы покажем каждую из новых настроек и раскроем нюансы их использования.

Видео 01:
Настройка параметров кластера серверов

В данном видео рассмотрены настройки контроля расхода памяти на рабочем сервере.

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


Видео 02:
Параметры рабочего сервера для автоматического создания рабочих процессов

В группе 2 настройки:

  • Количество ИБ на процесс
  • Количество соединений на процесс.

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


Видео 03:
Создание отдельного менеджера (rmngr) под каждый сервис

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


Смотрите еще:




Курс по технической настройке 1С и повышению стабильности.

Не откладывайте свое обучение!

Комментарии / обсуждение (50):

У меня возник вопрос, имеется ли в курсе информация, про процессорам, сколько и какой расчет нужно делать из ходя кол-ва пользователей. размера базы и т.д. Просто имеется проблема на сервере 8 процессоров и хавает 1с ка все время 100%.. как с этим бороться не понятно..

Здравствуйте, имеется ли в курсе информация по настройке PostgreSQL на Windows?

Добрый вечер!
Сегодня получил добро от директора на покупку данного курса версии PROF.
Ранее все курсы покупал на себя. Как можно оформить покупку на организацию (без нал.)?
Комплект как всегда 2 ключа(работа+дом) +1 запаска?

Здравствуйте, Дмитрий!
Как можно оформить покупку на организацию (без нал.)?
Заказ для Вас оформили. Счет отправили отдельным письмом.
В ответном письме ждем реквизиты Вашей компании.

Комплект как всегда 2 ключа(работа+дом) +1 запаска?
Для курса доступно 3 основных + 1 резервный ключ.

Татьяна, спасибо!
Ответ с реквизитами отправил.

Дмитрий, счет уже отправили.

Доброго времени!
Вопрос следующий: как я понял курс будет на MSSQL Server не Express версии, а Standart. Его приобретать надо? Есть еще версия для 1С.

Приобретать не обязательно, можно скачать бесплатную 180 дневную версию с сайта Microsoft.

А как быть с КИП? Он нужен?

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

Следует иметь ввиду, что просто установить и запустить серверную систему часто бывает недостаточно.

Встречаются случаи, когда после установки клиент-серверной версии платформы скорость работы ИБ становится медленнее, чем в файловом варианте.

Поэтому нужно знать систему шире, чем инсталляция и настройка.

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

Но при этом в курсе не рассмотрены вопросы инсталляции СУБД и 1С (это относительно простые вопросы).

Да, только on-line.
Но оно небольшое :)

На скачивание видео будет доступно только участникам курса.

В новом курсе будет рассматриваться только Microsoft SQL или будут и другие СУБД?

Курс записан с использованием MS SQL Server, но все приемы оптимизации так же применимы и к другим СУБД.

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

Добрый день!
Подскажите, пожалуйста, новый курс сколько процентов информации содержит по работе с кодом 1С и сколько информации именно для системного администратора (настройки SQL, мониторинг загруженности оборудования, правильные настройки ОС и т. д.)?

Примерно темы курса распределяются следующим образом:
1. Оценка производительности системы 3-5%
2. Настройка сервера СУБД, кластера 1С и регламентных заданий 20-25%
3. Диагностика проблем производительности 10-15%
4. Решение проблем производительности и оптимизация 45-55%
5. Диагностика и решение проблем стабильности 3-5%

Детальное распределение с подробным описанием глав и уроков будет в анонсе курса.

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

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

Скажите старый курс по Оптимизации 1С больше не будет проводится? Если я купил старый, но который еще не начинался, буду я иметь доступ к новому курсу или нет?

Новых потоков по старому курсу не планируется.

Новый курс планируется в этом году или уже в следующем?

Для тех кто проходил старый курс обновлений не планируется?

Нет, это новый курс.

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

Все подробности чуть позже.

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

Ну, Инесса, давайте без дартаньянства :)

Это же видео не на пустом месте всплыло, это одни из первых вопросов в Мастер-группах :)

Фарит, Вы знаете, я поддержу Инессу.

Материал действительно скупой, ничего нового относительно документации не дающий. И, как минимум, одно ложное утверждение: вот стоит рядом со мной сервер с настройками по умолчанию с 16Гб бортовой памяти, на котором 1С Сервер выделил 20 Гб. И продолжает выделять.

Но это еще не значит, что об этом не нужно упоминать в курсе. Часто документация написана таким образом, что даже после многократного прочтения не всегда понятно, на что же влияет тот или иной параметр.

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

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

Вот только ваша ситуация как раз доказывает что оно скорее истинно :)

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

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

При этом рабочий процесс, который превысил память, будет перезапущен не сразу, а исходя из параметра «Выключенные процессы останавливать через». Таким образом, если нагрузка высокая и параметр «Выключенные процессы останавливать через» не установлен (а по умолчанию он вроде как и не установлен), то старые процессы будут копиться, но не будут принимать новые подключения, а новые процессы будут запускаться, потребляемая память расти, своп пухнуть и т.д.

Если дело обстоит именно так как описано, то именно благодаря работе механизма ограничения по памяти ваш сервер пока еще героически держит удар.

Check-list по настройке рабочих серверов в продукционной зоне

В этой статье приводится инструкция check-list, который является рекомендуемым при настройке крупных информационных систем.

Также в статье приводится набор скриптов, которые оказались полезны при эскплуатации.

  1. Настроен сбор технологических журналов на всех продукционных рабочих серверах с платформой 1С:Предприятие.
  • директория ALL (события EXCP, PROC, CONN, SESN, CLSTR, SRVC, ADMIN);
  • директория CALLSCALL (события CALL, SCALL);
  • Сбор дампов аварийных завершений процессов кластера.

Настройка выполняется с помощью файла logcfg.xml.

Пример настройки технологического журнала.

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

необходимо будет удалить.

Обратите внимание, что history="28" указан равным 28 часам, что при достаточно интенсивной нагрузке может привести к сбору достаточно большого объема журналов.

Если места на дисках не достаточно, лучше отказаться от журнала с CALL, SCALL, а сбор «основного» журнала "C:\LOGS\All"сократить до 12 часов.

Следует также настроить архивирование технологических журналов с последующим копированием на сетевой ресурс.

  1. Настроен сбор счетчиков Performance Monitor на всех продукционных серверах.

Запуск счетчика добавлен в Task Schedule.

  1. Настроен Windows Error Reporting Service на процессы ragent, rmngr, rphost.

Инструкция по настройки дампов находится здесь.

  1. На рабочих серверах есть только продукционные кластеры с продукционными базами.

Другие (не рабочие) базы и кластеры должны отсутствовать.

«Исключением» из данного правила могут являться «обслуживающие» (хотя всё же продукционные) информационные базы, такие как:

  • Центр Контроля Качества;
  • Центр Управления Производительностью;
  • Менеджер Сервиса;
  • Агент Сервиса;

Обратите внимание, что не должно быть

  • развернутых копий продукционных информационных баз;
  • тестовых информационных баз;
  • информационных баз разработки.

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

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

в определенной директории, например, C:\Utils

Ярлык на эту директорию должен быть на рабочем столе.

  1. Наличие скриптов автоматизации в определенной директории.

Ярлык на эту директорию должен быть на рабочем столе.

Примеры скриптов приведены в конце статьи.

  1. Настроена контрольная процедура «Контроль подключений» для всех продукционных баз в Центре Контроля Качества.
  1. Настроена контрольная процедура «Контроль потребления памяти» для всех продукционных баз в Центре Контроля Качества.
  1. Настроен сбор данных по загруженности оборудования для всех серверов продукционной площадки в ЦКК из Мастера настройки в ЦКК.

У пользователя ОС, от которого запущен rphost, вхождение в группу Windows Performance Monitor Users.

  • По месту на дисках для всех продукционных серверов: меньше 10% места за 5 минут;
  • По памяти для всех продукционных серверов (кроме СУБД): меньше 200 Мб памяти за 5 минут;
  • По CPU для всех продукционных серверов: более 90% за 5 минут;
  • Для СУБД по превышению размера tempdb (SQL Tempdb Log Used Size (MB) [среднее]) более 70 Гб (нужно убедиться в снятом ограничении по размеру tempdb в настройках СУБД).
  1. Проведен успешный тест отправки e-mail или смс из рабочего Центра Контроля Качества.

Если тест успешно не выполняется (т.е. смс или письмо не приходят), но проверять наличие доступа к соответствующим серверам.

  1. На веб серверах настроен сбор access и error логов IIS или Apache.
  • Обновление статистик;
  • Очистка процедурного КЭШа;
  • Дефрагментация индексов;
  • Реиндексация таблиц базы данных;
  • Создание бэкапов.
  1. Установлен Windows Performance Toolkit на всех рабочих (1С) Windows серверах.

Windows Performance Toolkit входит в комплект Windows 8.1 SDK.

После установки проверяется возможность запустить Windows Performance Recorder с опцией “Resource Analysis”\”CPU Usage” на несколько секунд.

  1. Наличие файла swpuser.ini с указанием пользователя для рабочих процессов с соответствующими правами в ОС.

При использовании файла swpuser.ini пользователь, от имени которого работает главный агент кластера (ragent), должен иметь административные права. Дополнительно следует обеспечить наличие этого пользователя в локальных политиках безопасности: Adjust memory quotas for a process (сюда обычно входит группа Администраторы) и Replace a process level token (обычно группа Администрторы сюда не входит). Необходимо помнить, что инсталятор не подготавливает почву для использования swpuser.ini. Поэтому для использования swpuser.ini все предлагаетя сделать руками: создать пользователей, дать им права и т. п. Важно, что пользователям, от которых запускаются рабочие процессы и менеджеры кластера, в Windows должен быть создан профиль. Он необходим для правильного размещения:

  • каталога временных файлов;
  • каталога данных приложения;
  • переменных окружения.

Наиболее простой способ создания профиля - однократный интерактивный вход.

  1. Наличие требований назначения функциональности для всех продукционных кластеров с двумя и более рабочими серверами
  • Для сервиса лицензирования;
  • Для сервиса полнотекстового поиска данных;
  • Для сервиса журнала регистрации.

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

  1. Имена пользователей, от которых рабочие процессы rphost работают с СУБД, в точности соответствуют именам информационных баз.

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

Желательно на рабочем столе всегда видеть:

  • Имя сервера;
  • Объем места на дисках;
  • Его сетевые адресы.
  1. План электропитания: Высокая производительность.

В Control Panel\All Control Panel Items\Power Options необходимо указать "High Performance".

  1. Хотя бы один раз проведено тестовое восстановление из бэкапа с замером времени восстановления.
  1. Настроен пересчет итогов, перестроение агрегатов.
  1. Отсутствует лишняя регистрация изменений в планах обмена.
  1. Число процессов rphost адекватно решаемой кластром задачи.

Например, не установлена настройка 1 rphost на 1 информационную базу при наличии большого числа информационных баз в кластере серверов.

Корректно сконфигурированные виртуальные машины.

На виртуальных машинах обеспечено гарантированное выделение ресурсов, суммарный объем выданной оперативной памяти в виртуальных машинах, меньше объема имеющейся памяти на хосте.

  1. Для работы системы «1С:Предприятие» c СУБД MS SQL Server

требуется установленный SQL ServerNativeClientfor SQL Server 2005 (и более старших версий Microsoft SQL Server). Проверка наличия установленного SQL ServerNativeClientосуществляется при выполнении следующих операций:

  • создание информационной базы;
  • загрузка информационной базы;
  • обновление конфигурации базы данных.

Немедленно завершить приложения.

Получить дампы процессов.

Этот скрипт должен выполняться из той же директории, в которой находится procdump.exe

Остановка службы 1С:Предприятие с очисткой временных файлов.

Запуск службы 1С:Предприятие

Рестарт с очисткой временых файлов

Аварийное завершение процесса rphost, который потребляет больше N Гб памяти

N сильно зависит от вашей системы, нагрузки, конфигурации и т.д. В этом примере N = 8 Гб.

image alt text

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

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

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

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

image alt text

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

И никаких связанных со старым кэшем проблем.

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

Вообще, правильнее запускать проверку БД конфигуратором, но этот процесс проходит значительно дольше. Если же использовать только проверку физической целостности средствами chdbfl.exe, то не забывайте делать резервную копию из-за возможной потери данных.

Для баз 8.1 Андрей Скляров создал хороший инструмент Check1CD, с двумя параметрами запуска: "исправлять найденные ошибки" и “путь к базе”.

Но в Check1CD не хватает двух вещей:

Раз есть "хотелка" и немного свободного времени, то почему бы не попробовать решить вопрос самостоятельно?

Доработать код для передачи параметров через ключи командной строки — дело техники.

image alt text

image alt text

С выходом 1С 8.2 возникла проблема — путь к chdbfl менялся с установкой нового релиза. Что ж, дополним скрипт:

Надо сказать, недавно был опубликован исходный код Check1CD. Да, тоже на AutoIT.

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

При различных регламентных операциях с 1С (ночное обновление конфигурации или бэкап в .dt) важно обеспечить отсутствие подключенных к ней пользователей. Можно конечно запускать 1С: Предприятие с ключом /C ЗавершитьРаботуПользователей, но это не всегда удобно, да и хочется же потом написать личное письмо с рекомендациями по устранению склероза.

Можно использовать штатную возможность подключения к 1С через COMConnector и скрипт на AutoIT. Код написан под 1С 8.1 и позволяет выкинуть пользователей из базы с записью в журнал.

Но операцию иногда нужно проворачивать по просьбе самого пользователя, который запустил "тяжелый" отчет и повесил 1С. Если не хотите решать эти вопросы самостоятельно, то просто выведите любителям “тяжелых” отчётов ярлык на скомпилированный скрипт:

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

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

Для примера приведу функцию создания пользователей в типовой Бухгалтерии 2.0.

image alt text

Юрлиц развелось слишком много — нужно разбивать на столбцы.

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

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

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

image alt text

Список баз для миграции можно брать и из файла, а лог выводить в текстовый файл. Аналогичным образом можно конвертировать несколько десятков баз из файловых в SQL простой выгрузкой-загрузкой в .dt

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

Наверняка у вас тоже есть свой набор "ноу хау" для администрирования 1С — будет здорово если поделитесь с коллегами в комментариях.

Скрипты и ноу-хау предоставлены avelor, за что ему огромное спасибо!

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

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

Рис. 1

Рис. 1

Как правильно выбрать вариант/режим работы 1С: файловый или SQL?

Обычно для 1-10 пользователей выбирается файловый режим

От 10 и более пользователей выбирается режим работы с использованием SQL

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

Для клиент-серверного варианта лучше выбрать не менее двух виртуальных машин:

Сервер с клиентским приложением, например терминальный сервер с клиентской частью «1С» (толстый клиент)

Сервер «1С» и СУБД (MS SQL или PostgreSQL)

Как рассчитать мощности сервера для 1С в файловом режиме работы?

В обоих вариантах: файловом и SQL, для работы с пользовательским приложением 1С в классическом режиме, например, «удаленного рабочего стола» (так называемый «толстый клиент»), необходимы следующие минимальные ресурсы виртуального сервера:

Количество виртуальных ядер CPU = 1 или 2 для ОС + 0,25 * количество пользователей

Объем памяти RAM = 1 или 2 ГБ для ОС + 0,5 ГБ * количество пользователей

Размер диска/хранилища HDD = 20-40 ГБ для ОС и приложений + (0,1-10) ГБ * количество пользователей. Для ОС и 1С рекомендуется использовать самые быстрые диски

Как рассчитать мощности сервера для 1С в варианте работы с SQL?

В клиент-серверном варианте работы 1С, в котором используется СУБД SQL, рекомендуется разместить 1С Сервер и сервер SQL на отдельном виртуальном сервере в общей с клиентским сервером локальной подсети. Необходимы следующие минимальные мощности для этого виртуального сервера:

Размер диска/хранилища HDD = 20-40 ГБ для ОС и приложений + (10-1000) ГБ в зависимости от объема и количества баз данных. Для ОС и СУБД рекомендуется использовать самые быстрые диски
------------
ОС - операционная система, например, Windows Server
Здесь Сервер 1С - ПО "сервер "1С:Предприятия 8"

Наиболее важными и непростыми задачами являются повышение продуктивности использования платформы «1С» в облаке и настройка СУБД. Типичные проблемы при развертывании и эксплуатации облачной инфраструктуры для «1С» следующие:

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

Неквалифицированная настройка сервисов виртуальной инфраструктуры

Недостаточное внимание к тестированию производительности платформы «1С»

Для достижения максимальной производительности рекомендуется проверить и выполнить ряд настроек. Прежде всего необходимо исключить свопинг, для чего с помощью системы мониторинга следует обязательно удостовериться в том, что объем оперативной памяти достаточен для работы ВМ. Кроме того, файл подкачки ОС, профили пользователей, файлы баз данных, файлы логов транзакций (SQL) и tempDB (SQL) лучше разместить на дополнительных SSD-дисках, а для файла подкачки установить фиксированный размер.

На SQL-сервере необходимо выключить все ненужные службы, например FullText Search и Integration Services, установить максимально возможный объем оперативной памяти, максимальное количество потоков (Maximum Worker Threads) и повышенный приоритет сервера (Boost Priority), задать ежедневную дефрагментацию индексов и обновление статистики, настроить автоматическое увеличение файла базы данных (не менее 200 Мбайт) и файла лога (не менее 50 Мбайт), а также полную реиндексацию не реже одного раза в неделю. При размещении серверов SQL и «1С:Предприятие» на одной ВМ следует включить протокол Shared Memory.

Следуя перечисленным выше рекомендациям, можно добиться увеличения быстродействия платформы «1С» в облаке в 1,5–2 раза.

Квалифицированное размещение ИТ-сервисов, в том числе «1С», на облачной платформе позволяет:

Существенно сократить расходы

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

Обеспечить централизованное администрирование и мониторинг

Организовать эффективную и безопасную удаленную работу

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

ЧЕК-ЛИСТ ПО ОПТИМИЗАЦИИ ИНФРАСТРУКТУРЫ 1С С MS SQL

1. Включить возможность мгновенной инициализации файлов (Database instant file initialization)

Это позволяет ускорить работу таких операций как:

Создание базы данных

Добавление файлов, журналов или данных в существующую базу данных

Увеличение размера существующего файла (включая операции автоувеличения)

Восстановление базы данных или файловой группы

Для включения настройки:

На компьютере, где будет создан файл резервной копии, откройте приложение Local Security Policy (secpol.msc)

Разверните на левой панели узел Локальные политики, а затем кликните пункт Назначение прав пользователей

На правой панели дважды кликните Выполнение задач по обслуживанию томов

2. Включить параметр «Блокировка страниц в памяти» (Lock pages in memory)

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

Для включения настройки:

В меню Пуск выберите команду Выполнить. В поле Открыть введите gpedit.msc

В консоли Редактор локальных групповых политик разверните узел Конфигурация компьютера, затем узел Конфигурация Windows

Разверните узлы Настройки безопасности и Локальные политики

Выберите папку Назначение прав пользователя

Политики будут показаны на панели подробностей

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

В диалоговом окне Параметр локальной безопасности — блокировка страниц в памяти выберите «Добавить» пользователя или группу

В диалоговом окне Выбор: пользователи, учетные записи служб или группы добавьте ту учетную запись, под которой у вас запускается служба MS SQL Server

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

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

Если антивирус будет сканировать файлы базы, это может сильно замедлить работу СУБД.

Для опытных администраторов: антивирус на сервер СУБД лучше не устанавливать.

4. Включить каталоги с файлами базы данных в список исключений для системы автоматического копирования.

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

5. Отключить механизм DFSS для дисков.

Механизм Dynamic Fair Share Scheduling отвечает за балансировку и распределение аппаратных ресурсов между пользователями. Иногда его работа может негативно сказываться на производительности 1С.

Чтобы отключить его только для дисков, нужно:

Найти в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk

Установить значение параметра EnableFairShare в 0

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

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

Чтобы отключить сжатие файлов в каталоге, необходимо:

Открыть свойства каталога

На закладке Общие нажать кнопку Другие

Снять флаг «Сжимать» содержимое для экономии места на диске

7. Установить параметр «Максимальная степень параллелизма» (Max degree of parallelism) в значение 1.

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

Для настройки параметра необходимо:

Запустить Management Studio и подключиться к нужному серверу

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

Установить значение параметра равное единице

8. Ограничить максимальный объем памяти сервера 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 и подключиться к нужному серверу

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

Указать значение параметра Максимальный размер памяти сервера

9. Включить флаг «Поддерживать» приоритет SQL Server (Boost SQL Server priority).

Данный флаг позволяет повысить приоритет процесса MS SQL Server над другими процессами.

Имеет смысл включать флаг только в том случае, если на компьютере с сервером СУБД не установлен сервер 1С.

Для установки флага необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства сервера и выбрать закладку Процессоры

Включить флаг «Поддерживать приоритет SQL Server (Boost SQL Server priority)» и нажать Ок

10. Установить размер авто увеличения файлов базы данных.

Автоувеличение позволяет указать величину, на которую будет увеличен размер файла базы данных, когда он будет заполнен. Если поставить слишком маленький размер авторасширения, тогда файл будет слишком часто расширяться, на что будет уходить время. Рекомендуется установить значение от 512 МБ до 5 ГБ.

Для установки размера авторасширения необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства нужной базы и выбрать закладку Файлы

Напротив каждого файла в колонке Автоувеличение поставить необходимое значение

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

11. Разнести файлы данных mdf и файлы логов ldf на разные физические диски.

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

Для переноса файлов необходимо:

Запустить Management Studio и подключиться к нужному серверу

Открыть свойства нужной базы и выбрать закладку Файлы

Запомнить имена и расположение файлов

Отсоединить базу, выбрав через контекстное меню Задачи – Отсоединить

Поставить флаг Удалить соединения и нажать Ок

Открыть Проводник и переместить файл данных и файл журнала на нужные носители

В Management Studio открыть контекстное меню сервера и выбрать пункт Присоединить базу

Нажать кнопку Добавить и указать файл mdf с нового диска

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

12. Вынести файлы базы 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

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

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

Для включения Shared Memory необходимо:

Запустить диспетчер конфигурации SQL Server

Зайти в пункт SQL Native Client – Клиентские протоколы – Общая память – Включено

Поставить значение Да и нажать Ок

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

14. Перезапустить службу MS SQL Server

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

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