Наилучшее сочетание для 1с 8.3 сервера. Решения. Дисковая подсистема и жесткие диски HDD

1С:Предприятие 8 может оказаться ресурсоемким приложением даже при небольшом количестве пользователей. Выбирая сервер под 1С, любой владелец хотел бы избежать «родовых травм» - заложенных в него потенциально узких мест. С другой стороны, сегодня мало кто покупает серверы избыточной мощности, «на вырост». Хорошо если профиль нагрузки удается снять заранее - тогда и проектировать сервер под конкретную конфигурацию приложений компании проще.

Для определенности, рассмотрим платформу «1С:Предприятие 8.2» в ее популярных базовых конфигурациях «Бухгалтерский учет», «Торговля и склад», «Зарплата и Управление Персоналом», «Управление Торговым Предприятием» и, отчасти, «Управление Производственным Предприятием». Исходим из того, что для предприятий с 10 и более сотрудниками, работающими в 1С, используется «1С:Предприятие 8.2. Сервер приложений». Учтем вариант работы в режиме удаленного рабочего стола (Remote Desktop), с количеством одновременных пользователей базы данных до 100-150. Рекомендации будут применимы и для более «тяжелых» БД 1С, но «тяжелые случаи» всегда требуют индивидуального подхода.

Процессоры и оперативная память

Если компания совсем маленькая (2-7 пользователей в системе), база невелика (до 1GB), а «1С:Предприятие 8.2» работает в файловом режиме на пользовательском компьютере, то мы получаем классическую реализацию файл-сервера. С такой задачей по нагрузке на CPU справится даже Intel Core i3, тем более Intel Xeon E3-12xx. Объем необходимой оперативной памяти (RAM) считается совсем просто: 2GB под операционную систему и 2GB под системный файловый кеш.

Если в компании 5-25 пользователей 1С, размер базы данных до 4GB, то приложению «1С:Предприятие 8.2» должно хватить 4-х ядерного Intel Xeon E3-12xx либо AMD Opteron 4ххх. Кроме 2GB оперативной памяти под ОС, необходимо выделить 1-4GB под «1С:Предприятие 8.2. Сервер приложений» и еще столько же под MS SQL Server в качестве кеша - итого 8-12GB RAM. Для небольших БД желательно кешировать в оперативной памяти не менее 30% БД, а лучше все 100%.

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

В компаниях побольше пользователи 1С обычно работают через удаленный доступ к приложению (Remote Desktop) - то есть в терминальном режиме. Как правило, при10-100 пользователях 1С с базой данных от 1GB и выше, «1С:Предприятие 8.2. Сервер приложений» и пользовательское приложение «1С:Предприятие 8.2» запускается на одном и том же сервере.

Для определения необходимых процессорных ресурсов исходят из того, что одно физическое ядро может эффективно обрабатывать не более 8 пользовательских потоков - это связано с внутренней архитектурой процессоров. Как показывает практика, под задачи 1С + Remote Desktop не стоит брать серверные процессоры младших линеек с низкими частотами расчетных ядер и урезанной архитектурой. Если пользователей немного (до 15-20), хватит одного процессора из высокочастотных Intel Xeon E3-12xx. При этом минимум одно его физическое ядро (2 потока) уйдет под нужды SQL Server, еще одно (2 потока) - под «1С:Предприятие 8.2. Сервер приложений», а оставшиеся 2 физических ядра (4 потока) - под ОС и терминальных пользователей. При количестве пользователей 1С более 20 или при объемах БД более 4GB пора переходить к 2-х процессорным системам на Intel Xeon E5-26xx или AMD Opteron 62xx.

Расчет нужного объема оперативной памяти относительно прост: 2GB надо отдать ОС, 2GB и больше - MS SQL Server в качестве кеша (не менее 30% БД) , 1-4GB - под «1С:Предприятие 8.2. Сервер приложений», остальной памяти сервера должно хватать под терминальные сессии. Один терминальный пользователь, в зависимости от конфигурации, потребляет в приложениях «Бухгалтерский учет», «Торговля и склад» - 100-120MB, «Зарплата и Управление Персоналом», «Управление Торговым Предприятием» - 120-160MB, «Управление Производственным Предприятием» - 180-240MB. Если пользователь запускает дополнительно на сервере MS Word, MS Excel, MS Outlook, то на каждое приложение надо выделить еще порядка 100MB. Как правило, минимум для сервера терминалов - 12GB RAM.

К примеру, для сервера 1С со всем пакетом ПО, 50 терминальными пользователями в конфигурации «Управление Торговым Предприятием», и базой данных в 8GB оптимальной будет вычислительная мощность двух процессоров Intel Xeon E5-2650 (8 ядер, 16 потоков, 2.0 GHz). Оперативной памяти понадобится минимум 2 (ОС) + 4(SQL) + 4(1C-сервер) + 8 (160 «УТП» * 50 пользователей) = 18GB, а лучше 24-32GB(6-8 каналов DIMM по 4GB).

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

Большинство жалоб на медленную работу серверов 1С:Предприятие 8 связано с непониманием, какие на них выполняются типы операций ввода-вывода, над какими данными и с какой интенсивностью. Зачастую, именно дисковая подсистема является ключом к обеспечению достаточной производительности сервера в целом - ведь для нагруженных БД самой большой проблемой является блокировка таблиц при одновременной работе с ними множества пользователей или при массовых загрузках/выгрузках/проводках. Мониторингу и оптимизации дисковой подсистемы сервера .

У 1С есть 5 потоков данных для дисковой подсистемы, с которыми она работает:

  • таблицы баз данных;
  • индексные файлы;
  • временные файлы tempDB;
  • log-файл SQL;
  • log-файл пользовательских приложений 1С.

Структура данных в 1С - объектно-ориентированная, со множеством объектов и связей между ними. Для работы с таблицами данных чрезвычайно важно количество операций чтения и записи, которые способна проделать дисковая подсистема за промежуток времени (Input Output Operation per Second, IOPS). При этом ее способность выдать высокую потоковую скорость передачи данных (в MBp/s) куда менее важна. Очень скромная база объемом 200-300MB с 3-5 пользователями может генерировать в пиках до 400-600 IOPS. База на 10-15 пользователей и объёмом в 400-800MB способна выдать 1500-2500 IOPS, 40-50 пользователей БД 2-4GB порождают5000-7500 IOPS, а базы под 80-100 пользователей легко достигают 12000-18000 IOPS.

Разумеется, средняя нагрузка на дисковую подсистему может составлять и 10-15%от пиковой. Только в реальности важна именно производительность в период пиковых нагрузок: автоматических загрузок данных из других систем, обмена данных распределённой системы или перепроведения периода.

Современные диски в операциях чтения и записи со случайным доступом (Random Read/Write) в одиночку справляются с такими нагрузками:

Intel 910 400 GB

2400 – 8600 IOPS

Хорошо видно, что:

  • узким местом и для HDD, и для SSD является запись;
  • традиционные HDD - не конкуренты SSD по скорости чтения в IOPS даже теоретически, разница превышает два порядка;
  • даже не самый современный десктопный SSD в 3-40 раз (в зависимости от конфигурирования) превосходит по скорости записи в IOPS любой HDD, серверный SSD - в 12-40 раз быстрее HDD;
  • максимальную производительность в IOPS дают PCIe SSD класса Intel 910 или LSI WarpDrive.

