Диета и питание        14.01.2022   

Пошаговая настройка sql под 1с. Установка клиентской программы

Путем проб и ошибок, путем тестирования на 200+ живых пользователей, консультаций с десятками Гуру и поиска по сотням официальных и не очень сайтов был разработан оптимальный вариант настроек MS SQL для круглосуточной работы более, чем 200 пользователей одновременно.

1. Настройка сервера

Во-первых нам нужен только сервер, остальные службы, которые к нему относятся и возможно кто-то ими пользуется, нам только тормозят работу. Останавливаем и отключаем такие службы, как FullText Search (у 1С собственный механизм полнотекстового поиска), Integration Services и иже с ними.

Оставляем только:

SQL Server (sqlservr.exe)

SQL Server Agent (SQLAGENT.exe)

SQL Writer (sqlwriter.exe)

Максимально отведенное серверу количество памяти из расчета:

[Общее количество оперативной памяти сервера] - - Например если у нас на сервере всего 36 ГБ оперативной памяти, стоит Windows 2008 и запущено 8 процессов rphost то рассчет идет так: 36 - 4 - 1.5*8 = 20 ГБ ставим ограничение для SQL.

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

Максимальное количество потоков (Maximum worker threads) ставим 2048, по умолчанию стоит 0 и с таким значением сервер не создает больше 255 потоков, а этого ему не хватает (установлено опытным путем, что при большом количестве одновременных транзакций сервер реально начинает быстрее работать). Также выставляем галку повышенного приоритета сервера (Boost priority ).

Собственно с глобальными настройками все. Теперь переходим к настройкам рабочей базы данных (или нескольких баз, если такое имеет место быть).

2. Настройка рабочей базы данных

Заходим в свойства нужной нам базы данных:

Если база еще не развернута из.dt файла, и вы знаете примерный ее размер, то первичному файлу размер инициализации лучше сразу указать >= размера базы, но это дело вкуса, он все равно вырастет при развертке. А вот Автоувеличение размера надо обязательно указать примерно по 200 МБ на базу и по 50 МБ на лог, т.к. значения по умолчанию - рост по 1МБ и по 10% очень сильно тормозят работу сервера, когда ему при каждой 3й транзакции надо файл увеличивать. Также, если не используетет RAID массив, то хранение файла базы и файла лога лучше указать на разных физических дисках. Ну и ограничить лог 2-4 ГБ, чтоб сильно не пух.

Остальные настройки как на скришоте:

С настройками базы все. Осталось настроить регламентные задания.

3. Настройка регламентных заданий

Сначала создаем Maintenance Plan в разделе Management:

Дефрагментацию индексов и сбор статистики нужно производить ежедневно, т.к. если фрагментированость индексов > 25%, это резко снижает производительность сервера. Дефрагментация и обновление статистики делается быстро и не требует отключения пользователей. Насколько ваши индексы фрагментированы можно посмотреть очень хорошей и многофункциональной обработкой Гилева Вячаслава, с названием Lock1C.epf, и которую он убрал со своего сайта из-за наезда 1С-ников за нарушение какого-то пункта лицензионного с., но хорошему админу гугл всегда в помощь J . Также желательно делать полную переиндексацию, с блокировкой БД, хотя бы раз в неделю, естественно после полной переиндексации сразу же делается дефрагментация индексов и обновление статистики.

Настройка бэкапа средствами SQL.

Ту все просто, добавляем 2 новых задания Agent"у:

Full BackUp, с периодичностью 1 раз в сутки и 2мя шагами T-SQL скриптов:

1. BACKUP DATABASE [< ИмяБД>] TO DISK = N"< ПутьКПапке>Backup< ИмяБД>.bak" WITH NOFORMAT, INIT, NAME = N"< ИмяБД>-Full Database Backup", SKIP, NOREWIND, NOUNLOAD, STATS = 10

2. USE [< ИмяБД> ]

DBCC SHRINKFILE (N"< ИмяБД>_log" , 0)

И второе задание с периодичностью 1 раз в 1-2 часа Differencial BackUp и с одним T-SQL скриптом:

BACKUP DATABASE [< ИмяБД>] TO DISK = N"< ПутьКПапке>Backup< ИмяБД>Diff.bak" WITH DIFFERENTIAL , NOFORMAT, INIT, NAME = N"< ИмяБД>-Differential Database Backup", SKIP, NOREWIND, NOUNLOAD, STATS = 10

Такой бэкап делается, даже при активной работе пользователей, 4-6 минут и практически не сказывается на быстродействии сервера.

Да, и добавим очистку процедурного после переиндексации (раз в неделю), в задание, кторое у же появилось в агенте после сохранения Maintenance Plan добавляем еще один шаг:

DBCC FREEPROCCACHE

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

Вот, собственно, и все. По поводу бэкапа средствами 1С: http://infostart.ru/public/65849/ - Full BackUp и выгрузку 1С можно делать одновременно.

Преимущества использования 1С:Предприятие на основе Microsoft SQL Server

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

Вы можете использовать в разговоре с техническими специалистами следующие аргументы в пользу SQL Server:

  • Более высокая производительность за счет использования индексирования и секционирования таблиц в СУБД
  • Автоматическое задействование аппаратных ресурсов по мере роста нагрузки, параллельное выполнение запросов
  • Рациональное использование дискового пространства за счет возможности сжатия данных в базе SQL Server до 50% от исходного объема - реже требуется приобретение новых носителей по мере роста объемов хранимых данных
  • Более высокая степень надежности за счет технологий обеспечения отказоустойчивости и резервного копирования данных в SQL Server.

Дополнительная информация:

SQL Server продолжает развиваться: благодаря новой информационной платформе, оптимизированной для работы в облачных средах, выбор возможностей для работы с данными становится всё шире. Теперь есть все необходимые инструменты для проведения глубокого анализа данных и использования облачных решений в индивидуальных нуждах различных компаний.

SQL Server 2014 упрощает и делает более экономичной разработку высокоэффективных приложений для критически важных задач, корпоративных активов с большими данными и решений для бизнес-аналитики, благодаря чему сотрудники могут быстрее принимать обоснованные решения. Эти продукты можно развертывать как локально, так и в облаке, а также в гибридной среде. Управление ими осуществляется при помощи знакомого набора средств.

Критически важная производительность

SQL Server 2014 ускоряет работу критически важных приложений за счет новой технологии обработки в памяти OLTP, обеспечивающей повышение производительности в 10 раз в среднем и в 30 раз при обработке транзакций. Что касается хранения данных, новое обновляемое хранилище столбцов данных в памяти обрабатывает запросы в 100 раз быстрее, чем традиционные решения. Уже 5 лет подряд SQL Server подтверждает свой статус самой безопасной базы данных. (Всесторонняя база данных уязвимостей, составленная Национальным институтом стандартов и технологий 17 апреля 2013 г., доля рынка из исследования IDC за 2013 г.)

Быстрое получение результатов анализа любых данных

Получайте результаты анализа быстрее благодаря платформе бизнес-аналитики, которая ускоряет доступ, анализ, очистку и формирование внутренних и внешних данных. SQL Server 2014 и Power BI для Office 365 упрощают доступ пользователей к необходимым данным, что позволяет им быстрее принимать обоснованные решения.

Платформа для гибридного облака

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

Документация по продукту SQL Server 2014:
http://msdn.microsoft.com/ru-ru/library/dd631854(v=sql.10).aspx

Требования к оборудованию и программному обеспечению для установки SQL Server 2014.

Рассмотрим вопросы установки и настройки MS SQL Server для 1С.

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

В зависимости от этого можно обозначить следующие варианты:

  • Вариант 1. Предприятие, с количеством операций в день до 500;
  • Вариант 2. Предприятие, с количеством операций в день более 500, но в основном не интерактивных (загрузка платежей из Интернета и банк-клиента, загрузка заказов из Интернет-магазина, автоматическое формирование складских и транспортных операций и т.д.);
  • Вариант 3. Предприятие, с количеством операций в день более 500, большинство из которых являются интерактивными, т.е. инициируются и оформляются пользователями.

Для первых двух вариантов MS SQL Server можно устанавливать на том же сервере, где установлен 1С, что особенно актуально, скорее, для второго варианта при условии соблюдения требований по «железу». А вот в третьем случае MS SQL Server нужно устанавливать только на отдельный сервер.

Рассмотрим характеристики «железа» для всех трех случаев

В случае установки на отдельный сервер:

Процессор

  • Вариант 1. Не ниже 1.8 ГГц (желательно 2-х ядерный)
  • Вариант 2. Не ниже 2х2ГГц с числом ядер не менее 2-х
  • Вариант 3. Не ниже 4х3ГГц с числом ядер не менее 4-х
  • Вариант 1. Не менее 8 ГБ
  • Вариант 2. Не менее 32 ГБ
  • Вариант 3. Не менее 128 ГБ

Дисковая подсистема

  • Вариант 1. SAS не менее 120 ГБ
  • Вариант 2. SAS не менее 500 ГБ (желательно SSD)
  • Вариант 3. SAS не менее 1 ТБ (рекомендуется SSD)

Сетевое подключение

  • Вариант 1. Не менее 1 Гб/сек
  • Вариант 2. Не менее 1 Гб/сек (желательно оптика)
  • Вариант 3. Не менее 1 Гб/сек (рекомендуется оптика)

