Alexander Speshilov (speshuric) wrote,
Alexander Speshilov
speshuric

Category:

Планирование серверной подсистемы для 1С8 в клиент-серверном варианте (MS SQL)

Применимость документа

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

  • Оценка нагрузки для «зарплатных» баз не может быть корректно дана без дополнительного анализа выполняемых задач. Слишком сильно характеристики оборудования зависят от структуры предприятия, количества сотрудников и способов начисления.
  • Решения, содержащие бухучет (БП, УПП, УТП) в целом менее масштабируемы из-за узкого места в части обработки итогов по субконто.
  • Розничные решения в 1С могут генерировать большие объёмы данных
  • Рекомендуется рассматривать приобретение совместных решений 1С и MS.
  • Не предполагается работа пользователей совместно с ресурсоёмкими средствами тестирования (полное снятие трассы MS SQL, технологический журнал 1С)
  • Предполагается что система предназначена для одной крупной СУБД. В ситуации когда используется большое количество небольших ИБ следует ориентироваться на общий размер и общее количество пользователей
  • Предполагается что сервера не заняты другой нагрузкой (другая нагрузка – контроллер домена, сервер печати, DNS, прокси-сервер, терминальный сервер, IIS, ISA и проч.)
  • Предполагается, что итоги рассчитываются ежемесячно и закрываются по измерениям.
  • Не учтены дополнительные серверы инфраструктуры (например web-сервер для 1С 8.2, серверы мониторинга и пр.)

Типы пользователей

В даанном документе пользователи делятся на следующие категории:

  • По активности:
    • Неактивные – открыли 1С, смотрят (может быть вводят) справочники, не формируют отчетов, просматривают списки документов
    • Операторы – интенсивно вводят данные (документы)
    • Аналитики – интенсивно формируют большие отчеты, но практически не меняют данные.
    • Обработчики – запускают ресурсоёмкие обработки по изменению данных.
    • Фоновые процессы – это тоже следует засчитывать как активных пользователей с соответствующим типом загрузки

Рекомендации по серверам предприятия.

  • Для небольшого количества пользователей (10-30) можно использовать 32-битную версию 1С. Для большего количества – 64-битную.
  • Если БД предназначена преимущественно для аналитиков (например, автоматическая загрузка данных), то следует использовать 64-битную версию.
  • Для УПП желательно использовать 64-битную версию.
  • Количество рабочих процессов сервера следует определять следующим образом:
    • Не более 4-6 процессов на сервер.
    • Не менее 1 процесса на каждые 50 пользователей.
    • Не более 1 процесса на каждые 10 пользователей (вне зависимости от прочих рекомендаций).
    • Примерно 1 процесс на ядро.
    • Примерно 1 процесс на каждые 2 ГБ для 32-битной версии.
    • Примерно 1 процесс на каждые 4 ГБ для 64-битной версии.
  • Количество рабочих серверов кластера следующим образом от характеристик системы
    • До 70-100 пользователей может использоваться 1 сервер.
    • Для более чем 70-100 пользователей требуется 1 сервер на каждые 50-60 пользователей.
  • Обычно сервер предприятия не предъявляет существенных требований к дисковой подсистеме, однако при интенсивной работе операторов возможна значительная нагрузка на диск, на котором находится журнал регистрации, поэтому желательно его разместить на RAID10 из 4 дисков (SAS, 10-15 krpm). В случае, если образуются значительные очереди к диску – следует увеличить количество дисков.
  • Памяти на серверах в сумме должно быть не менее, чем примерно 100 МБ на оператора и 250 МБ на аналитика/обработчика плюс 1-2 ГБ под системные задачи, плюс по 200 МБ на каждый рабочий процесс.
  • Учитывая вышеприведённые рекомендациии и текущие характеристики типовых серверов, можно рекомендовать, как базовые варианты сервера следующие конфигурации (с учетом рекомендаций по количеству серверов)
    • 1С-Эконом
      • Память 4-8 ГБ
      • Процессоры 2 шт. (1 шт. в «совсем эконом»)
      • Диски 4 шт 10-15 krpm 150 ГБ в RAID10 или в «совсем эконом» 2 SATA 1 ТБ в RAID1
      • ОС – 32 бит, 1С – 32 бит
      • 2-4 рабочих процесса
      • Примерно на 30-40 пользователей (15-30 – «совсем эконом»)
    • 1С-Классик
      • Память 8-16 ГБ
      • Процессоры 2 шт.
      • Диски 4-6 шт. 10-15 krpm 150 ГБ в RAID10
      • ОС – 64 бит, 1С – 64 бит
      • 4 рабочих процесса
      • Примерно на 50-70 пользователей.
    • 1С-Люкс
      • Память 16-32 ГБ
      • Процессоры 2 шт. [1]
      • Диски 6-10 шт 10-15 krpm 150 ГБ в RAID10
      • ОС – 64 бит, 1С – 64 бит
      • 4-6 рабочих процессов
      • Примерно на 70-100 пользователей.
  • Для совсем небольших систем (10-30 пользователей), может оказаться возможным совмещение сервера предприятия и сервера MS SQL, но в этом случае обязательно выполнение следующих условий:
    • выделение отдельного физического диска (или массива) для данных сервера 1С,
    • разграничить использование памяти MS SQL и 1C (для этого желательно использовать 1C 32-битную даже для 64-битной ОС)
    • добавить памяти по требованиям к 1С-предприятию к требованиям MS SQL (которые описаны ниже)