Одиночные диски в серверах БД не используются, только RAID-массивы. Для дальнейшего расчета реальной производительности дисковой подсистемы нужно учесть затраты («штраф») на запись в IOPS, которые несет дисковая группа в RAID:

Если собрать 6 дисков в RAID 10, то на каждую запись в 1 IOPS данных будет потрачено 2 IOPS физических дисков, а если в RAID 6 - то 6 IOPS дисков. Таким образом, при расчете нагрузочных возможностей дисковой группы на запись нужно вначале сложить IOPS всех дисков RAID-группы, а затем разделить их на «штраф».

Пример 1: 2 HDD SATA 7200 в RAID 1 обеспечат на запись: (100 IOPS *2) / 2 = 100 IOPS.

Пример 2: 4 SATA 7200 в RAID 5 обеспечат на запись: (100 IOPS *4) / 4 = 100 IOPS.

Пример 3: 4 SATA 7200 в RAID 10 обеспечат на запись: (100 IOPS *4) / 2 = 200 IOPS.

Примеры 2 и 3 наглядно демонстрируют, почему для хранения баз данных, у которых типовое распределение чтение/запись составляет 68/32, предпочтителен RAID 10.

Из данных трех таблиц понятно, по какой причине производительности типового «джентльменского набора» 2 HDD SATA 7200 в RAID 1 серверу недостаточно: при пиковых нагрузках растет очередь обращений к диску, пользователи ожидают ответа системы, иногда по многу часов.

Как увеличить производительность дисковой подсистемы на запись? Наращивают количество дисков в RAID-группе, переходят к дискам с большей скоростью вращения, выбирают уровень RAID c меньшим штрафом на запись. Хорошо помогает кеширование RAID-контроллером с включенным режимом отложенной записи Write back. Данные пишутся не напрямую на диски (как в режиме Write Through), а в кеш контроллера, и только затем, в пакетном режиме и упорядоченном виде - на диски. В зависимости от специфики задачи, производительность записи удается поднять на 30-100%.

Под слабо нагруженные или относительно небольшие БД (до 20GB) подойдет недорогой способ «добычи IOPS» - гибридный RAID из SSD/HDD . Большего и не нужно филиальной БД на 3-15 пользователей в распределённой структуре вроде сети кафе или СТО.

Для объемных (200GB и более) БД с длинным историческим шлейфом данных, либо для обслуживания нескольких объемных БД эффективным может оказаться SSD-кеширование (технологии LSI CacheCade 2.0 или Adaptec MaxCache 3.0). По опыту эксплуатации таких систем, именно в задачах 1С с их помощью можно относительно недорого и без существенных изменений в инфраструктуре хранения ускорить дисковые операции на 20-50%.

Чемпионом по быстродействию в IOPS предсказуемо являются RAID-массивы на серверных SSD - как традиционные, с использованием SAS RAID-контроллера, так и PCIe SSD. Мешают их популярности два ограничителя: технологический (производительность RAID- контроллеров или необходимость радикально ломать структуру хранения) и цена реализации.

Отдельно следует сказать о хранении индексных файлов и TempDB. Индексные файлы обновляются очень редко (обычно 1 раз в сутки), зато читаются очень и очень часто (IOPS). Таким данным просто необходимо храниться на SSD, c их показателями по чтению! TempDB, используемые для хранения временных данных, как правило, невелики по объему (1-4-12GB), зато очень требовательны к скорости записи. Индексные и временные файлы объединяет то, что их потеря не приводит к потере реальных данных. А значит, они могут размещаться на отдельном (еще лучше - на двух отдельных томах) SSD. Хотя бы и на бортовом контроллере SATA материнской платы. С точки зрения надежности и быстродействия, под TempDB желательно отдать зеркало (RAID1) из SSD, можно на бортовом контроллере, но с обязательным выключением всех кешей на запись. С этой ролью справятся и десктопные SSD - вроде Intel 520-серии, где аппаратная компрессия данных при записи в TempDB будет как раз уместной. Вынос этих задач с общей системы хранения на выделенную скоростную подсистему положительно сказывается на производительности системы в целом, особенно в моменты пиковых нагрузок.

В случаях, когда есть возможность обеспечить максимально быструю реакцию администраторов при сбоях, и когда имеются сложные расчетные задачи (складская или транспортная логистика, производство в УПП, объемные обмены в УРБД), TempDB выносят на RAMDrive. Такое решение позволяет выиграть иногда до 4-12% общей производительности системы. Некоторое неудобство возникает только в случае рестарта сервера: если автоматически RAMDrive не запустится, потребуется вмешательство администратора для ручного старта - иначе станет вся система.

Еще один важный компонент - log-файлы. Они имеют неприятную для любой дисковой подсистемы особенность - генерировать почти постоянный поток мелких обращений на запись. Это незаметно при средних нагрузках, но сильно ухудшает быстродействие сервера 1С при пиковых нагрузках. Разумно выносить log-файл (в особенности, log-файл SQL) на отдельный физический том, к которому нет высоких требований по IOPS, и на который будет идти практически линейная запись. Для спокойствия можно создать зеркало из недорогих и объемных SATA/NL SAS (для Full log), либо недорогих десктопных SSD все той же Intel 520-й серии (Simple log, или Full log, с ежедневным его Backup и очисткой).

В целом можно сказать, что приход SSD в серверы открыл новые возможности увеличения производительности массовых серверов - за счет многоуровневого хранения данных и разумного конфигурирования дискового ввода/вывода.

Дисковая подсистема «идеального сервера под 1С» выглядит так:

1. Таблицы базы данных размещены на RAID 10 (или RAID 1 для малых БД) из надежных серверных SSD с обязательным аппаратным RAID-контроллером. При высоких требованиях по IOPS можно рассмотреть вариант PCIe SSD. Для БД большого объема эффективно SSD-кеширование массивов HDD. Если используемая конфигурация 1С и структура данных не слишком требовательны к IOPS, а количество пользователей невелико - хватит традиционного массива из HDD SAS 15K rpm.

2. Индексные файлы вынесены на быстрый и недорогой одиночный SSD, TempDB - на 1-2 (RAID 1) SSD или RAMDrive.

3. Под log-файлы SQL (а желательно и 1С) отведен выделенный том (одиночный физический диск или RAID-1) на SATA/NL SAS HDD или недорогих SSD, либо логический диск на RAID-массиве, на котором расположена операционная система сервера и пользовательские файлы/папки.

4. Операционная система и пользовательские данные хранятся на RAID 1 из HDD или SSD.

Если IT-инфраструктура виртуализирована, крайне желательно, чтобы SQL Server был установлен не как виртуальная машина, а непосредственно на физический сервер, на «голое железо». Цена вопроса - от 15 до 35% производительности дисковой подсистемы (в зависимости от оборудования, драйверов, средств виртуализации и способов подключения тома). В виртуализированной среде SQL-сервера подключение томов с таблицами БД, индексными файлами и TempDB к VM обязательно в монопольном режиме по Direct Access.

Сетевые интерфейсы

При построении систем 1С:Предприятие 8 для малых и средних предприятий (до 100-150 активных пользователей одновременно) следует минимизировать потери на сетевых операциях через интерфейс Ethernet. В идеале - обслуживать и SQL Server, и «1С:Предприятие 8 Сервер приложений х64», и пользовательские сессии 1С в Remote Desktop одним физическим сервером. Спорная с точки зрения обеспечения отказоустойчивости, такая рекомендация позволяет выжать максимум из оборудования и ПО, а за счет применения виртуализации дает определенный уровень безопасности и «повторяемость среды» на другом оборудовании.

