Сервер для 1С: подбираем оптимальную конфигурацию

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

05.03.2019

Чтобы грамотно сконфигурировать сервер для 1С, нужно сначала разложить по полочкам планируемую вычислительную нагрузку. Система «1С: Предприятие 8» требовательна к ресурсам даже в том случае, если пользователей можно по пальцам пересчитать. Кстати, если вам нужен сервер для 1с - оставьте заявку, или звоните: 8 (812) 740-7828. Мы подберем для вас оптимальную для 2019 года конфигурацию.

сервер для 1с

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

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

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

Средним компаниям, где 5 до 25 пользователей работают с базой до 4 гигабайт лучше всего подойдут
четырехядерные Intel Xeon E3-12xx либо AMD Opteron 4ххх. По четыре гигабайта оперативной памяти хватит
для подсистемы «Сервер приложений» и сервера базы данных MS SQL Server. Традиционно 2 гигабайта
займет ОС. Получается около 10 гигабайт, из которых не менее трети рекомендуется отвести для
кеширования базы данных. С учётом рекомендаций производителей процессоров и постоянно
снижающейся цены за гигабайт памяти рекомендуем 16Гб памяти с коррекцией чётности.
В средних и крупных компаниях (100-150 пользователей и БД от 1 гигабайта) с 1C обычно работают в
терминальном режиме. При этом на сервере одновременно запускается и сама система, и пользовательское
приложение. Опыт подсказывает, что серверные процессоры начального уровня для таких задач не
подходят.

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

Чтобы рассчитать требуемые для терминального доступа ресурсы, исхожу из того, что одно процессорное
ядро продуктивно обслуживает до 10 пользовательских сессий. Для сеанса из 20 таких сессий будет вполне
достаточно одного высокочастотного процессора, например, Intel Xeon E3-12xx. Из-за особенностей кода
программы 1С четыре быстрых ядра будут работать эффективнее, чем восемь медленных. Если число
пользователей перевалило за 20, а объем базы данных за 4 гигабайта, необходимы двухпроцессорные
решения на Intel Xeon E5-26xx или AMD Opteron 62xx.

Теперь разберемся с необходимым объемом 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 гигабайта оперативной памяти.

Безусловно, тут лучше переборщить, чем недоборщить – оптимальным решением станут 32-64 гигабайта.

Проектирование дисковой подсистемы сервера 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

Параметр

Тип дисков

Desktop SATA 7200 rpm

Enterprise SATA \ SAS NL 7200 rpm

Enterprise SAS 15 000 rpm
(10 000 rpm)

Enterprise SATA SSD
 

Latency (время отклика диска на чтение/запись), микросекунды

4 160

4 160

2 000

40/50

Disk Reads/sec (количество операций чтения в секунду), IOPS

120-140

120-140

240-300

90 000

Disk Writes/sec (количество операций записи в секунду), IOPS

100-120

100-120

220-280

30 000

Таким образом, для всех дисков скорость записи уступает скорости чтения. При этом даже начальные модели 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.

Столь любимые ранее RAID 5 и 6 не имеют экономического смысла на небольших (до 10Тб) объёмах. С точки зрения надёжности многодневный ребилд RAID 5 и 6 не выдерживает вообще никакой критики.

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

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

Самыми высокоскоростными считаются RAID массивы из SSD на базе SAS контроллеров или PCIe. У них есть лишь два минуса – технологические ограничения совместимости и относительно высокая стоимость. А бесспорными плюсами SSD являются возможность организации многоуровневого хранения данных.
Современное отношение цена-объём у SSD таковы, что экономически выгодно использовать пару SSD объёмом до 1Тб в RAID1 для размещения нескольких логических разделов: системного, логов, кэша и баз 1С.

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

Таблицы БД

  RAID 1 для малых БД
  RAID 10 для средних БД
  Серверные SSD с аппаратным RAID-контроллером;
  PCIe SSD для систем, требующих высочайших показателей IOPS;

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

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

  Log-файлы

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

  ОС

  RAID 1  SSD.

Пользовательские файлы: документы, чистые базы, выгрузки и т.п.

RAID 1  HDD.

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С, а продолжительность нарушений не должна превышать четырех часов. Для быстрого восстановления нормальной работы системы нужны образы виртуальных и физических серверов в виде виртуальных машин на отдельном диске или сетевом накопителе.

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

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