Рекомендации по серверам MS SQL

  • Для MS SQL Server на текущий момент следует использовать 64-битную версию, если нет особых причин (например приобретение в рамках совместного решения) использовать 32-битную версию.
  • Можно использовать версии 2005 (не ниже SP3), 2008, 2008 R2.
  • Для типовых решений 1С кроме редких случаев имеет смысл использовать редакцию Standard, хотя для больших БД (более 300 ГБ, более 60 пользователей) может потребоваться редакция Enterprise.
  • Дисковую подсистему необходимо планировать и конфигурировать в первую очередь под интенсивность операций, а не по размеру.
  • При большом количестве аналитиков или при повышенных требованиях к количеству отчетов желательно вынести их формирование в отдельную БД «только для чтения», которая периодически обновляется (например при помощи доставки журналов транзакций)
  • При количестве пользователей более 70 или при высокой критичности доступности данных (если требование к времени восстановления работы не более 1-2 часов) желательно держать резервный сервер достаточной (!) производительности одним из следующих способов:
    • Кластер MS SQL
    • Зеркальная БД (синхронное или асинхронное зеркало в зависимости от требований надёжности)
    • Доставка журналов транзакций
  • В небольших системах резервный сервер может располагаться на сервере 1С-предприятия.
  • Резервный сервер не отменяет необходимости корректно настроенного резервного копирования.
  • В качестве базовой оценки потребности памяти для типовых ИБ 1С можно использовать величину месячного прироста базы данных. Т.е. если база за месяц (от расчета итогов до следующего расчета итогов) вырастает на 10 ГБ, то имеет смысл устанавливать памяти 8-16 ГБ. Эта величина является достаточно условной и может быть как избыточной, так и недостаточной.
  • Рекомендуется организовать максимально быстрый низколатентный сетевой доступ между серверами 1С и сервером СУБД. В случае одного сервера 1С и одного сервера MS SQL имеет смысл создать физически выделенное сетевое соединение (например, просто патчкорд напрямую).
  • Нужно учесть, что современные типовые конфигурации 1С предъявляют достаточно высокие требования к tempdb
  • Базовые конфигурации серверов MS SQL
    • SQL-Эконом
      • Процессоры – 2 шт.
      • Память 8-16 ГБ
      • 8-12 дисков SAS 15 krpm 300 ГБ
        • 1 диск hot spare
        • RAID1/RAID5 – система+бэкапы
        • RAID1 – журналы транзакций
        • RAID10 (6 дисков) – данные+tempdb
      • Редакция ОС и SQL Standard
      • Количество пользователей – до 40-50
      • Размер БД до 100-150 ГБ
    • SQL-Классик
      • Процессоры – 2 шт.
      • Память 16-32 ГБ
      • Не менее 16 дисков SAS 15 krpm 300 ГБ или внешнее дисковое хранилище на 16-32 аналогичных диска (конфигурация индивидуальная)
      • Редакция ОС и SQL Standard, в редких случаях Enterprise
      • Количество пользователей – до 100-150 операторов
      • Размер БД до 200-400 ГБ
    • SQL-Люкс
      • Процессоры 2-4 шт.
      • Память 64 и более ГБ
      • Внешнее хранилише данных от 24-30 дисков и более (конфигурация сильно зависит от нагрузки).
      • Редакция ОС и SQL Enterprise
      • Количество пользователей – до 300 (может и выше, но потребуется очень индивидуальная настройка)
      • Размер БД – 500-1000 ГБ и более

