Статьи

Как выбрать и настроить сервер для 1C Предприятие 8.3

Чтобы грамотно сконфигурировать сервер для 1С, нужно сначала разложить по полочкам планируемую вычислительную нагрузку. Система «1С: Предприятие 8» требовательна к ресурсам даже в том случае, если ее пользователей можно по пальцам пересчитать. Например, в небольших фирмах, использующих базовые конфигурации: «Управление торговлей», «Зарплата и Управление Персоналом», «Бухгалтерский учет». Но это касается и средних компаний, где применяют «Управление Производственным Предприятием» или устанавливают «1С: Предприятие 8.3. Сервер приложений». И для компаний, где больше 100 сотрудников работают с системой удаленно через Remote Desktop, вопрос ресурсов остается насущным. Во всех перечисленных случаях подбор сервера, полностью (или даже с избытком) отвечающего профилю нагрузки - лучший способ избежать традиционных для использования 1C проблем. 
Более 500 моделей серверов по самым лучшим ценам. Под любые задачи. Мы профессионально занимаемся этим направлением.

Выбор процессора и определение объема оперативной памяти для сервера 1С Предприятие 8.3

Выбор процессора и определение объема оперативной памяти для сервера 1С Предприятие 8.3
По моим наблюдениям, в компаниях, штат которых не превышает 10 сотрудников, а база 1 гигабайт, «1С: Предприятие 8.3» обычно устанавливается на пользовательском компьютере. И компьютер этот работает в режиме файлового сервера. Такая нагрузка вполне по силам процессорам Intel Core i3 и E3-12xx. А памяти оперативной нужно не менее 4 гигабайт (из них 2 гигабайта под ОС). Для таких задач идеально подойдет этот сервер
этот сервер

Средним компаниям, где 5 до 25 пользователей работают с базой до 4 гигабайт лучше всего подойдут четырехядерные Intel Xeon E3-12xx либо AMD Opteron 4ххх. По четыре гигабайта оперативной памяти хватит для подсистемы «Сервер приложений» и сервера базы данных MS SQL Server. Традиционно 2 гигабайта займет ОС. Получается около 10 гигабайт, из которых не менее трети рекомендуется отвести для кеширования базы данных. Посмотрите на конфигурацию
этого сервера

В средних и крупных компаниях (100-150 пользователей и БД от 1 гигабайта) с 1C обычно работают в терминальном режиме. При этом на сервере одновременно запускается и сама система, и пользовательское приложение. Опыт подсказывает, что серверные процессоры с упрощенной архитектурой начального уровня для таких задач не подходят. Для таких задач идеально подойдет этот
сервер


Стоит обратить внимание, что когда оперативной памяти недостаточно, ОС может выгрузить «1С: Предприятие 8.3. Сервер приложений» в файл подкачки (swap file). Нередко в таких ситуациях приложение может оказаться недоступным на какое-то время. Закономерный вывод – оперативной памяти всегда должно быть более, чем достаточно.

В средних и крупных компаниях (100-150 пользователей и БД от 1 гигабайта) с 1C обычно работают в терминальном режиме. При этом на сервере одновременно запускается и сама система, и пользовательское приложение. Опыт подсказывает, что серверные процессоры с упрощенной архитектурой начального уровня для таких задач не подходят.
Чтобы рассчитать требуемые для терминального доступа ресурсы, исхожу из того, что одно процессорное ядро продуктивно обслуживает около 10 пользовательских сессий. Для сеанса из 20 таких сессий будет вполне достаточно одного высокочастотного процессора, например, Intel Xeon E3-12xx. Одно его ядро будет задействовано сервером БД SQL Server, второе сервером приложений ««1С: Предприятие 8.3». Еще два займутся операционной системой и облуживанием терминальных пользователей. Если число пользователей перевалило за 20, а объем базы данных за 4 гигабайта, необходимы двухпроцессорные решения на Intel Xeon E5-26xx или AMD Opteron 62xx.

12 контрольных вопросов при обслуживании серверов

Теперь разберемся с необходимым объемом RAM:



Операционная система 2 гигабайта
Кэширование MS SQL Server >2 гигабайт
«1С: Предприятие 8.2. Сервер приложений» 4 гигабайта
Одна сессия терминального доступа к приложению «Бухгалтерский учет» 100-120 мегабайт
Одна сессия терминального доступа к приложению «Торговля и склад» 100-120 мегабайт
Одна сессия терминального доступа к приложению «Управление производственным предприятием»   100-120 мегабайт
Одна сессия терминального доступа к приложению «Зарплата и управление персоналом» 120-160 мегабайт
Приложения MS Office (Word, Excel, Outlook) от 400 мегабайт

















Получается, что сервер терминалов для 100 пользователей потребует: 
2 Гб+2 Гб+4 Гб (120 Мб+120 Мб+120 Мб+160 Мб)*100 Мб+ 400 Мб*100=17, 2 гигабайта оперативной памяти. Безусловно, тут лучше переборщить, чем недоборщить – оптимальным решением станут 24±4 гигабайта. 

Проектирование дисковой подсистемы сервера 1С Предприятие 8.3

Основная сложность работы с масштабными базами данных в 1С - это временная недоступность таблиц при обращении к ним множества пользователей. Решить эту проблему можно с помощью грамотного планирования дискового пространства. Для этого важно учитывать показатель IOPS (Input Output Operation per Second) – число возможных операций дисковой подсистемы за одну секунду. Во время пиковой нагрузки для базы объемом 300 мегабайт при одновременном доступе 3 пользователей IOPS может достигать 600 единиц (2000 IOPS для 15 пользователей, 7000 IOPS для 50 пользователей и 18000 IOPS для 100 пользователей). В норме нагрузка дисковой системы не превышает 20% от пиковой, но для расчетов критическое значение имеют именно показатели последней. 

Объектно-ориентированная система данных 1С использует пять потоков:
  • Таблицы баз данных
  • Индексные файлы.
  • Системная база для временных таблиц tempDB.
  • Лог-файл SQL.
  • Лог-файл приложений.

Определение нагрузки на дисковую подсистему сервера для 1С Предприятие 8.3

Подобрать процессор в соответствии с планируемой нагрузкой на диски с моделью доступа Random Read&Write можно с помощью диаграммы, в которой показатели чтения (read) и записи (write) измеряются в IOPS:


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

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

 

RAID 0

RAID 1 (or 10)

RAID 5

RAID 6

«Пенальти» на чтение

1

1

1

1

«Пенальти» на запись

1

2

4

6


Например, для RIID 5 из четырех дисков SATA со скоростью 7200 оборотов в минуту продуктивность рассчитывается так: (4*100 IOPS) / 4 = 100 IOPS. А для четырех таких же дисков в RAID 10, производительность будет равна 200 IOPS ((100 IOPS *4) / 2).
Таким образом, можно сделать вывод, что двух объединенных в RAID 1 HDD SATA 7200 серверу, скорее всего, не хватит. Для надежной работы и хранения базы данных оптимальным будет RAID 10.

Оптимизация нагрузки сервера 1С 8.3

Чтобы усилить возможности записи дисковой подсистемы на 30-90%, можно увеличить количество дисков в RAID, выполнить кеширование в режиме отложенной записи, использовать диски с более высокой скоростью и низким «пенальти».

Самыми высокоскоростными считаются RAID массивы из SSD на базе SAS контроллеров или PCIe. У них есть лишь два минуса – технологические ограничения производительности и относительно высокая стоимость. А бесспорными плюсами SSD являются возможность организации многоуровневого хранения данных и конфигурирования процессов ввода/вывода.

Базам данных объемом до 20 GB поможет гибридный RAID из SSD/HDD. А для масштабных БД с объемом более 200 GB лучший способ увеличить скорость операций до 50% – это SSD-кеширование с помощью специализированного ПО, например, LSI CacheCade 2.0.
Повысить производительность системы также можно с помощью переноса индексных и временных файлов TempDB за пределы общей СХД. Такие файлы часто читаемы, имеют небольшой объем, а их потеря не критична для БД. Поэтому я рекомендовал бы их хранить на двух отдельных SSD томах. Для этого можно использовать SATA-контроллер материнской платы. Для временных файлов оптимальным хранилищем станет зеркало RAID1.