Зачем исключать Ethernet из цепочки SQL-сервер -> Сервер приложений 1С:Предприятие 8 -> пользовательская сессия 1С:Предприятие 8? Сетевой интерфейс Ethernet, с его упаковкой данных в относительно небольшие блоки для передачи, всегда будет создавать дополнительные задержки: и при упаковке/распаковке трафика, и при самой передаче (высокая латентность). В 1С:Предприятие 8 довольно большие массивы данных передаются для обработки и отображения по всей цепочке, в некоторых ситуациях - в обе стороны. При прямой же передаче данных от одного процесса другому в рамках оперативной памяти сервера (на одном сервере без виртуализации), или же через виртуальный сетевой интерфейс (в рамках все того же одного физического сервера, при хороших серверных сетевых адаптерах с переносом блоков RAM между VM) задержки намного ниже. Современные двухпроцессорные серверы с большой оперативной памятью и дисковой подсистемой на SSD позволяют комфортно обслужить БД 1С на 100-150 активных пользователей.

Если для нагруженных БД использование нескольких физических хостов неизбежно, желательно связать все серверы по 10Gb Ethernet. Или, как минимум, 2-4агрегированными соединениями 1Gb Ethernet с аппаратным ускорением TCP/IP (TCP/IP Offloader) и аппаратной поддержкой виртуализации.

Больше всего от потерь производительности на портах Ethernet страдают бюджетные решения. Не секрет, что сетевые адаптеры 1Gb, распаиваемые на большинстве серверных материнских плат, не предназначены для обслуживания интенсивного сетевого трафика. Даже если на плате есть 2 или 3 порта GbE, они, как правило, реализованы на десктопных чипах. Достаточные для управления, они порождают дополнительные накладные расходы по обслуживанию сетевых обменов, особенно в виртуализированной среде. Весь процесс передачи данных через такой чип обеспечивается за счет ресурсов процессора, оперативной памяти и нагрузки на внутренние шины. Никакого ускорения передачи IP-трафика такие чипы не дают, каждый принимаемый и передаваемый Ethernet-пакет требует отдельного прерывания на процессор. В виртуализированой среде потери производительности сетевого интерфейса могут достигать 25-30%. Самое неприятное, что перегрузки именно сетевого интерфейса средствами мониторинга можно и не заметить. За него отдувается центральный процессор, а если не работает, то простаивает в ожидании ответа от сетевой карты. Порты на десктопных чипах желательно исключить из потока данных в виртуализированных средах, оставив их под задачи управления сервером. Под интенсивный сетевой трафик стоит добавить дискретную сетевую карту на серверном чипсете.

Отказоустойчивость или допустимое время простоя?

Обсуждение производительности серверов почти всегда сопровождается спорами об их надежности. Обеспечение отказоустойчивости всегда требует дополнительных затрат, в особенности при поддержке непрерывных производственных процессов. Не принижая роли и места 1С, можно сказать, что большая частью ее пользователей дилемму «производительность/надежность» решает в разных плоскостях: за первую борются оптимизацией аппаратных решений, за вторую - организацией процессов и процедурами. Когда приложения умеренно критические, основное внимание в поддержании работоспособности уделяют не средствам индивидуальной защиты серверов, а минимизации простоя инфраструктуры в целом.

Разумеется, для предприятий с относительно большим количеством одновременно подключенных пользователей (25-150) и размещением всех приложений на одном сервере обязательно применение источников бесперебойного энергоснабжения, избыточных блоков питания самих серверов, корзин горячей замены дисков и RAID-массивов с горячим резервированием. Но никакие аппаратные средства не заменят планового резервирования самих данных. Имея ежедневный (точнее, еженощный) backup и оперативный файл с Full SQL log, можно полностью восстановить БД 1С за относительно короткий промежуток.

Допустимое время простоя центральной системы 1С для малых и средних предприятий - 1-2 аварии в месяц, продолжительностью 1-4 часа. На самом деле, это огромный запас времени - если к восстановлению быть готовыми заранее. Необходимым условием быстрого рестарта является наличие образов всех виртуальных и физических серверов в виде VM на отдельном хранилище/томе - для восстановления самой инфраструктурной части на резервном сервере. Обязателен ежедневный backup (а также еженедельный и по закрытию периода) на другое физическое устройство и Full SQL log для случаев, когда потеря данных «с начала рабочего дня» критична и трудно восстановима вручную. При наличии подменного оборудования можно уложиться в 1-2 часа для восстановления работоспособности в целом, пусть и с меньшей производительностью. Ну а там, где требуется непрерывность работы 24×7, первоочередными задачами будут выбор соответствующей архитектуры, оборудования с минимальным количеством точек отказа и полноценных технологий кластеризации. Но это уже совсем другая история.

Оригинал статьи: http://ko.com.ua/proektirovanie_servera_pod_1s_66779

С разрешения редактора журнала "Компьютерное обозрение"

Сервер для 1С

Крупные предприятия уже давно используют 1С в клиент-серверном режиме. А сегодня эта технология активно продвигается в средний и малый бизнес. Эта статья о том, какой должен быть сервер для 1С с небольшим количеством пользователей.

Начиная с какого количества пользователей нужен сервер для 1С?

Бесплатный PostgreSQL для 1С появился уже давно. А сравнительно недавно появилась такая замечательная позиция в прайсе 1С:

Мы уверенно рекомендуем использовать 1С в клиент-серверном режиме начиная с 3-5 пользователей. Файловый вариант остается для совсем небольших баз и если нет потребности работать в базе из дома, командировок, других офисов, если остаться без 1С в случае сбоя на пару дней совсем не страшно. Мы также считаем работу в RDP устаревшей технологией, которая годится только тогда, когда по каким-то причинам используется платформа старая (8.0 или 8.1) или платформа древняя, так и тянет написать "древнерусская" (7.7). Поэтому все, что написано ниже, относится к варианту "на сервере 1С установлена СУБД и сервер приложений 1С:Предприятие, работа ведется в тонком клиенте 8.2".

Покупать брендовый сервер или собрать самим, или заказать сборку поставщикам?

Если у вас до 10 пользователей, вполне в качестве сервера можно использовать обычный "домашний" компьютер с некоторыми изменениями. Вполне можно покупать его "по запчастям", и собирать самостоятельно. Если вы нормально разбираетесь в том, что такое термопаста, как защелкнуть разъем питания ATX, не сломав плату пополам, где на ней разъем для кулера, как от частоты памяти зависит быстродействие 1С (почти линейно при достаточных ресурсах) и почему не стоит втыкать жесткие диски вплотную друг к другу.

  • больше 15 пользователей
  • нет собственного суперсисадмина, знающего вообще все "про компьютеры"
  • бизнес приносит достаточно денег для того, чтобы их жалеть в случае остановки работы 1С

Небольшое уточнение. Под "брендом" мы понимаем IBM, HP и подобные им марки. Любые местные "интеграторы", собирающие силами вчерашних студентов компьютеры на базе серверной платформы Intel "под заказ", с конфигурацией, записанной со слов клиента, брендами не являются. Даже если этот сервер собран в корпусе для установки в стойку. Даже если ему на лицевую панель налепили красивую этикетку. Это самосбор, и у нас есть множество примеров, когда, скажем так, при подборе компонентов сборщики делают ошибки. Например, мы видели, как в серьезном сервере за более чем 300 000 рублей аппаратный RAID-контроллер конфликтовал с материнской платой, и выдавал 15% от заявленной пропускной способности. Видели мы и конфигурации с огромными перекосами, например машину с четырьмя Xeon и единственным дисковым массивом из двух дисков. Обращайтесь за покупкой сервера под 1С к тем, кто понимает, каким он должен быть.