В случае совместной установки с сервером 1С Предприятия:

Процессор

  • Вариант 1. Не ниже 2х2ГГц с числом ядер не менее 2-х
  • Вариант 2. Не ниже 4х3ГГц с числом ядер не менее 4-х
  • Вариант 1. Не менее 32 ГБ
  • Вариант 2. Не менее 128 ГБ
  • Вариант 3. Категорически запрещено так делать

Дисковая подсистема

  • Вариант 1. SAS не менее 500 ГБ (желательно SSD)
  • Вариант 2. SSD не менее 1 ТБ
  • Вариант 3. Категорически запрещено так делать

Сетевое подключение

  • Вариант 1. Желательно 1 Гб/сек
  • Вариант 2. Желательно 1 Гб/сек
  • Вариант 3. Категорически запрещено так делать

Следует учесть, что это минимальные требования для комфортной работы. Более точные параметры подбираются исходя из конкретной ситуации, руководствуясь основными потребностями MS SQL Server для 1С в дисковой подсистеме и объемом оперативной памяти.

Теперь перейдем непосредственно к процессу установки MS SQL Server для 1С в варианте MS SQL Server 2014 на операционную систему MS Windows Server 2012

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

Запустить установку MS SQL Server для 1С под администратором.


В открывшемся окне на правой панели выбираем «Установка».


Начнется установка MS SQL Server для 1С. В ходе установки вас попросят ввести ключ продукта и ознакомиться с условиями лицензирования. После этого необходимо выбрать роль сервера, выбрав «Установка компонентов MS SQL Server».


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



Ничего не меняйте, т.е. жмите «Далее», пока не возникнет окно «Настройка компонента Database Engine». В этом окне на первой закладке укажите пользователя «sa» и задайте его пароль (можно назначить и пользователя Windows, но более безопасным считается пользователь «sa»).


На двух других закладках можно настроить новые каталоги для хранения пользовательских БД (но лучше не менять).

Теперь вы установили MS SQL Server для 1С

«Откроем» наш MS SQL Server для 1С. Для этого переходим в приложения и находим там SQL Server 2014 Management Studio.



После того, как подключились, слева в дереве выбираем «Безопасность», а в нем – «Имена входа». Нажав правую кнопку мыши, выбираем в подменю «Создать имя входа». В открывшейся форме указываем имя пользователя и его пароль (запомните этот пароль и этого пользователя, т.к. именно его вы будете указывать при подключении баз из сервера 1С).



Переходим к «Защищаемые объекты» и устанавливаем право на соединение с SQL, как на рисунке.


Жмем на «Ок». Установка MS SQL Server для 1С и его настройка завершена.

Переходим к подключению базы 1С на сервере 1С

Запускаем консоль администрирования серверов «1С:Предприятие».


Открывшийся диалог заполнить, как это показано на рисунке. <Имя базы на латинице> - укажите имя своей базы. <Имя компа MS SQL Server> - укажите имя компьютера, на который вы ранее установили MS SQL Server для 1С.


Жмем на «Ок». База подключена.

Можно подключить базу прямо из диалога подключения базы 1С.

Для этого запускаем диалог открытия баз 1С и жмем кнопку «Добавить».


В появившемся окне, выбираем «Создание новой информационной базы».


В следующем окне выбираем нужный шаблон в дереве или указываем «Создание новой базы без конфигурации…».

В следующем окне задаем имя базы и указываем, что она будет на сервере «1С:Предприятие».


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