Чтобы прибавить до 10% производительности системам, делающим серьезные расчеты, можно перенести временные файлы TempDB на RAM Drive. Однако если при перезагрузке сервера RAM Drive не начнет работу автоматически, производить ручной запуск придется администратору. В противном случае откажет вся система.

Полезно для быстродействия системы переносить log-файлы на отдельный физический диск, от которого не требуется высоких показателей IOPS. log-файлы постоянно создают множество небольших обращений на запись. В периоды пиковых нагрузок это существенно снижает производительность 1С. Обеспечить полную сохранность log-файлов может зеркало из доступных и вместительных SATA/NL SAS или SSD Intel 520-й серии.

Оптимальное размещение компонентов 1С на дисковой подсистеме будет примерно таким:

  Таблицы БД

  RAID 1 для малых БД

  RAID 10 для средних БД

  Серверные SSD с аппаратным RAID-контроллером;

  PCIe SSD для систем, требующих высоких показателей IOPS;

  Индексные файлы

  Одиночный SSD

  Временные файлы TempDB

  Один или два (RAID 1) SSD или RAM Drive

  Log-файлы

  Отдельный физический диск/RAID 1 либо логический диск на   RAID-массиве с ОС и пользовательскими файлами

  ОС и пользовательские файлы

  RAID 1 из HDD или SSD.

 


N.B. Для виртуализированной инфраструктуры сервер базы данных должен быть установлен на физический носитель. Таблицы, индексные и временные файлы должны быть подключены к виртуальной машине в монопольном режиме через Direct Access.  Это позволит выиграть до 35% общей производительности системы.

Выбор сетевого интерфейса

Для малых и средних предприятий самым экономичным с точки зрения сетевых операций будет Ethernet. При этом сервер базы данных SQL, сервер приложений «1С: Предприятие» могут находиться на одном физическом сервере. Этот же сервер может обслуживать пользовательские сессии удаленного доступа к 1С.

Описанная выше архитектура (исключающая Ethernet-цепочку SQL-сервер —> Сервер приложений 1С —> пользовательская сессия 1С) является оптимальной потому, что минимизирует временные затраты на упаковку/распаковку трафика. В системе 1С значительные объемы информации передаются по всей цепочке в обе стороны. Естественно, что прямая передача через оперативную память или виртуальный сетевой интерфейс существенно быстрее.

Такая архитектура является максимально эффективной, но не самой надежной. Повысить отказоустойчивость можно с помощью виртуализации и зеркалирования. Крупные базы данных с серьезной вычислительной нагрузкой часто используют несколько физических хостов. В таком случае рекомендуется связать все устройства по сети 10Gb Ethernet.

Небольшие базы, построенные на экономичных сетевых адаптерах 1 Gb, значительно теряют производительность на Ethernet-портах. Как правило, в таких решениях два или три встроенных порта GbE основаны на десктопных чипах. Передача данных через них задействует ресурсы процессора, RAM и внутренних шин.  Если таким образом построена виртуализированная система, производительность ее сетевого трафика может быть снижена на треть. При этом заметить, что сетевой интерфейс перегружен, весьма непросто. Нагрузка перераспределяется на центральный процессор или сетевую карту. Чтобы избежать снижения производительности и перегрузок системы, необходимо убрать порты десктопных чипов из потока данных. А еще лучше – интегрировать сетевую карту на серверном чипсете.

Способы повышения отказоустойчивости системы

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

Из аппаратных решений особенно важным является использование UPS, дополнительных блоков питания, корзин горячей замены и резервирования дисков. Но первое место в вопросах сохранности данных занимает их регулярное плановое резервирование. Сохранение БД как минимум один раз в сутки и создание файла Full SQL log позволит оперативно восстановить данные при повреждении системы.
Считается, на небольших предприятиях за месяц не должно быть больше двух сбоев в работе1С, а продолжительность нарушений не должна превышать четырех часов. Для быстрого восстановления нормальной работы системы нужны образы виртуальных и физических серверов в виде виртуальных машин на отдельном диске.

Более 500 моделей серверов по самым лучшим ценам. Под любые задачи. Мы профессионально занимаемся этим направлением.

Петр Чикорский
ведущий технический специалист компании Larga





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



Комментировать