Что важно, сегодня брендовый сервер, гарантированно работоспособный, проверенный и надежный, стоит дешевле самосбора с сопоставимыми характеристиками. Поэтому сэкономить, покупая самосборный сервер среднего уровня, скорее всего не получится. На сегодня самосбор имеет право на жизнь только в сегменте серверов на базе обычных ("настольных") компонентов, то есть, самого начального уровня, которые брендами практически не выпускаются.

Операционная система


Не устраивая священных войн, рекомендуем использовать Windows Server 2012. Это надежная, проверенная платформа для сервера 1С. Другие решения имеют право на жизнь, но, скажем, если вы решили поставить Ubuntu Server, рекомендации вам вряд ли нужны. Да и вряд ли помогут. Linux для 1С каждый раз уникален и общих рекомендаций дать невозможно.

Для серверов начального уровня вполне можно использовать десктопную Windows, например, Windows 7/8. Если вам не нужны Active Directory, RDS, и в качестве СУБД вы не будете использовать MS SQL Server. Нужно только иметь ввиду, что по умолчанию в Windows 7 Professional количество одновременных подключений по TCP не может превышать 20. В Windows 8 это ограничение сняли.

Память

Памяти должно хватать. Если поставить памяти больше, чем нужно, роста производительности не будет. Если поставить меньше, чем нужно, работа пользователей превратится в пытку. Расчет такой: минимум 2Гб под нужды операционки, от 2Гб под СУБД, от 4Гб под сервер 1С:Предприятия. Итого минимум 8Гб. Такого объема вполне хватит для работы 5-10 пользователей с одной базой. На скриншоте типичная картина распределения памяти при неспешной работе нескольких пользователей с одной небольшой базой:

Обратите внимание, как любит сервер приложений 1С (rphost.exe) память. Сразу же после открытия базы ему нужно около гигабайта. При напряженной работе, например, перепроведении документов за месяц, он вполне способен освоить 6Гб при одном-единственном активном подключении. Еще нужно иметь ввиду, что синяя полоска ("Ожидание") это не свободная память, а системный кэш. Вот та же система, в которой начали более-менее интенсивно работать:

У рабочего процесса 1С есть одна особенность. Как правило, он растет в одну сторону. Объем памяти, захваченный rphost.exe, в ходе рабочего дня постепенно растет и растет. Очень рекомендуем перезапускать агент сервера 1С каждую ночь, непосредственно перед выгрузкой бэкапов.

16Гб хватит для работы 20-30 пользователей с двумя-тремя базами. Обязательно нужно настроить максимальный выделяемый объем для сервера 1С:Предприятия (это делается в консоли администрирования) и для СУБД! Если этого не сделать, то, например, Postgree "из коробки" памяти будет использовать всего 200-300Мб. По умолчанию он "задушен". А вот сервер приложений 1С, наоборот, вполне может "съесть" все, сколько не дай.

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

Во-первых, даже на сервере начального уровня обязательно нужно разнести диск с системой и диск с базами. Далее, если позволяют финансы, добавляем третий диск для хранения большого объема данных (бэкапы и т.д.). Для Postgree обязательно создаем RAM-диск для временного размещения статистики.

Диск для системы вполне можно использовать не самый быстрый и не самый объемный. 500 Гб более чем достаточно.

Диск для баз однозначно SSD. Для баз 1С у обычных дисков и их массивов нет ни малейших преимуществ. При типичном размере базы среднего предприятия 2-3 Гб объема в 120Гб, как понимаете, вполне хватит. А быстродействие, при прочих равных, отличается в 10 и более раз. Ограничения по числу циклов перезаписи уже в прошлом, на сегодня SSD надежнее любого "механического" диска. Обязательно нужно брать SSD с технологией TRIM (дозапись кэша при отключении питания), и нужно внимательно смотреть на заявленную скорость записи, сейчас на рынке много разных вариантов.

Если простои баз и тем более восстановления вчерашней копии из архива недопустимы, нужно ставить RAID-контроллер и два диска в режиме "зеркало". Крайне не советуем использовать программные RAID-контроллеры. Только аппаратный.

Архивирование можно настроить средствами СУБД или написать командный файл, который будет запускаться планировщиком Windows и делать выгрузку баз из пакетного режима 1С:Предприятия. Это не очень важно. Важно, чтобы каждую ночь система автоматически делала архив, и записывала его на отдельный диск сервера. Система архивации, которая требует запуска вручную, является не системой архивации, а ерундой. После создания выгрузок баз очень рекомендуем заливать их в облачное хранилище. Это может быть Google Drive, Yandex Disk, Dropbox или ваш собственный ftp-ресурс. Главное, чтобы эти выгрузки хранились не в том же помещении, где стоит сервер. Почему? Потому что нормальный бизнес должен спокойно перенести все что угодно. Пожар, кражу со взломом, визит из органов с изъятием. Не дай бог конечно, но всякое бывает.

Если все, что можно, уже настроено, а руки чешутся сделать еще что-нибудь, можно перенаправить запись логов Postgree (если у вас он) на отдельный диск. Это даст небольшой, но вполне заметный прирост скорости при активных операциях с базой.

Блок питания и ИБП

Не экономьте на блоке питания. Никогда. На всем остальном можно экономить в разумных пределах, а блок питания для сервера должен быть идеальным. Сервер отличается от обычного компьютера в первую очередь тем, что включен постоянно. Двукратный запас по ваттам и производитель с именем (Thermaltake, Powerman, Enermax), вот наша рекомендация. ИБП (Источник Бесперебойного Питания) нужен для двух задач. Во-первых, при серьезных скачках напряжения, он должен дать возможность выжить блоку питания сервера, приняв удар на себя (или лучше на свой предохранитель). Во-вторых, он должен корректно выключить сервер при пропадании напряжения в сети. ИБП не должен и не может позволять работать без внешнего напряжения, это иллюзии. Даже 15 минут. Его задача - дать операционке сервера команду на выключение. Поэтому не подключенный и не настроенный ИБП является предметом интерьера, не более того.

Процессор

При работе 5 пользователей любой "настольный" процессор достаточно высокого класса, например четырехядерный Core i7 в среднем будет загружен на 5-7%. Процессор, как правило, не является узким местом. Он должен соответствовать остальным параметрам, не более того. Поэтому процессор лучше выбирать в последнюю очередь, из подходящих для выбранной системы. Цифровые характеристики (число ядер, размер кэша, частота) не являются определяющими. Например, свежие Core i5 обгоняют Core i7 предыдущего поколения.

В любом случае не стоит для сервера 1С покупать самый мощный и дорогой процессор, который доступен для выбранной платформы (материнской платы). Скорее, оптимальным будет вариант из середины списка, отсортированного по цене.

Программное обеспечение

Не нужно ставить на сервер антивирусное ПО. Это лишнее. Безопасность и отсутствие вирусов обеспечивается тремя правилами:

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

