При размещении 1С в облачной инфраструктуре и среде виртуализации наиболее важными и сложными задачами являются увеличение скорости работы платформы 1С и настройка СУБД.
Для достижения максимальной производительности инфраструктуры 1С рекомендуется правильно выбрать архитектуру инфраструктуры, режимы работы, проверить и выполнить ряд важных настроек.
В зависимости от количества пользователей, размера баз данных и ограничений бюджета (с учетом стоимости дополнительных лицензий на сервер «1С:Предприятие 8» и лицензий СУБД) платформа 1С может работать в файловом и клиент-серверном вариантах (на базе на трехуровневой архитектуре «клиент-сервер» (рис.
1): клиентское приложение, кластер серверов «1С:Предприятие 8», СУБД).
Рис.
1
Как выбрать правильный режим/вариант работы 1С: файловый или SQL?
Обычно файловый режим выбирается для 1-10 пользователей.При наличии 10 и более пользователей выберите режим работы с помощью SQL В файловой версии все пользователи могут работать на одной виртуальной машине в облаке, например на терминальном сервере.
Для клиент-серверного варианта лучше выбрать минимум две виртуальные машины:
- Сервер с клиентским приложением, например терминальный сервер с клиентской частью 1С (толстый клиент)
- Сервер 1С и СУБД (MS SQL или PostgreSQL)
Как посчитать мощность сервера для 1С в файловом режиме?
В обоих вариантах: файловом и SQL для работы с пользовательским приложением 1С в классическом режиме, например «удаленный рабочий стол» (так называемый «толстый клиент»), необходимы следующие минимальные ресурсы виртуального сервера:- Количество виртуальных ядер ЦП = 1 или 2 для ОС + 0,25 * количество пользователей.
- Объем оперативной памяти = 1 или 2 ГБ для ОС + 0,5 ГБ * количество пользователей
- Размер диска/HDD = 20-40 ГБ для ОС и приложений + (0,1-10) ГБ * количество пользователей.
Для ОС и 1С рекомендуется использовать самые быстрые диски.
Как рассчитать мощность сервера 1С при работе с SQL?
В клиент-серверной версии 1С, использующей СУБД SQL, рекомендуется размещать Сервер 1С и SQL-сервер на отдельном виртуальном сервере в общей локальной подсети с сервером-клиентом.Для этого виртуального сервера требуются следующие минимальные мощности:
- Количество виртуальных ядер ЦП = 1 или 2 для ОС + (2-4) для Сервера 1С + (2-8-16.) для СУБД SQL в зависимости от объема и количества баз данных
- Объем оперативной памяти = 1 или 2 ГБ для ОС + (2-4) ГБ для Сервера 1С + (2-4-8-16-32.) ГБ для СУБД SQL в зависимости от размера и количества баз данных
- Размер хранилища диска/HDD = 20-40 ГБ для ОС и приложений + (10-1000) ГБ в зависимости от размера и количества баз данных.
Для ОС и СУБД рекомендуется использовать самые быстрые диски.
------------ ОС – операционная система, например, Windows Server Здесь Сервер 1С - программное обеспечение "Сервер "1С:Предприятие 8"
Типичными проблемами при развертывании и эксплуатации облачной инфраструктуры для 1С являются следующие:
- Неправильный выбор власти
- Неквалифицированная настройка служб виртуальной инфраструктуры.
- Недостаточное внимание тестированию работоспособности платформы 1С
Прежде всего необходимо исключить подкачку, для чего с помощью системы мониторинга необходимо убедиться в достаточности объема оперативной памяти для работы ВМ.
Кроме того, лучше разместить файл подкачки ОС, профили пользователей, файлы базы данных, файлы журнала транзакций (SQL) и tempDB (SQL) на дополнительных SSD-накопителях и установить для файла подкачки фиксированный размер.
На SQL-сервере необходимо отключить все ненужные службы, такие как службы полнотекстового поиска и интеграции, установить максимально возможный объем оперативной памяти, максимальное количество потоков (Maximum Worker Threads) и повышенный приоритет сервера (Boost Priority), установить ежедневную дефрагментацию индекса и обновление статистики, настроить автоматическое увеличение файла базы данных (не менее 200 МБ) и файла журнала (не менее 50 МБ), а также полную переиндексацию не реже одного раза в неделю.
При размещении серверов SQL и 1С:Предприятия на одной виртуальной машине необходимо включить протокол Shared Memory. При расчете необходимой мощности в облаке лучше выбирать минимальные начальные значения без запаса, поскольку тарификация почасовая, а мощность можно увеличить или уменьшить в любой момент. Такой подход позволяет существенно сэкономить ресурсы и деньги.
При этом необходимо протестировать и оценить работоспособность системы, для чего можно использовать, например, бесплатную Нагрузочные испытания Гилева и «1С:Корпоративный пакет инструментов» ( https://its.1c.ru/db/kip или http://v8.1c.ru/expert/etp.htm ).
С помощью тестов Гилева можно быстро и достаточно легко понять, насколько эффективно работает платформа 1С, как те или иные настройки влияют на ее производительность, а также найти и устранить узкие места инфраструктуры.
Для более детального анализа нагрузки и поиска узких мест рекомендуется использовать утилиту Process Explorer Марка Русиновича ( https://technet.microsoft.com/en-us/sysinternals/processexplorer ).
Следуя перечисленным выше рекомендациям, можно добиться увеличения производительности платформы 1С в облаке в 1,5–2 раза.
Квалифицированное размещение ИТ-услуг, в том числе 1С, на облачной платформе позволяет:
- Значительно сократить расходы
- Повышение уровня безопасности (доступ к данным, резервное копирование, антивирусная защита и т. д.) и обслуживание
- Обеспечить централизованное администрирование и мониторинг.
- Организуйте эффективную и безопасную удаленную работу
- Воспользуйтесь преимуществами гибкого масштабирования, лицензирования и оперативного перехода на необходимые версии конфигураций 1С.
ЧЕК-ЛИСТ ПО ОПТИМИЗАЦИИ ИНФРАСТРУКТУРЫ 1С С MS SQL
1. Включить возможность мгновенной инициализации файлов (Мгновенная инициализация файлов базы данных)
Это позволяет ускорить такие операции, как:- Создание базы данных
- Добавляйте файлы, журналы или данные в существующую базу данных.
- Увеличение размера существующего файла (включая операции автоматического увеличения)
- Восстановление базы данных или файловой группы
- На компьютере, где будет создан файл резервной копии, откройте приложение «Локальная политика безопасности» (secpol.msc).
- Разверните узел «Локальные политики» на левой панели и нажмите «Назначить права пользователя».
- На правой панели дважды щелкните «Выполнить задачи по обслуживанию тома».
- Нажмите кнопку «Добавить» для пользователя или группы и добавьте сюда пользователя, под которым работает MS SQL Server.
- Нажмите Применить.
2. Включите опцию «Блокировать страницы в памяти».
Этот параметр определяет, какие учетные записи могут хранить данные в оперативной памяти, чтобы система не отправляла страницы данных в виртуальную память на диске, что может повысить производительность.
Подробности здесь Чтобы включить настройку:
- В меню «Пуск» выберите «Выполнить».
В поле «Открыть» введите gpedit.msc.
- В консоли редактора локальной групповой политики разверните Конфигурация компьютера, затем Конфигурация Windows.
- Разверните настройки безопасности и локальные политики.
- Выберите папку.
Назначьте права пользователя.
- Политики будут показаны на панели сведений.
- На этой панели дважды щелкните параметр «Блокировать страницы в памяти».
- В диалоговом окне «Параметры локальной безопасности — блокировать страницы в памяти» выберите «Добавить пользователя или группу».
- В диалоговом окне «Выбор: пользователи, учетные записи служб или группы» добавьте учетную запись, под которой вы запускаете службу MS SQL Server.
- Чтобы изменения вступили в силу, перезагрузите сервер или войдите под пользователем, под которым вы запускаете MS SQL Server.
3. Включите каталоги с файлами баз данных в правила исключения антивируса.
Если антивирус сканирует файлы базы данных, это может сильно замедлить работу СУБД.
Для опытных администраторов: антивирус на сервер СУБД лучше не устанавливать.
4. Включите каталоги с файлами баз данных в список исключений для системы автоматического копирования.
Если на сервере установлена система автоматического копирования файлов, то при копировании файлов базы данных это может привести к замедлению работы.
Копии базы данных необходимо делать с помощью самой СУБД.
5. Отключите механизм DFSS для дисков.
Механизм динамического планирования справедливого распределения отвечает за балансировку и распределение аппаратных ресурсов между пользователями.
Иногда его работа может негативно сказаться на работе 1С.
Чтобы отключить его только для дисков, вам необходимо:
- Найдите в реестре ветку HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TSFairShare\Disk.
- Установите значение параметра EnableFairShare равным 0.
6. Отключите сжатие данных для каталогов, содержащих файлы базы данных.
При включенном сжатии ОС попытается дополнительно обработать файлы при модификации, что замедлит сам процесс записи, но сэкономит место.
Чтобы отключить сжатие файлов в каталоге, необходимо:
- Открыть свойства каталога
- На вкладке «Общие» нажмите «Другое».
- Снимите флажок «Сжимать» содержимое, чтобы сэкономить место на диске.
7. Установите для параметра Макс.
степень параллелизма значение 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».
Этот флаг позволяет повысить приоритет процесса MS SQL Server над другими процессами.
Включать флаг имеет смысл только в том случае, если на компьютере с сервером СУБД не установлен сервер 1С.
Для установки флага вам необходимо:
- Запустите Management Studio и подключитесь к нужному серверу.
- Откройте свойства сервера и выберите вкладку «Процессоры».
- Включите флаг «Повысить приоритет SQL Server» и нажмите «ОК».
10. Установите автоматический размер файлов базы данных.
Autogrow позволяет указать величину, на которую будет увеличен размер файла базы данных при его заполнении.
Если вы установите слишком маленький размер авторасширения, файл будет расширяться слишком часто, что займет время.
Рекомендуется установить значение от 512 МБ до 5 ГБ.
Чтобы установить размер автоматического расширения:
- Запустите Management Studio и подключитесь к нужному серверу.
- Откройте свойства нужной базы данных и выберите вкладку Файлы.
- Напротив каждого файла в графе Автоувеличение поставьте необходимое значение
Если вы хотите, чтобы этот параметр применялся ко всем базам данных, вам необходимо выполнить те же действия для базы данных службы модели.
После этого все вновь созданные базы данных будут иметь те же настройки, что и модельная база данных.
11. Разместите файлы данных mdf и файлы журналов ldf на разные физические диски.
В этом случае работа с файлами может идти не последовательно, а практически параллельно, что увеличивает скорость дисковых операций.
Лучше всего для этих целей подходят SSD-накопители.
Для передачи файлов вам необходимо:
- Запустите Management Studio и подключитесь к нужному серверу.
- Откройте свойства нужной базы данных и выберите вкладку Файлы.
- Запоминайте имена и местоположения файлов
- Отсоедините базу данных, выбрав Задачи – Отсоединить через контекстное меню.
- Установите флажок «Удалить соединения» и нажмите «ОК».
- Откройте проводник и переместите файл данных и файл журнала на нужный носитель.
- В Management Studio откройте контекстное меню сервера и выберите «Прикрепить базу данных».
- Нажмите кнопку «Добавить» и укажите mdf-файл с нового диска.
- В нижнем окне информации о базе данных в строке с файлом журнала нужно указать новый путь к файлу журнала транзакций и нажать ОК.
12. Переместите файлы базы данных TempDB на отдельный диск.
Утилита TempDB используется всеми серверными базами данных для хранения, промежуточных вычислений, временных таблиц, версий строк при использовании RCSI и многого другого.
Обычно обращений к этой базе данных очень много, и если она расположена на медленных дисках, это может замедлить работу системы.
Базу данных TempDB рекомендуется хранить на отдельном диске для повышения производительности системы.
Чтобы перенести базу данных TempDB на отдельный диск необходимо:
- Запустите Management Studio и подключитесь к нужному серверу.
- Создайте окно запроса и запустите скрипт:
ЕГ? мастер ИДТИ ИЗМЕНИТЬ БАЗУ ДАННЫХ tempdb ИЗМЕНИТЬ ФАЙЛ (ИМЯ = tempdev, ИМЯ ФАЙЛА = 'New_Disk:\New_Directory\tempdb.mdf') ИДТИ ИЗМЕНИТЬ БАЗУ ДАННЫХ tempdb ИЗМЕНИТЬ ФАЙЛ (ИМЯ = templog, ИМЯ ФАЙЛА = 'New_Disk:\New_Directory\templog.ldf') ИДТИ |
- Перезапустите MS SQL-сервер.
13. Включите общую память, если сервер 1С находится на том же компьютере, что и сервер СУБД.
Протокол общей памяти позволит приложениям взаимодействовать через ОЗУ, а не через протокол TCP/IP. Чтобы включить общую память, вам необходимо:
- Запустите диспетчер конфигурации SQL Server.
- Перейдите в SQL Native Client – Клиентские протоколы – Общая память – Включено.
- Установите значение Да и нажмите ОК.
14. Перезапустите службу MS SQL Server.
Внимание! Когда все настройки будут выполнены, необходимо перезапустить службу MS SQL Server. Теги: #Системное администрирование #Администрирование серверов #1с #ms sql #Администрирование MS SQL #Настройка 1С #Повышение производительности 1С #1С в облаке-
Использование Раскадровки
19 Oct, 24 -
Vim, А Не Ide
19 Oct, 24 -
Проверка Простоты Регулярных Выражений
19 Oct, 24