Оптимизация SQL под 1С завершена. Можно запускать и работать.

  • Количества данных, хранящихся в БД;
  • Отношения количества запросов на чтение к запросам на запись;
  • Наличия других процессов, использующих ресурсы.
  • На производительность сервера существенно могут настройки, управляющие , дисков, и т.п.

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

    В BIOS сервера отключаем все настройки по экономии электропитания процессора.

    Если есть «C1E» — обязательно ОТКЛЮЧАЕМ!!

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

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

    Обратите внимание , что такие настройки популярны, но бывают исключения, когда вендоры реализуют обозначенные выше настройки и механизмы работы иначе, и тогда может потребоваться не выключать, а включать какие-то пункты, связанные с EIST, SpeedStep и Turbo Boost.

    Не забываем и также и про настройки схемы в операционной системе.

    В конечном итоге надо не ориентироваться на названия этих пунктов, а на итоговые максимальные частоты процессоров. Можно контролировать их утилитой CPU-Z. Приведём пример:

    вот снимок системы на базе процессора i7-4770, тактовой частотой 3.4 ГГц (о чём в явном виде написано в поле Specification: @3.40Ghz). В группе Clocks (Core #0) в пункте Multiplier (множитель) указан весь допустимый для данного процессора диапазон множителей: от 8 до 39. 8 – это состояние покоя, а 39 – это максимально возможный множитель при загрузке одного ядра. Если умножить значение множителя на написанную ниже частоту шины (Bus Speed), в данном случае 99.76 МГц, то получится текущая тактовая частота (Core Speed). В данном случае, 99.76*27 примерно равно 2693.57 МГц. Как видим, это ниже даже паспортной тактовой частоты.
    Допустим, мы проделали некоторый набор изменений, и хотим увидеть разницу. Заходим сюда же, и видим искомый максимальный множитель:

    Но не спешим радоваться, на снимке всего лишь моментально зафиксированная частота одного из ядер. А как обстоит ситуация на остальных ядрах? В новых версиях CPU-Z появилась возможность наблюдать множитель и частоту по всем имеющимся ядрам (меню Tools – Clocks)

    Заходим туда, и видим, что не на всех ядрах множитель максимальный, некоторые ядра «сачкуют»!

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

    Вот теперь уже можно со спокойной совестью запускать тест TPC и смотреть там улучшение результата.

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

    Для управления под линуксом отправляем к документации редхат .

    Убедитесь что после настройки схемы энергоснабжения процессор работает на нужной максимальной частоте, заявленной производителем. Для этого посмотрите с помощью утилиты cpu-z на core speed .

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

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

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

    Для настройки протокола воспользуйтесь статьей

    Наши «рекомендуемые практики», полученные на основе опыта выполненных проектов

    Очень многие проекты выполнены нами с помощью MS SQL Server 2008 R2.


    Материал статьи можно обсудить на форуме

    ЕСЛИ ВЫ ВЫПОЛНИЛИ ВСЕ НАСТРОЙКИ И НЕ СМОГЛИ ДОСТИЧЬ НУЖНОЙ ПРОИЗВОДИТЕЛЬНОСТИ, ТО

    Для понимания нижеописанного необходимо разъяснить два понятия:

    • Клиент – персональный компьютер или программное обеспечение, единица сети, генерирующая запросы к серверу с целью получения или обработки каких-либо данных;
    • Сервер – мощный компьютер со значительными производственными возможностями или программное обеспечение, формирующий ответы на запросы клиента.

    Клиент-серверная архитектура предполагает взаимодействие клиентского приложения с сервером информационных баз данных посредством специального приложения – сервера 1С:Предприятия.

    Установка MSSQL на серверную машину описывается во многих руководствах с возможной вариативностью в зависимости от SQL-версии и версии серверной операционной системы.


    1. В имеющемся дистрибутиве необходимо запустить файл установки setup.exe (для продолжения потребуются Microsoft.NET Framework и операционный установщик Windows Installer, тоесть желательно чтобы он был установлен предварительно).

    2. Предлагается несколько вариантов дальнейшего развития событий: первичная установка, модификация уже установленных компонентов, обновление или их поиск. На этом этапе программа проверяет соответствие минимальным требованиям MSSQL к операционной системе:

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

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




    Переход к последующему шагу осуществляется при нажатии кнопки Next («Далее»).


    5. Получаем доступные обновления.

    6. Проходим проверку конфигурации (Warning MSCS пропускаем):


    7. Выбираем вариант целевого назначения установки:




    8. Выбираем компоненты, которые нам необходимы; можно выбрать все (Select All), но вообще для поставленной задачи достаточно основных, а именно для взаимодействия с сервером 1С необходимы только 3 (DatabaseEngineServices [рус.-Службы компонента DatabaseEngine], ClientToolsConnectivity [рус.- Средства связи клиентских средств], ManagementTool [рус.- Средства управления - полный набор]):




    9. Еще одна проверка установочной конфигурации:



    10. Детальный отчет. Если предварительно не установлен «Microsoft .NET Framework 3.5», то на данном этапе выдаст ошибку. Нажимаем кнопку «Next»:







    12. Проверка доступного пространства на выбранном диске:




    13. Настройки на последующих шагах рекомендуется оставить по умолчанию (хотя можно завести отдельного пользователя для MSSQL), переход осуществляется по кнопке Next (обратите внимание, чтобы загрузка SQL Service Agent (Агент Службы SQL) была установлена как автоматически):


    14. Еще один важный этап – выбор порядка сортировки (Collation). После инсталляции изменить крайне проблематично:




    15. В следующем шаге необходимо выбрать возможность смешанного варианта запуска, добавить пароль для пользователя "sa" и добавить текущего пользователя, который будет обладать правами администратора системы (кнопка «Add Current User»):