Не рекомендуем совмещать сервер 1С и файловый, почтовый, прокси и веб сервер. Эти задачи прекрасно решают специализированные устройства и сервисы. Например, роутер Zyxel Keenetic 4G и подобные ему прекрасно умеют раздавать интернет в сети, работать ftp- и файл-сервером. Веб-сервер небольшой и средней компании асболютно точно лучше перенести на VDS в датацентр. Почту туда же, или вообще на Google или Yandex почту для вашего домена.

Пара слов о виртуальных серверах

Безусловно, для hi-end серверных решений это очень востребованная технология. Однако, для предприятий среднего размера (20-50 пользователей) преимущества виртуализации далеко не очевидны, а для небольших компаний ничего кроме головной боли не дают. Во-первых, виртуализация серверов не бесплатна, и на нее тратятся ресурсы машины. Во-вторых, все преимущества "настройки производительности на лету" и "мобильности" разбиваются об кучу проблем с потерей программных лицензий 1С в случае любых изменений. В-третьих, делить-то по большому счету нечего (ресурсов немного), да и несколько серверов такому предприятию просто не нужны. Арендовать же виртуальный сервер в датацентре под 1С на сегодня рискуют очень немногие предприятия, да и в таком случае лучше не арендовать сервер, а подключиться к сервису "1С Онлайн".

Сколько стоит сервер для 1С?

На момент написания этой статьи примерная стоимость сервера:

    • от 30 000 рублей на 5-10 пользователей
    • от 60 000 рублей на 15-20 пользователей
    • от 90 000 рублей на 30-50 пользователей

При большем количестве пользователей уже становится необходимым разносить сервер СУБД и сервер приложений на разные физические машины.

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

Сервер для 1С - важный технический элемент при построении IT- инфраструктуры. Мы готовы продать серверное оборудование с отличной конфигурацией по адекватной стоимости, без огромных наценок. Только целесообразные конфигурации для решения ваших задач. Оставьте заявку и вы получите устройство, способное закрыть технические потребности организации.

Мы готовы предоставить серверное оборудование любой сложности с соответствующей требованиям конфигурацией. Есть удобная доставка. В Москве доступен самовывоз. В общем, если желаете приобрести, то достаточно просто позвонить, заполнить форму расчета либо написать на электронную почту. Мы предлагаем разнообразные комплектующие, варианты сборок, сделаем коммерческое предложение. Будем отталкиваться от бюджета и собирать максимально целесообразные серверы 1С.

Если пришли за информацией, то она расположена ниже. Мы постарались разместить полноценный материал, способный дать пусть и не исчерпывающий, но объемный ответ на вопрос. Предупреждаем сразу, сведения скорее о железе, чем о программном обеспечении.

  • Сервер 1С на 5-10 пользователей
  • Сервер 1С на 10-20 пользователей
  • Сервер 1С на 20-30 пользователей
  • Сервер 1С на 30-50 пользователей
  • Сервер 1С на 50-100 пользователей
  • Сервер 1С на 200+ пользователей

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

Любую сборку можно сконфигурировать индивидуально под ваши задачи!

Кстати, предварительные параметры можно выбрать в форме ниже. Это позволит специалистам быстрее сформировать коммерческое предложение.

Получить индивидуальный расчет сервера 1С:

Что такое сервер 1С?

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

Собственно, применяют сейчас комплекс повсеместно. Крупные организации, бюджетные учреждения, государственные. Причем не только в России, но и за рубежом.

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

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

Типы реализации

Большинство небольших организаций не покупает сервер для 1С. Не видят смысла в такой трате. Ведь достаточно развернуть комплекс на персональном компьютере, следом дать доступ другим ПК. Такой вариант называется «Файловый режим».

Он не способен обеспечить достойную работоспособность, подходит только для применения в локальной сети (конечно, удаленный доступ тоже доступен, но малоэффективен). При превышении числа одновременных обращений к базе выше 5, начинает серьезно тормозить. Периодически зависает. К тому же, ограничение на размер одной таблицы в базе составляет 4 ГБ, крупные компании, стоит сказать, столь объемные таблицы нередко делают. Конечно же, недостатком файлового режима является следующий фактор, чем выше объем базы данных, тем серьезнее требования к ресурсам «железа». К несчастью, если много сотрудников работает в этом ПО либо приходится создавать объемные таблицы, лучше выбрать другой способ реализации структуры ИТ.

И на помощь приходят системы управления DB , которые работают в клиент-серверном типе исполнения. Сервер 1С поддерживает следующие типы СУБД:

    MS SQL Server - СУБД, разработанная компанией Microsoft. Надежна, функциональна, но требуется ОС семейства Windows. Есть определенные недочеты: любит оперативную память, занимает ее полностью, потому, приходится выставлять ограничения вручную, периодически происходят утечки RAM при взаимодействии с табличными массивами.

    PostgreSQL - бесплатный дистрибутив. Местами медлительна, что доказано опытным путем. Подойдет для небольшого состава сотрудников, крупный штат может не вытянуть. Но, несмотря на недостатки, нет ограничений по поддержк е процессоров, а также отсутствует плато ОЗУ. Основное требование - прямые руки системного администратора. При правильной настройке демонстрирует отличные результаты.

    Oracle Database - версионная СУБД, обладающая хорошим функционалом, при том, весьма шустрая, позволяет одновременно проводить запись, чтение. Слабость – требовательность к RAM .

    IBM DB2 Universal Database. Хорошо подходит для обработки крупных массивов. Имеет обширный функционал. К сожалению, в этой СУБД есть много лишнего для сохранения совместимости с устаревшими ЭВМ, что снижает действенность СУБД. К оперативной памяти нетребовательна, но потому, что временные таблицы ограничены. Максимальное число поддерживаемых ядер - 16, что накладывает некоторые ограничения.

Наиболее эффективные по тестам СУБД - MS SQL Server, Oracle. Если в бюджете есть ограничения, то выбор стоит остановить на PostgreSQL, она является бесплатной СУБД, но учтите, работает только та версия, что сделана именно для целевого программного обеспечения. IBM DB2 Universal Database используется редко, ведь есть более продуктивные аналоги, но в поддержке устаревшего оборудования и сборок от IBM – лучшая.

Приходим к выводу, что реализовать в клиент-серверном исполнении гораздо эффективнее . В противном случае получаем тормоза и серьезные ограничения. Надеюсь, с выбором СУБД определились, но по факту скажу, что наиболее удобная и популярная - MS SQL Server. Она лучше всего поддерживается программным комплексом, о котором идет речь.

И сразу отвечу еще на один вопрос. Другие интерпретаторы SQL не поддерживаются. По крайней мере официально.

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

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

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

Чем крупнее организация, шире состав юзеров, тем производительнее потребуется оборудование. В некоторых ситуациях необходим кластер. С виду затраты большие, на деле, купить сервер для 1С и маломощные ПК дешевле, чем пытаться наладить IT-инфраструктуру без оных.

Аппаратура

Итак, какое же железо нам требуется, чтобы реализовать сервер для 1С ? Хороший вопрос, сначала нужно определиться с параметрами, в соответствии с которыми будем выставлять требования:

    количество пользователей;

    объем DB ;

    требующаяся отказоустойчивость;

    тип реализации.

Подставьте к каждому пункту знак вопроса. Отвечайте на них. Фактически, таким образом формируется задача. Теперь попробуем помочь сориентироваться. Начнем с любимых юзеров.

