Крупный бизнес: комплекс 1С (УТ + ЗУП + Бухгалтерия + ERP) на мощных серверах (3/9)
Это третья статья из цикла выбора технической платформы для 1С. Далее будет её 6 статей, а выводы уже опубликованы
Для крупных предприятий (десятки сотен пользователей, большие базы, высокие требования) архитектура 1С становится многосерверной и отказоустойчивой. Обычно в ход идёт полноценная ERP-система на 1С (например, 1С:ERP Управление предприятием) в сочетании с бухгалтерскими и отраслевыми модулями. Количество одновременно работающих сотрудников может измеряться даже тысячами, а объем данных – десятками или сотнями терабайт. Здесь уже без серьёзного серверного парка не обойтись.
Сервер базы данных: Сердце системы – сервер СУБД (MS SQL или PostgreSQL). Для большой нагрузки часто выбирают MS SQL Server Enterprise из-за возможностей масштабирования и поддержки со стороны 1С (например, кластеризация Always On для резервирования). Однако крупные организации в последнее время успешно используют и PostgreSQL от компании PostgresPro, особенно после оптимизаций 1С под неё – это существенно экономит на лицензиях (если брать бесплатную версию) и будет стоить чуть дороже платная чем MS SQL, но при этом это уже Российское ПО и качественная техподдержка от вендора. Какой бы ни был выбор, сервер БД должен быть очень мощным: 2 физических процессора высокопроизводительных (например, Intel Xeon Gold/Platinum или AMD EPYC), от 16 до 32 ядер суммарно, при этом важна высокая тактовая частота ядер. 1С не линейно масштабируется на сотнях потоков, она ценит скорость отдельных ядер (например, сложные расчёты или запросы работают в один поток). Поэтому предпочтительнее 16 быстрых ядер 3.5 ГГц, чем 32 ядра по 2.0 ГГц. Специалисты рекомендуют: «Выбирайте процессоры с частотой выше 3 ГГц, если важна высокая производительность 1С. Не выделяйте чрезмерно много ядер – особенности NUMA могут даже снизить скорость при избыточном числе CPU». Иными словами, баланс ядер и частоты нужен с учётом архитектуры сервера.
Оперативная память берётся с большим запасом – например, 128–256 ГБ RAM и более, чтобы максимально кэшировать базу данных. Диски – только SSD (лучше NVMe). Как показывает практика тестирования, любая современная SSD-подсистема даёт примерно одинаковый эффект – разница между обычным SATA SSD и топовым Intel Optane не превышает 1-2% на производительности 1С. Главное – не использовать медленные HDD, их скорость случайного доступа просто не выдержит нагрузки множества операций 1С.
Для хранения данных крупных баз нередко используют внешние системы хранения (SAN) или распределённые хранилища. Но нужно помнить: локальные диски быстрее. Тесты показывают, что подключение даже по FibreChannel (SAN по оптоволокну) вносит около 15% потери производительности, а сложные программно-определяемые хранилища (SDS) могут снизить скорость на 30%. Поэтому для максимальной производительности критичных баз данных крупные компании часто предпочитают локальные SSD или NVMe в сервере, объединённые в RAID10. Если же используется внешняя СХД, то ради отказоустойчивости, и её нужно делать максимально быстрой (NVMe over Fabric, FC16/32Гбит и т.п.). Сервера СУБД в столь нагруженной среде желательно размещать на аппаратных серверах без виртуализации, хотя и не исключает такой конфигурации. Но помните, что в виртуальной среде вы получите около 10% снижение производительности
Сервер приложений 1С: Помимо сервера базы, в крупной инфраструктуре обычно выделяют несколько серверов 1С-приложения. 1С позволяет строить кластеры серверов: например, 2–3 сервера приложений распределяют нагрузку от сотен подключений, обслуживают тонкие клиенты, выполняют фоновые задания. Эти серверы тоже должны иметь мощные CPU и достаточную ОЗУ, требования к диску у них такие-же высокие или даже выше, чем у СУБД. Тут лучше уже использовать Intel Optane для размещения на них %temp% и «srvinfo». Обычно роль сервера 1С хорошо выполняют машины с 8-16 ядрами (высокочастотными) и 32-64 ГБ ОЗУ каждый. Они могут быть виртуальными или физическими – в зависимости от стратегии компании, но также помните, что на виртуализации вы потеряете около 20% отзывчивости 1С.
Отказоустойчивость: Крупный бизнес не может позволить простой системы. Поэтому планируется резервирование на всех уровнях: резервные копии баз в режиме онлайн, репликация или кластер SQL Server (или Patroni для Postgres), несколько серверов приложений 1С (если один выйдет из строя, другие продолжают работу), и зачастую дублирование инфраструктуры (второй серверный зал на случай аварии первого). Это выходит за рамки данной статьи, но упомянем: подобная надёжность стоит дорого, и тут компания решает, насколько критичны простои. Tier III дата-центр предполагает не более 95 минут простоя в год – достигается за счёт резервирования питания, охлаждения, связи. Сходу обеспечить такой уровень в офисе практически нереально – об этом далее.
СУБД MS SQL vs PostgreSQL в крупном масштабе: В контуре крупной ERP-системы выбор СУБД стратегический. MS SQL традиционно сильна в Windows-экосистеме, у многих корпоративных заказчиков есть лицензии и компетенции по MS SQL (DBA, мониторинг). Она слегка выигрывает в удобстве и некоторых сценариях, но требует серьёзных лицензионных затрат. PostgreSQL привлекает ценой (бесплатно) и открытостью – исходный код, независимость от вендора. В производительности 1С на больших объёмах эти СУБД показывают близкие результаты. Наши тесты на одинаковом оборудовании (Xeon Gold, SSD) дали, например, ~100 условных единиц производительности на Postgres и ~95 на MS SQL – разница ~5%. Linux-платформа дала небольшой прирост, но в пределах погрешности ~3-5%. Таким образом, решение больше зависит от имеющихся специалистов: если ваша ИТ-команда сильна в Windows/MS SQL – нет ничего плохого в этом стеке. Если же хотите минимизировать TCO и готовы держать в штате PostgreSQL-админа – смело берите Postgres. Кстати, одновременное использование тоже возможно: некоторые крупные внедрения разделяют базы (например, ERP на PostgreSQL, а бухгалтерию и зарплату – на MS SQL, или наоборот) из-за исторических причин или разных требований. Но это усложняет инфраструктуру – по возможности лучше унифицировать.
Если у вас средний или крупный бизнес, и вы пришли к тому, что готовы заняться вопросом организации собственного ЦОДа с собственными серверными мощностями, наша команда поможет вам подобрать всё оборудование с запасом на 5-15 лет и произведёт начальную настройку всей инфраструктуры под ключ. Это даст вашей ИТ команде колоссальный опыт и упростить дальнейшую поддержку собственными силами.
Чем Вам помочь?
Это не чат-бот! Тут отвечают люди, по этому не всегда мгновенно 😳