Серверы Trinity для 1С на базе серверных платформ Supermicro являются высокотехнологичными готовыми к эксплуатации промышленными изделиями полностью 100% совместимыми с 1С, как для системам Microsoft Windows, так и для Linux. Время отклика серверов 1С Trinity менее 50 мс. Отказоустойчивость на сервер составляет 98% и 100% на кластер серверов 1С.
Серверы 1С Trinity
Рекомендации по планированию сервера для 1С
Система 1С Предприятие – это не столько готовый продукт, сколько конструктор, на основе которого создается учетная система предприятия.
Гибкость и универсальность - ее главная сила. Но в этом же кроется и основная причина потенциальных проблем производительности. У каждого предприятия свои особенности учета и клиентских интерфейсов, свои внедренцы –двух одинаковых систем (если речь не о паре бухгалтеров, разумеется) практически не бывает.
Поэтому все рекомендации по выбору аппаратуры для обеспечения быстрой работы достаточно относительны. В этой статье мы осветим основные моменты, от которых зависит производительность, и дадим рекомендации для более-менее типовых случаев.
Статья рассчитана на предприятия малого и среднего бизнеса с числом пользователей от нескольких десятков до 100-200.
Если у вас планируется система сотнями (и более) пользователей и кластером из нескольких серверов, то гораздо важнее выбирать не железо, а грамотных внедренцев, знающих потребности своего продукта. Ну а в данном случае как правило достаточно пары серверов с репликацией в целях отказоустойчивости.
Итак, поехали: требования к процессорам серверов 1С
Наиболее часто 1С используется в варианте «толстого клиента» (клиентское приложение, которое и видит пользователь), работающего в терминальном режиме. В этом самом «толстом клиенте» внедренцы обычно и реализуют основную клиентозависимую логику.
Если используются стандартные формы и отчеты 1С, то проблем производительности обычно минимум. В случае сильно доработанных систем («самописных»), вопрос производительности может быть очень нетривиальным и, достаточно часто, печальным – об этом ниже.
Для стандартной системы вполне достаточно современных процессоров с частотой 2-2,5ГГц. Требуемое количество ядер очень сильно зависит от характера и интенсивности работы пользователей. Среднестатистическая рекомендация стара как мир – 4-5 человек на ядро. Но эта цифра более чем относительна. Например, вялотекущих менеджеров, выставляющих несколько счетов в день, можно и 10 на ядро, а вот аналитик или бухгалтер в отчетный период создают на порядок более тяжелую нагрузку. Если вы не развертываете новую систему, а модернизируете существующую, настоятельно рекомендуется оценить загрузку имеющегося железа (причем в момент максимальной нагрузки), а потом уже планировать новое. Если же возможности нет, то в целом можно ориентироваться средние 5 человек на ядро.
Есть один нюанс – 1С «не любит» двухпроцессорные системы. Связано это с тем, что подобные системы используют архитектуру памяти NUMA – т.е. каждый процессор имеет быстрый доступ к «своей» части ОЗУ. И если диспетчер задач операционной системы перебросил клиентскую сессию на другой процессор (а он это делает постоянно), то данные останутся в памяти первого и доступ к ним будет значительно медленнее. Производительность упадет – пусть не в разы, но вполне могут быть десятки процентов. Поэтому лучше предпочесть один многоядерный процессор, нежели два попроще. В разумных пределах, разумеется.
Оперативная память для серверов 1С
Что касается оперативной памяти, то одна клиентская терминальная сессия, в зависимости от характера работы пользователя, занимает от 200-300МБ до 500-600МБ, а в тяжелых случаях и до гигабайта ОЗУ. Опять же, рекомендуется оценить загрузку существующего сервера. Если такой возможности нет, то заложить примерно 500МБ на пользователя. Причем желательно оставить часть слотов памяти свободными, чтобы была возможность расширения в случае ошибки (и просто на вырост). На объеме памяти экономить не нужно! Если недостаточная производительность процессоров может лишь замедлить отклик системы, то недостаток ОЗУ сделает ее почти неработоспособной. А вот за частотой памяти сильно гнаться не стоит. Конечно же – чем больше, тем лучше – но радикальный эффект вы вряд ли получите.
Что касается SQL сервера и сервера приложений, то им на пару можно выделить примерно столько же процессорных ядер, сколько и терминальному серверу (зачастую и меньше). Точных рекомендаций тут так же нет.
Если все части трехзвенки будут работать на одном физическом сервере, то ОС сама отбалансирует нагрузку (хотя лучше это сделать администратору – см. пункт ниже о виртуализации).
Оперативную память тут экономить тоже не стоит – лучше всего, если вся база закэшируется в ОЗУ. Но особенно гнаться тут не нужно – в данном случае недостаток памяти уменьшит производительность (и то не всегда), но не вызовет свопинг, как в случае терминального сервера. Впрочем, базы 1С достаточно компактны и обычно составляют десятки гигабайт, что не так уж и дорого. И еще момент – довольно часто в БД, помимо собственно записей базы, хранятся сканы всяческих документов и пр. Такая база будет огромной, но всю ее кэшировать – бессмысленная трата денег.
О дисковой системе серверов 1С
1С любит быстрые диски. Очень любит. Поэтому магнитные накопители мы не рассматриваем. Совсем. Только SSD соответствующей производительности.
Немного об архитектуре. Когда-то, во времена магнитных дисков, для обеспечения достаточной производительности приходилось не только использовать RAID из большого количества дисков, но и разносить разные данные на разные массивы. В особо тяжелых системах это актуально и сейчас. Но в большинстве случаев достаточно одного массива из SSD. Причем самый простой и удобный путь – один datastor, на котором лежат виртуальные машины терминала, базы и сервера приложений. Это и будем иметь в виду далее.
Серверные SSD против десктопных. До сих пор можно услышать мнение, что десктопные диски быстрее серверных. Это не так. ТТХ десктопных дисков приводятся в «чистом» состоянии, когда характеристики максимальны. ТТХ же серверных дисков измеряются для тяжелой нагрузки, когда диск естественным образом забивается «мусором» и «чтобы что-то записать надо сначала расчистить место». Не буду вдаваться в подробности устройства SSD, просто имейте в виду, что это просто нюансы маркетинга.
NVMe – это круто. Да, интерфейс действительно быстрее, чем SATA. Но в сервере 1С крайне редко бывает такая нагрузка, чтобы забивался интерфейс – чаще все упирается в производительность контроллера и флэша. Вот если диск и сам по себе быстр, а нагрузка тяжела, то интерфейс NVMe может дать эффект – но не драматический.
Для небольших систем, с 10-20 пользователями, вполне достаточно серверных дисков начального уровня (их часто называют read intensive) в RAID1, даже на интегрированном контроллере. Обычно они имеют ресурс 1DWPD. В общем, любые недорогие серверные SSD.
Для более серьезных систем рекомендуется использовать диски среднего класса – как правило 3 DWPD. Желательно использовать не интегрированный, а полноценный аппаратный RAID10. Аппаратный контроллер и сам по себе мощнее, позволяет использовать свой кэш (см. ниже) и SAS диски, которые как правило значительно производительнее, чем SATA. Производительные NVMe U.2 диски тоже хороши, но выбор RAID контроллера в этом случае будет сильно ограничен (в т.ч. и ценой).
Intel Optane
Это самый быстрый из существующих накопителей информации. Но дорогой. Поэтому его использование в небольших системах малооправдано. Оно и в достаточно больших не всегда оправдано – как правило хватает и «обычных» Flash дисков.
Нюанс тут в том, что 1С не столько создает большую нагрузку, сколько нуждается в минимальном времени отклика, особенно на записи – а flash диски с кэшем и так весьма быстры. В общем, мощная и дорогая штука, которая нужна в очень тяжелых случаях, если более простые средства не помогли. Но если есть финансовые возможности – прекрасное решение.
О ресурсе
В большинстве случаев (мы говорим о сервере 1С начального-среднего уровня!) неактуально. Современные серверные SSD имеют ресурс в петабайты, чего достаточно на весь срок жизни сервера. Впрочем, диски с бОльшим DWPD как правило еще и более быстрые – так что все зайцы убиваются автоматически при выборе диска нужной производительности.
О кэшировании серверов 1С
Серверные SSD имеют встроенную защиту их кэша, так что его можно и нужно безбоязненно включать (в отличие от магнитных дисков). При этом кэш RAID контроллера лучше выключить. Как правило, при этом достигается максимальная производительность под большой нагрузкой. Но я ряде случаев полезно включение кэша контроллера – он находится ближе всего к процессору и время отклика будет минимальным.
Ситуации бывают разные, поэтому в случае серьезно нагруженной системы лучше всего определить это экспериментально. Только не забываем, что при включении кэша контроллера категорически рекомендуется использование защитного конденсатора (по инерции часто называемого «батарейка»).
Немного о проблемах самописных систем под 1С
Достаточно часто приходится слышать, что 1С «тупит», «тормозит нещадно» и другие злые слова. В большинстве случаев это говорит не о проблемах железа или самой платформы 1С, а о доработках, сделанных программистами предприятия или внедренцев.
Не всегда это их вина – зачастую это следствие вынесения в интерфейс большого количества полезных индикаторов, сложных отчетов и т.п. (например, в своей собственной системе мы пошли на компромисс с производительностью ради информативного интерфейса менеджеров и некоторых фирменных особенностей учета).
Если дело действительно в этом и у вас уже используется более-менее современных сервер с достаточным объемом ОЗУ и твердотельными дисками, то радикально эту проблему решить сложно и не всегда возможно.
Убедиться в этом достаточно просто – включить монитор производительности Windows. Если система «тормозит», а загрузка процессора не превышает 10-20-30%, то с большой вероятностью у вас проблема.
В этом случае можно и нужно использовать максимально высокочастотные процессоры. Увеличение количества ядер не поможет, т.к. суть проблемы в том, что одна клиентская сессия исполняется на одном процессорном ядре и скорость выполнения процесса ограничена его производительностью – сколько ядер ни дай, конкретная клиентская сессия быстрее работать не будет.
А вот высокая частота поможет – правда дорогой ценой и не в разы. Ну и, если возможно, используйте один мощный процессор.
Можно поставить более производительные SSD – не просто какие-нибудь NVMe, а именно быстрые сами по себе. В идеале Intel Optane (хотя тоже не панацея).
Пара слов о виртуализации серверов 1С
Да, она снижает производительность работы 1С. Возможно, на десятки процентов. В этом месте некоторые специалисты впадают в религиозный экстаз J Но! Виртуализация сильно повышает удобство обслуживания системы, отказоустойчивость и снижает время восстановления после отказа.
Для обеспечения отказоустойчивости можно использовать репликацию виртуальных машин. В Windows есть функция Hyper-V Replica, которая с некоторым интервалом копирует все изменения виртуальной машины на другой сервер.
В случае краха основного сервера можно просто запустить виртуальную машину на резервной ноде. Да, вы потеряете часть данных от последний операций (речь идет о минутах) – но в большинстве случаев это не так критично. Да, есть средства, позволяющие снизить потери, но тут вопрос цены (да и администрирование полноценного кластера на порядок сложнее).
Данное решение требует лишь второго сервера – причем он может быть и менее производительным, чем основной, лишь бы ОЗУ и дискового пространства было достаточно. Ну и даже если вы будете вынуждены восстанавливаться из ночного бэкапа, то восстановить виртуальную машину как правило быстрее и проще, чем «bare metal».
Второй момент. Гипервизор может привязать виртуальную машину к конкретным процессорным ядрам – важно, чтобы они принадлежали одному сокету. Это снизит потери производительности, в т.ч. и описанные выше проблемы двухпроцессорных машин.
Терминальный сервер желательно запускать в отдельной виртуальной машине от SQL сервера с сервером приложений. Это актуально как с точки зрения безопасности, так и для балансировки нагрузки.
В общем, несмотря на некоторое снижение производительности, можно рекомендовать использование виртуализации для систем 1С, просто заложить железо с несколько большей производительностью.
Кластеры выше 100 пользователей
«1С:ERP Управление предприятием 2» позволит выстроить работу любой компании. Это комплексный подход к управлению бизнесом, основанный на инновационных разработках от 1С и многолетнем опыте работы на отечественном рынке.
«1С:ERP» можно настроить под любую отрасль и размер предприятия. Удобство и тонкая настройка позволят добиться заметной экономии времени сотрудников и ресурсов компании!
«1С:ERP Управление предприятием 2» - это оптимизация ресурсов и финансов, это новый уровень управления малым и средним бизнесом.
Перерасход, разбалансировка сырьевых и финансовых потоков, низкая производительность – проблемы, с которыми сталкивается любое предприятие, когда поток клиентов увеличивается, а обороты растут.
Кластеры выше 100 пользователей
Решить их можно попытаться самому или нанять целый штат аналитиков и менеджеров, а можно пойти навстречу современным технологиям управления, которым доверяет весь мир и купить ERP систему. В основе «1С:ERP Управление предприятием 2» лежит проверенная практикой «1С:Предприятие 8.3». Система оптимизирована под крупные предприятия с учетом особенностей многопредельного производства.
Весь функционал и инструменты «1С:ERP Управление предприятием 2» разработаны с учетом возможностей представленных на рынке систем ERP и мировых практик организации процессов на производстве и систем управления. Все решения адаптированы к специфике предприятий России и СНГ.
Разработка «1С:ERP Управление предприятием 2» велась под наблюдением профильной комиссии, в которую были включены специалисты и руководители специализированных подразделений действующих производств.
Прежде чем выпустить «1С:ERP Управление предприятием 2» на рынок, она прошла тестирование в сотнях предприятий партнеров и клиентов «1С», которое длилось больше года. Это полностью готовый продукт, который получил самые высокие оценки. Более 90% протестировавших систему ERP клиентов поставили ей оценки «хорошо» и «отлично».
«1С:ERP Управление предприятием 2» - это флагман на рынке решений класса ERP в России, созданный с учетом мирового опыта ресурсного планирования, управления финансами и операционного менеджмента, а также управления активами.