Численность запросов к SQL – ключевой момент при подготовке технической задачи. Каждый человек или программа способна генерировать определенное количество запросов, занимает часть ресурсов аппаратуры. Так что сборка для 5 пользователей может не подойти для 10, для 50 требования будут выглядеть также иначе. Про 100, 200 тоже самое. Конечно, ПО, которое будет автоматически работать с 1С - отдельная тема, требующая более подробного рассмотрения.

Теперь пункт второй. Есть база данных, соответственно, ее где-то надобно разместить, дать нужное для функционирования количество ресурсов. Задача только с виду легкая. Придется подбирать целесообразные накопители, способные обеспечить скорость и нужный объем. Рекомендуется спрогнозировать потенциальный размер БД, тогда будет проще сформировать требования.

Отказоустойчивость призвана обеспечить бесперебойную работу. Чтобы постоянно велось резервное копирование, одн о устройство дублировали другие. Чем выше уровень отказоустойчивости, тем сложнее и дороже конфигурация.

Тип реализации - фактически, каким образом будем использовать, для каких целей. Ничего сложного. Если только бухгалтерия, то мощность будет менее принципиальна, а вот если используется весь инструментарий, то требуется техника помощнее.

Пройдемся по комплектующим.

Процессор

ЦП с производительностью минимум 1700 МГц, хоть в требованиях значение ниже, но следует ориентироваться на него, и в итоге купить процессор даже помощнее. Идеально подойдет Intel Cor e i3-8100, Xeon E3-1220 v6 либо AMD Ryzen 3 1200. Конечно, наиболь ш ую производительность даст Xeon, но он дороже всех. Это для 5-10 человек . Если планируется увеличение поголовья «юзеров» , то однозначно стоит выбрать Xeon.

На 10-20 человек уже пригодится Intel Xeon E3-1230 v6, в отличие от более младшего собрата он имеет более высокую тактовую частоту и многопоточность. Хоть она не столь принципиальна, но CPU получается на порядок мощнее. Из менее дорогих подойдут Core i5-8500 и AMD Ryzen 5 1500X. Но последние не смогут показать той же производительности, что и Xeon. Так что остановите выбор на последнем.

Если сервер для 1С планируется на 20-50 человек. То сборка нужна производительная. Про процессоры пользовательского сегмента лучше уже забыть и смотреть на серверный сегмент. Итак. Здесь уже понадобятся минимум Intel Xeon E5-1650 v4 с 6 ядрами 12 потоками и базовой частотой 3,6 ГГц вполне хорош. От AMD подойдет ЦП EPYC 7261 с 8 ядрами, 16 потоками и базовой частотой 2,5 ГГц. Конечно, он покажет меньшую производительность, зато чуть дешевле. Но ненамного.

Для 50-100 юзеров стоит взглянуть уже на Xeon E5-1680 v4 от компании Интел, он заметно мощнее, чем предыдущий CPU . Имеет 8 ядер, 16 потоков и 3,4 ГГц частоты. Можно использовать и AMD EPYC 7351 с 16 ядрами, 32 потоками, базовой частотой 2,4 ГГц. Но он значительно хуже Intel. Но и заметно дешевле.

Для более серьезных решений можно использовать даже двухпроцессорные системы, либо сегментировать устройства. Например, для двухпроцессорной системы идеально подойдет Xeon E5-2643 v4. Но сегментировать устройства гораздо целесообразнее. То бишь, реализовать решение сразу на двух аппаратах.

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

Накопители

Бутылочное горлышко в системе традиционно HDD. Начнем с интерфейсов. SATA подходит только для последовательных запросов. Какую-либо параллелизацию можно сделать только в RAID- массиве. Интерфейс SAS получше, до 10 единовременных запросов, но пропускная способность жестких дисков все равно оставляет желать лучшего. Наиболее адекватный выбор - SSD. Подойдут твердотельные накопители с SAS, от SATA рекомендуем отказаться, но тоже вариант и они чуть дешевле. В идеале - SSD NVMe. Они наиболее быстродейственный из предложенных . Но, к сожалению, очень дороги. Отталкивайтесь от бюджета, но выбирать рекомендуем SSD, тогда будет реализована более эффективная система.

Оперативная память

Ну, всякие мелочи вроде материнской платы (ха-ха, мелочь), дополнительных приводов лучше выбирать в зависимости от остальных комплектующих. Но блоку питания стоит уделить особое внимание, стоит брать дорогие версии с метками Bronze, Silver, Gold, Platinum. Последний самый хороший и надежный, первый, менее хорошо, но лучше обычных дешевок.

Обязательно сделайте RAID 1 либо RAID 10 (1+0), второй вариант заметно производительнее. Они обеспечивают дублирующуюся запись памяти. То есть, одно и то же пишется на несколько дисков одновременно. Но учтите, для создания RAID 10 необходимо 4 накопителя.

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

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

юзер занимает ресурсы. Но, на чтение уходит значительно меньше ресурсов, чем на чтение/запись. Потому, один пользователь может давать большую нагрузку, чем несколько других. При планировании IT-инфраструктуры это также придется учесть, чтобы правильно распределить мощности.

Защита. Резервное копирование тоже отнимает ресурсы, потому, чтобы оно не срывало работу, на него должны быть выделены дополнительные ресурсы. Фаерволы, антивирусы и другие средства защиты также требуют некоторого количества мощностей.

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

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

Сервер 1С на 5 пользователей

Для 5 человек не требуется высоких мощностей, подойдут конфигурации для малого бизнеса. Если офис небольшой и нужно компактное размещение, то можно использовать мини-сервер. Такой вариант позволит компактно разместить оборудование, и будет удобен при перевозке.

Стоимость такого устройства составить от 30 000 рублей. Конфигурация, как правило, изысками не отличается. Используется процессор начального уровня из серии Intel Xeon E3, либо AMD Opteron. Есть множество готовых сборок под данную задачу. Но в случае дешевых устройств, нет твердотельных накопителей и запаса под пиковые нагрузки.

Сервер 1С на 10 пользователей

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

Здесь также можно обойтись процессором из линейки Intel Xeon E3, например модель 1240. Оперативной памяти хватит и 8 ГБ, но лучше 16, а также стоит использовать SSD для размещения приложения и DB.

Сервер 1С на 20 пользователей

Здесь нужно оборудование мощнее, чем в предыдущем варианте. Вариант для среднего бизнеса оптимален. SSD в такой системе должен присутствовать по умолчанию, а процессор использовать рекомендуется не ниже Intel Xeon E3-1280 v6. В противном случае не останется запас под пиковую мощность.

Сервер 1С на 50 пользователей

В такой конфигурации рекомендуется учесть степень сложности задач. Если они не создают серьезной нагрузки, то высоких мощностей не нужно. Если же сильная либо большой объем базы данных, то потребуется оснащение с высокой ресурсоемкостью, в некоторых случаях необходим кластер устройств.

Обычно для данной задачи собирается двухпроцессорная система на базе процессоров Intel Xeon E5-2643 v4. 2 таких CPU способны закрыть потребности приложения и даже базы данных. Но, в идеале, создать сервер SQL стоит отдельно.

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

Сервер 1С на 100 пользователей

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

Но примерная конфигурация будет такова:

  1. Терминальный сервер приложения. 2 процессора Intel Xeon Silver 4215, для размещения приложения SSD с высоким TDW, два блока питания, дисковая подсистема для бэкапов состояния системы.

    Сервер SQL. Аналогичные процессоры, SSD с высоким DWPD, также два блока питания и дисковая подсистема с RAID 1 для хранения резервных копий.