Примеры организаций серверной подсистемы

  • Вариант до 30 пользователей
    • Применимость
      • Пользователей – до 20-30
      • Размер БД до 30-40 ГБ
      • Конфигурация 1С
        • Вариант 1: УТ или УТ+БП или УТП, возможно с ЗУП до 50 сотрудников.
        • Вариант 2: УПП на 10-20 пользователей
      • Не более 3-4 аналитиков, которые ответственно относятся к нагрузке, которую они создают.
    • Серверы:
      • Сервер SQL+1C («SQL-Эконом» с учетом совмещения)
        • 2 процессора
        • 8-16 ГБ памяти
        • 8-12 дисков SAS
      • Сервер резервный+хранение резервных копий
        • 1-2 процессора
        • 6-12 ГБ памяти
        • несколько дисков в RAID, возможно SATA достаточного объёма для хранения резервных копий
    • Примечания
      • Резервный сервер вводится в работу при необходимости вручную
      • Желательно, чтобы резервный сервер был физически в отдельном помещении от основного.
  • Вариант до 50 пользователей
    • Применимость
      • Пользователей
        • до 30-50 для УТ/БП
        • до 20-30 для УПП
    • Серверы:
      • Сервер SQL – «SQL-Эконом»
      • Сервер 1С - «1С-Эконом»/«1С-Совсем эконом»
        • 2 процессора
      • Сервер хранения резервных копий
        • 1 процессор (2 если используется аналитиками для «отчетной базы»)
        • Достаточный объём дискового пространства (RAID для повышения надёжности)
    • Примечания
      • При использовании конфигурации сервера 1С «Совсем эконом» он не может быть резервным сервером для SQL.
      • Сервер хранения резервных копий должен быть физически в отдельном помещении
  • Вариант до 70 пользователей
    • Применимость
      • Пользователей
        • до 50-70 для УТ/БП
        • до 30-45 для УПП
      • Возможно параллельное ведение до 100-300 сотрудников в ЗУП.
      • Аналитиков можно «выкинуть» на сервер хранения резервных копий
      • Размер БД – до 80-100 ГБ
    • Серверы
      • Сервер SQL – «SQL-Эконом»(максимальной конфигурации) или «SQL-Классик»
      • Сервер 1С «1С-Эконом»(максимальной конфигурации) или «1С-Классик»
      • Сервер хранения резервных копий и зеркальной БД
        • Процессоры 2 шт
        • Память – от 8 ГБ
        • Достаточный объём дискового пространства (RAID для повышения надёжности, например RAID5/RAID6)
    • Примечания
      • Сервер хранения резервных копий и зеркальной БД должен быть физически в отдельном помещении
  • Вариант до 100 пользователей без внешнего хранилища
    • Применимость
      • Пользователей
        • до 70-100 для УТ/БП
        • до 50-70 для УПП
      • Возможно параллельное ведение до 300-400 сотрудников в ЗУП.
      • Аналитиков нужно «выкинуть» на зеркальный сервер
      • Размер БД – до 100-160 ГБ
    • Серверы
      • Сервер SQL – «SQL-Классик»
      • Сервер 1С «1С-Классик»
      • Сервер SQL – «SQL-Классик» для хранения резервных копий и зеркальной БД
        • Достаточный объём дискового пространства на разделе резервных копий (RAID для повышения надёжности, например RAID5/RAID6)
    • Примечания
      • Резервирование SQL очевидно.
      • Резервирование сервера 1С обеспечивается серверами SQL
  • Вариант до 100 пользователей с внешним хранилищем
    • Применимость
      • Пользователей
        • до 100 для УТ/БП
        • до 80 для УПП
      • Возможно параллельное ведение до 300-400 сотрудников в ЗУП.
      • Аналитиков нужно «выкинуть» на зеркальный сервер
      • Размер БД – до 200-250 ГБ
    • Серверы
      • Сервер SQL – «SQL-Классик» с дисками только для системы и временного хранения резервных копий
      • Сервер 1С – как SQL
      • Дисковое хранилище на 16-24 дисков, подключенное к обоим серверам, на котором расположена БД
      • Сервер для хранения резервных копий - и зеркальной БД «1С-Классик» с дополнениями:
        • Достаточный объём дискового пространства на разделе резервных копий (RAID для повышения надёжности, например RAID5/RAID6)
        • Достаточный объём для развёртывания зеркальной БД
    • Примечания
      • Сервера 1С и SQL резервируют друг друга
      • Резервирование сервера 1С обеспечивается сервером хранения зеркальной БД
      • Возможна организация кластера SQL
  • Вариант – средняя система (от 150 до 300 пользователей)
    • Применимость
      • Пользователей до 150-300 в зависимости от конфигурации
      • Аналитиков нужно «выкинуть» на зеркальный сервер
      • Размер БД – до 200-300 ГБ
    • Серверы
      • 2 сервера «SQL-Классик» или 1 «SQL-Классик»+ 1 «SQL-Люкс».
        • Желательна Enterprise редакция серверов.
      • 2-4 «1С-Классик» или 2 «1С- Люкс»
      • Дисковое хранилище (16-32 диска)
      • 1 или 2 сервера «SQL-Классик»/«SQL-Эконом» с дисками для зеркальной БД
      • 1 сервер для хранения резервных копий
    • Примечания
      • Возможна и желательна организация кластера SQL
  • Вариант – крупная система (до 300-500 пользователей)
    • Применимость
      • Пользователей до 300-500 в зависимости от конфигурации
      • Система зеркальных серверов
      • Размер БД –более 300 ГБ
    • Серверы
      • 2 сервера «SQL-Люкс»
      • 4 и более серверов «1С-Классик» или «1С- Люкс»
      • Дисковое хранилище (32-80 дисков)
      • N серверов «SQL-Классик»/«SQL-Эконом» с дисками для зеркальной БД
      • Система серверов резервного копирования
    • Примечания
      • Желательна организация кластера SQL
