Каким должны быть сервера (или сервер) для комфортной работы пользователей в системе 1С:ERP? Давайте попробуем разобраться вместе.
В нашей компании начинается новый проект внедрения 1С:ERP в одной торговой организации. Заказчик попросил дать некоторые рекомендации по оборудованию и требованию к инфраструктуре для комфортной работы 100+ пользователей в системе 1С:ERP. Ниже мои выкладки на эту тему.
Но прежде всего, хотел бы сказать, что я не являюсь опытным системным администратором и тем более специалистом по серверному оборудованию. Но за моими плечами есть один завершенный проект внедрения 1С:ERP на производственном предприятии (со схожим объемом операций и количеством пользователей) в роли ведущего разработчика. И данная статья появилась здесь больше для того, чтобы услышать критику / рекомендации / замечания от людей, хорошо разбирающихся в железе и имеющих реальный опыт эксплуатации системы 1С:ERP. Ну и надеюсь, может еще кому статья пригодится. Итак:
Входные данные:
- Учетная система — 1С:ERP 2.4 + интеграция с 1С:Документооборот 2.1.
- Количество одновременно работающих пользователей:
- С учетной системой: 80-100
- С документооборотом: 100-200
- Среднемесячное количество основных операций:
- Поступление товаров и услуг: ~2000 (~50000 строк)
- Реализация товаров и услуг: ~13000 (~2000000 строк)
- Перемещение товаров: ~8000 (~800000 строк)
- Прочие связанные операции с на порядок меньшим объемом.
- Большинство пользователей находятся в одной локальной сети.
- Разработка ведется на мощностях клиента в отдельном тестовом контуре (~4 разработчика и ~5 консультантов + ключевые пользователи)
- В качестве серверного ПО – продукция компании Microsoft.
Сервер для продакшена:
- Мои рекомендации — совместить роли сервера баз данных (SQL) и сервера 1С. Деньги, которые будут затрачены на покупку отдельного сервера, мне кажется, разумнее вложить в сервер баз данных. Причины следующие:
- Сервер 1С практически не использует диски (только временные файлы и журнал регистрации), а на отдельный физический сервер их покупать все равно придется.
- Также придется покупать и остальные составляющие сервера (корпус, материнская плата и т. д.)
- Соответственно придется покупать серверное ПО (Microsoft Windows Server, Windows CAL-лицензии на каждого пользователя и т. д.)
- Намного продуктивнее вложить все эти средства в бОльший объем оперативной памяти, более быстрые диски (в 90% случаев узкое место — это диски) и более производительные процессоры для сервера баз данных.
- Получаем до 10% прирост производительности за счет Shared Memory (и исключаются проблемы, которые могли бы возникнуть с сетью).
- Рекомендации по серверу баз данных:
- Диски: Это самый главный фактор. К выбору дисков и контроллера следует подойти с особой тщательностью. Минимальные требования следующие:
- Система: RAID 1 или выше на быстрых SAS дисках, с оборотами >10000, объем ~500 Гб.
- Отдельный диск для временных файлов (файл подкачки, TEMP, база TempDB): SSD-диск объемом ~256 Гб (или 2 по ~128 Гб), плановая замена через 3-5 лет.
- Диски для баз данных: RAID 10 или выше на быстрых SAS дисках, с оборотами >10000, объем ~1 Тб. Возможны также варианты с промышленными SSD-дисками (например, с интерфейсом PCI-Express) и СХД. Также, в зависимости от бюджета, есть смысл рассмотреть отдельные массивы дисков для файлов баз данных и файлов журналов транзакций.
- Дешёвые диски для служебных файлов и бэкапов «copy only»: RAID 1 (в условиях ограниченного бюджета, без RAID), объем ~3 Тб.
- Учесть пропускные возможности материнской платы / контроллера / шины / дисков. Бывало в моей практике так, что покупали дорогие диски и экономили на контроллере. В результате, контроллер выступая «узким горлышком», не давал дискам работать на полную производительность.
- Оперативная память: 256 Гб и выше.
- Процессор: Два или четыре серверных процессора, по 8 ядер (суммарное количество ядер >16) с тактовой частотой >2.7 GHz.
- Сетевой адаптер: пропускная способность 1 Гбит и выше. Обратить внимание на сетевое оборудование до сервера (пропускная способность должна соответствовать).
- Диски: Это самый главный фактор. К выбору дисков и контроллера следует подойти с особой тщательностью. Минимальные требования следующие:
Надежность:
Надежность сервера баз данных может достигается за счет:
- Регулярного резервного копирования (система, базы данных и т. д.)
- Использования RAID 1 и выше для всех дисковых накопителей.
- Использования комплектующих с гарантией замены. В удаленных регионах, использование запасных комплектующих.
- Наиболее безопасный и дорогой вариант — использование связки из двух серверов, работающих в режиме кластера.
В случае использования выделенных серверов в дата-центрах, за надежность отвечает дата-центр.
Разработочный / тестовый сервер:
Совмещение роли сервера баз данных, сервера 1С и сервера терминалов. Системные требования — 1/4 от мощностей производственного сервера:
- Диски:
- Система: RAID 1 или выше, объем ~500 Гб.
- Базы данных: RAID 1 или выше, объем: 1-3 Тб.
- Оперативная память: >64 Гб.
Организация работы пользователей:
Тут возможны 2 схемы: терминальный сервер и работа в тонком клиенте со своих рабочих машин. Рассмотрим плюсы / минусы:
- Терминальный сервер:
- Плюсы:
- Возможность безопасного подключения из любой точки мира.
- Если пользователи работают в различных информационных базах, можно сэкономить на лицензиях 1С, установив лицензии на сервер терминалов (как однопользовательские), а не на сервер 1С.
- Удобство администрирования. Намного легче выполнять такие операции как обновление платформы, очистка кэша пользователей, подключение к сессии пользователя (с демонстрацией экрана), администрирования списка баз и т. д.
- Контроль производительности системы, проще искать «узкие места».
- Минусы:
- Необходим довольно производительный сервер. Дополнительные затраты на обслуживание.
- Необходимо дорогостоящее серверное ПО (Microsoft Windows Server, Windows CAL-лицензии, лицензии на терминальные сессии).
- В случае выхода сервера из строя, работа «встанет» на неопределенное время.
- Возможны проблемы с подключением торгового оборудования, смарт-карт, проблемы с печатью.
- Затрудняется или становится совсем невозможна интеграция с другими программами пользователя (почтовый клиент, мессенджеры, переход по навигационной ссылке в документ из письма и т. д.).
- У малоподготовленных пользователей возникают проблемы с доступом к файловой системе своего компьютера.
- Плюсы:
- Работа со своих рабочих мест:
- Плюсы:
- Нет затрат на дополнительный терминальный сервер.
- Надежность. Выход из строя компьютера пользователя, влечет к простою только этого пользователя.
- Нет проблем с подключением оборудования, смарт-карт, печатью.
- Система 1С:ERP адаптирована для работы в тонком клиенте. В этом случае нагрузка на клиентскую часть минимальна, что позволяет работать на малопроизводительных компьютерах (в рамках минимальных системных требований).
- На компьютер пользователя дополнительно устанавливается только то ПО, которое необходимо ему в работе (например, Microsoft Office).
- Минусы:
- Рабочие компьютеры пользователей должны соответствовать минимальным системным требованиям.
- Дополнительный трафик внутри сети.
- В общем случае, лицензии 1С выдаются на каждое подключение к информационной базе.
- Нет возможности подключаться к информационным базам вне локальной сети (вариант решения – организация WEB-доступа к информационным базам).
- Есть некоторые трудности с администрированием, затрудняются такие операции как обновление платформы, очистка кэша пользователей, администрирование списка баз и т. д.
- Затрудняется поддержка пользователей. Для доступа к сессии пользователя нужны специальные средства (TeamViewer, RAdmin, LiteManager и т. д.)
- Плюсы:
- Возможен комбинированный случай, когда часть пользователей работают с сервера терминалов, часть со своих рабочих мест.
Итог:
Минимальная конфигурация для работы пользователей в системе 1С:ERP для данного количества пользователей / операций следующая:
- Совмещенная роль сервера СУБД и сервера 1С. Технические требования указаны выше.
- Основная часть пользователей работает через тонкий клиент со своих рабочих мест.
- Сервер терминалов для ограниченного количества пользователей, которым необходим постоянный удаленный доступ.
P.S.
Если не трудно, поделитесь в комментариях характеристиками своих серверов и объемом операций / пользователей, если вы используете конфигурацию 1С:ERP. Продукт относительно новый, и по моим субъективным ощущениям невероятно прожорливый. Все интересуются минимальными системным требованиями, а опыта реальной эксплуатации системы пока не очень много. Вместе мы сможем собрать более-менее реалистичную статистику. Если комментариев будет достаточно, обещаю опубликовать отдельную статью со сводными данными.
1 сервер на всё, SQL и 1С, без терминала. Память 128 гигов, диски CCD в raid 1. Пользователей около 80 человек. Работают через тонкий клиент и web — интерфейс. Пока работает.
Спасибо. А как производительность? Устраивает?
Спасибо огромное за статью. Отличный материал. Подскажите пожалуйста, а сколько попугаев выдает такой сервер в однопотоке и много патоке в тесте Гилева? (http://www.gilev.ru/tpc1cgilv/)
Спасибо и вам за комментарий.
Это общие рекомендации какого-то гипотетического сервера для 1С:ERP с описанной в статье ожидаемой нагрузкой. Мы сейчас собираем статистику по оборудованию, к которому у нас есть доступ. Возможно, в некотором обезличенном варианте она будет когда-нибудь опубликована.
SAS диски в 2018 году, вы серьезно? Серверные SSD дешевле и намного быстрее. Особенно на случайный доступ и чтение.
Да, вы правы. Для баз данных лучше использовать SSD-диски. Статья устарела.