Это условно, специфика будет зависеть от конечной технической инфраструктуры.

Сервер для 1С на 200 пользователей и более

При таком количестве юзеров необходимо передовое оборудование, способное справиться с задачами любой сложности. Как и в предыдущем варианте, одного устройства не будет хватать, понадобится кластер. Чем выше итоговое количество обращений к базе данных и количество сотрудников, тем мощнее потребуется оборудование и, соответственно, больше устройств в кластере. Универсальных решений нет, каждое прорабатывается индивидуально.

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

  • Клиентские приложения, тонкие клиенты и веб-клиенты — это и есть «1С:Предприятие» в различных режимах запуска, с которыми работает конечный пользователь. Для клиентских приложений и тонких клиентов требуется на компьютеры пользователей (или на ), для веб-клиента достаточно веб-браузера.
  • Кластер серверов «1С:Предприятие» представляет собой совокупность рабочих процессов, функционирующих на одном или нескольких компьютерах и списка информационных баз, которые размещены в этом кластере. В кластере серверов выполняется вся работа прикладных объектов, выполняется подготовка к отображению форм (чтение объектов информационной базы, заполнение данных форм, расположение элементов и т.д.) и командного интерфейса, формируются отчеты, выполняются фоновые задания. На клиентах происходит лишь отображение информации, подготовленной в кластере серверов. Кроме того на сервере кластера «1С:Предприятия» хранятся служебные файлы, а также журнал регистрации информационных баз.
  • Сервер баз данных — на сервере баз данных происходит непосредственное хранение и работа с данными, обеспечиваемое одной из следующих, поддерживаемых системой «1С:Предприятие», систем управления базами данными (СУБД):
    • Microsoft SQL Server начиная с версии Microsoft SQL Server 2000 и выше;
    • PostgrageSQL начиная с версии 8.1;
    • IBM DB2 начиная с версии 9.1;
    • Oracle Database начиная с версии 10g Release 2.
  • Веб-сервер необходим только для работы веб-клиентов и одного из вариантов работы тонкого клиента. Обеспечивает взаимодействие данных видов соединения с кластером серверов «1С:Предприятия».

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

В данной статье я буду описывать установку сервера «1С:Предприятия» версии 8.3.4.389 (для других версий платформы «1С:Предприятие» 8.1, 8.2 и 8.3 действия аналогичны) на один компьютер под управлением Windows Server 2008 (R2) или Windows Server 2012 (R2). В качестве СУБД будет рассматриваться Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012. Для этого нам понадобится:

  1. Компьютер, отвечающий системным требованиям для установки сервера «1С:Предприятия» и с установленной на данный компьютер ОС или .
  2. Компьютер для сервера баз данных, также под управлением ОС или (может быть компьютером из п.1).
  3. Права локального администратора на обоих компьютерах.
  4. Дистрибутив для установки сервера «1С:Предприятия» 8.
  5. Программная лицензия или ключ защиты HASP4 Net для сервера «1С:Предприятия».
  6. Дистрибутив для установки Microsoft SQL Server 2008 (R2) или Microsoft SQL Server 2012.

2. Установка СУБД MS SQL Server

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

  • Службы компонента Database Engine (Database Engine Services)
  • Средства управления - основные (Management Tools - Basic)
    • Средства управления - полный набор (Management Tools - Complete).

Параметры сортировки выбираем « Cyrillic_General_CI_AS ». Подробно про установку систем

3. Настройка Брандмауэра Windows для работы СУБД

Если сервер баз данных и сервер кластера «1С:Предприятия» находятся на разных физических компьютерах, необходимо на сервере баз данных настроить Брандмауэр Windows таким образом, чтобы сервер «1С:Предприятия» мог работать с СУБД, а именно открыть входящие подключения по порту 1433 (для экземпляра SQL Server по умолчанию).

  • Подробно про настройку Брандмауэра Windows для работы Microsoft SQL Server 2008 (R2) / 2012 я писал .

4. Добавление пользователя в MS SQL Server

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

  • Microsoft SQL Server 2008 (R2) я писал .
  • Microsoft SQL Server 2012 я писал .

5. Установка сервера «1С:Предприятия»

Теперь переходим к установке файлов сервера «1С:Предприятия» и запуску соответствующей службы. Для установки требуется дистрибутив технологической платформы «1С:Предприятия». Из перечня поставляемых дистрибутивов подойдут следующие:

  • Технологическая платформа 1С:Предприятия для Windows — позволяет установку 32-разрядного сервера «1С:Предприятия»
  • Сервер 1С:Предприятия (64-bit) для Windows — позволяет установку как 32-разрядного, так и 64-разрядного сервера «1С:Предприятия»

(Также существует и расширенная версия КОРП сервера 1С:Предприятия 8.3, подробности можно посмотреть на сайте 1С)

Открываем каталог с файлами установки сервера «1С:Предприятия» и запускаем файл setup.exe .

Запуститься помощник установки системы «1С:Предприятия». На первой странице жмем «Далее ».

На следующей странице необходимо выбрать те компоненты, которые будут устанавливаться, нам требуются компоненты:

  • Сервер 1С:Предприятия — компоненты сервера «1С:Предприятия»
  • Администрирование сервера 1С:Предприятия 8 — дополнительные компоненты для администрирования кластера серверов «1С:Предприятия»

Остальные компоненты (перечень компонент может зависеть от конкретного дистрибутива), в зависимости от необходимости, также могут быть установлены на данный компьютер. Сделав выбор жмем «Далее ».

Выберем язык интерфейса, который будет использоваться по умолчанию, и нажмем «Далее ».

Если сервер «1С:Предприятия» устанавливается как служба Windows (а так в большинстве случаев и следует его устанавливать) рекомендую сразу создать отдельного пользователя, из под которого будет запускаться создаваемая служба. Для этого

  • Оставляем включенным флаг «Установить сервер 1С:Предприятие как сервис Windows (рекомендуется) »;
  • Переводим соответствующий переключатель в «Создать пользователя USR1CV8 ».
  • Вводим 2 раза пароль для создаваемого пользователя. По умолчанию пароль должен отвечать политики паролей Windows. Подробнее об этом можно прочитать:
    • Для Microsoft Windows Server 2008 (R2) — ;
    • Для Microsoft Windows Server 2012 — .

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

  • Вход в систему как сервис (Log on as a service)
  • Вход в систему как пакетное задание (Log on as a batch job)
  • Пользователи журналов производительности (Performance Log Users).

Также пользователю обязательно следует дать необходимые права на каталог служебных файлов сервера (по умолчанию C:\Program Files\1cv8\srvinfo для 64-х разрядного и C:\Program Files (x86)\1cv8\srvinfo для 32-х разрядного сервера).

Созданный автоматически пользователь USR1CV8 будет обладать всеми перечисленными правами.

Заполнив соответствующие параметры, жмем «Далее ».

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

По завершении установки помощник предложит установить драйвер защиты — HASP Device Driver. Если используется программная лицензия на сервер «1С:Предприятия», производить установку драйвера нет необходимости. Оставляем или снимаем флаг «Установить драйвер защиты » и жмем «Далее ».

Для начала предлагаю выделить несколько сценариев работы:

1.) Работа с файловой базой через общий ресурс (веб-сервер)

2.) Работа с файловой базой в терминале

3.) Работа с серверной (MSSQL) базой

Работа с файловой базой через общий ресурс (веб-сервер)