[1] Для масштабирования по количеству процессоров гораздо дешевле приобретать дополнительные серверы, чем 4-процессорные серверы.
Tags:
Subscribe

  • Мои первые тесты внешних компонент в новой версии

    Решил посмотреть новую технологию. Заодно решить мелокобытовые задачи. В новой версии механизм внешних компонент стал гораздо более ограниченным по…

  • Паранойя

    Прямо сейчас. Сижу, ковыряю 1С 8.1, в фоне, пока одна обработка тестируется ковыряю 8.2... И вот такой вопрос возник: а это нормально, что внешние…

  • SQL и недостающие индексы.

    В MS SQL Server начиная с версии 2005 появилась отличная возможность - на уровне движка БД накапливается статистика по тем индексам, которые бы…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 13 comments

  • Мои первые тесты внешних компонент в новой версии

    Решил посмотреть новую технологию. Заодно решить мелокобытовые задачи. В новой версии механизм внешних компонент стал гораздо более ограниченным по…

  • Паранойя

    Прямо сейчас. Сижу, ковыряю 1С 8.1, в фоне, пока одна обработка тестируется ковыряю 8.2... И вот такой вопрос возник: а это нормально, что внешние…

  • SQL и недостающие индексы.

    В MS SQL Server начиная с версии 2005 появилась отличная возможность - на уровне движка БД накапливается статистика по тем индексам, которые бы…