Здесь всё довольно таки просто. Если это обычные формы и 1-3 пользователя. То на "сервер" (машина, на которой будет лежать база выбираем:

  • быстые винты - обращаем внимание на скорость вращения шпинделя (берем 7200rpm). Например, не берем у WD серию green, берем black или red. У Seagate можно посмотреть серию Constellation.
  • Процессор - не столь важны ядра, как их частота. 1С довольно таки плохо использует многоядерность(вообще никак), поэтому выгоды от 8ми ядерного процессора вы не получите, 2ух-ядерный процессор с бОльшей частотой уделает его. Например, core i3 4360 - на текущий момент это максимальная частота у intel (4ghz в turbo режиме).
  • Оперативная память - роли она тут не сыграет. Учитывая как современные приложения пожирают память, поставьте 8гб
  • сеть - ну собственно, от 1гбит сети особо вы не выиграете, но тем не менее, если растянута 8ми жильная витая пара (можете посмотреть в коннекторах), то имеет смысл поставить гигабитный коммутатор, заодно будет быстрее файлообмен.
    И последний штрих в этом сценарии - не нужно размещать базу где-то на отдельной машине - длительные операции будут выполняться намного быстрее локально, чем по сети. Поставьте эту машину на рабочее место, откуда планируется, например,закрывать месяц или производить обновления ИБ.

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

  • SSD накопитель* вместо обычного винта нас спасёт. Возьмите накопитель на 120гб, благо даже с учетом роста курса стоят они приемлемо. Рекомендую обратить внимание на intel 520/530 series, kingston v300. А лучше просто почитайте обзоры на свежие модели, т.к. этот рынок довольно быстро развивается и на рынок выходят новинки
    *Примечание: Если будете объединять диски в RAID с зеркалированием, например,RAID1. В этом случае есть такой момент: большинству SSD дискам требуется trim для очистки мусора(в основном, касается довольно старых моделей), в режиме raid команда может не поддерживаться и накопитель по мере работы будет деградировать в скорости. Чтобы избежать этой проблемы можно воспользоваться минимум двумя способами: в идеале, приобрести SSD enterprise уровня, например, intel DC3500. Если это покажется дорого можно использовать связку: мат.плата с чипсетом
  • Процессор - аналогично с предыдущим пунктом. Чем больше частота тем лучше.
  • Оперативная память - большойроли она тут не сыграет. Учитывая как современные приложения пожирают память, поставьте 8гб

Если с базой будет работать локально 1 пользователь то этого достаточно для его комфортной работы, но скорость сетевой работы через общий ресурс будет всё так же медленной. Но и здесь есть выход - работа через web сервер. На просторах интернета вы сможете найти большое количество статей, где описывается как организовать работу с 1С подобным образом, не буду останавливаться в данной статье на этом. Единственное, поделюсь с Вами своими наблюдениями: предпочтительнее настроить работу у пользователей не через web-браузер, а через тонкий клиент (когда добавляем в список ИБ новую базу, на странице размещения ИБ есть пункт "на web сервере"). Это, по моим наблюдениям, быстрее чем через браузер. Кроме того при работе через браузер встречаются ошибки в интерфейсе (съехавшая ТЧ и т.п.), которых нет при работе через тонкий клиент.

Собственно, воспользовавшись данным рецептом (ssd,процессор с большой частотой,web-сервер,тонкий клиент). Можно развеять миф "если число пользователей больше 1 (по некоторой версии больше 0:)) - нужна серверная база*.

*Хотя, конечно, с оговоркой что это не УПП или база размером > ~4гб, а количество пользователей не превышает 4 (это максимальные размер базы и количество пользователей, которые видел я, возможно кто-то встречал случаи, когда через web-сервер с файловой базой работало больше человек? Напишите в комментариях)

Работа с файловой базой в терминале

Перейдем к следующему варианту. У нас есть терминальный сервер и есть файловая база. Здесь всё аналогично сценарию 1 за исключением процессора:

  • SSD накопитель вместо обычного винта.*
    *Примечание: обязательно соберите в диски в RAID с зеркалированием, например,RAID1. В этом случае есть такой момент: большинству SSD дискам требуется trim для очистки мусора(в основном, касается довольно старых моделей), в режиме raid команда может не поддерживаться и накопитель по мере работы будет деградировать в скорости. Чтобы избежать этой проблемы можно воспользоваться минимум двумя способами: в идеале, приобрести SSD enterprise уровня, например, intel DC3500. Если это покажется дорого можно использовать SSD пользовательского класса, но тогда убедитесь, что его ресурс перезаписи достаточен для вашего сценария работы.
  • Процессор - Здесь имеет смысл взять corei5 вместо i3, т.к. 1С будет работать на терминале, дополнительные 2ядра не помешают, но не забываем и про частоту.
  • Оперативная память есть такое устойчивое выражение у админов: памяти много не бывает). Из моей практики 7 человек при работе в БП3 занимают 8-12гб на терминале (зависит сколько документов открыто у каждого пользователя). Для обычных форм количество памяти можно поделить на 2:).Примерный расчет можно сделать так: 256мб для самой терминальной сессии + 1,5гб для 1С

Работа с серверной (MSSQL) базой


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

  • Размещение SQL сервера и сервера 1С. На разных машинах или на одной. Есть такой момент: если они находятся на одной машине, то общение между ними происходит через протокол shared memory, и в этом случае мы получаем бонус в быстродействии, которого нет, когда они находятся на разных машинах.
  • Процессор. А вот здесь уже пригодится и высокая тактовая частота и многоядерность. Т.к. у нас есть процесс SQL сервра, если он на этой же машине, и несколько процессов сервера 1С rphost которые будут загружать ядра процессора.Отдельно хочу выделить двухпроцессорные системы (т.е. когда на мат.плате два сокета для и более сокета). Даже если берете с одним пустым сокетом "про запас, докупить процессор потом, если вдруг понадобится". Я видел большое количество двухсокетных серверов, которые до глубокого end of life так и простояли с пустым вторым сокетом. Хотя, если фирма платит...зачем отказывать себе в удовольствии:)
  • Оперативная память . В своей работе SQL сервер* активно использует оперативную память, если её недостаточно, он будет лезть на диски, которые даже в случае ssd медленее оперативной памяти. Поэтому тут на памяти экономить не стоит. Заложите в бюджет максимально возможное количество (не забываем, конечно о здравом смысле:)), и оставьте свободные слоты на материнской плате, чтобы иметь возможность всегда доставить дополнительную планку.
    *Примечание: не забудьте ограничить максимально используемую SQL сервером ОЗУ, чтобы её хватило для ОС и терминальных сессий, а также увеличьте шаги увеличения tmp и базы SQL (по-умолчанию шаг 1мб, что очень мало, установите 200 МБ на базу и 50 МБ на лог)
  • Дисковая подсистема. Может появится мысль, что если объем ОЗУ будет больше размера базы, то она вся будет лежать в памяти и всё будет летать. Оно может так и было бы...до первой операции записи:) которая будет писать на диски. И вот тут то жесткие диски обломают вас:) Используйте SSD диски. И вот тут уже не экономьте не десктопных SSD, приобретите нормальные SSD enterprise уровня. Intel DC3700 -200гб,ресурс 3.7 петабайта (по 10 перезаписей всего объема накопителя в день в течение 5 лет), можно найти за 24000р/шт+второй для RAID1=48000. На лицензии уйдет во много больше.

Вроде всё. Если вопросы/жалобы/предложения - wellcome в комментарии;)