`

СПЕЦІАЛЬНІ
ПАРТНЕРИ
ПРОЕКТУ

Чи використовує ваша компанія ChatGPT в роботі?

BEST CIO

Определение наиболее профессиональных ИТ-управленцев, лидеров и экспертов в своих отраслях

Человек года

Кто внес наибольший вклад в развитие украинского ИТ-рынка.

Продукт года

Награды «Продукт года» еженедельника «Компьютерное обозрение» за наиболее выдающиеся ИТ-товары

 

Серверы начального уровня под «1С»

+1515
голосов

Вся практика малого бизнеса построена на стратегии «делать больше, обходясь меньшим». Каким бы малым ни было предприятие, у него есть учетная система. Проходит время, с ростом числа сотрудников и объема данных работа в ней становится некомфортной: увеличивается время выполнения простых операций, привычные действия блокируют работу всего офиса. Обновление машинного парка сработает на компанию — если учтены вычислительные запросы используемых приложений, и против нее — если брать пример с того сказочного персонажа, заказавшего скорняку семь шапок из одной маленькой шкурки.

Когда с учетной системой работает 1-3 человека, а операций немного, сетевая инфраструктура компании проста: как правило, роль сервера выполняет ПК с разделяемым доступом. До поры до времени микро-бизнес мирится с недоступностью данных и приложений (если нет хозяина ПК с паролем), с незащищенностью информации, беспорядком в ее хранении.

Почему ПК плох в качестве сервера

Подмена серверов на процессорах Intel Xeon обычными ПК на Intel Core i5-i7 лишает их владельцев преимуществ, которые они могли бы получить за те же деньги.

При равной частоте процессоры Intel Core i7 и Intel Xeon E3 стоят одинаково. Но Intel Core i7 создан под однопользовательские приложения — вывод графики в играх и кодирование видеоданных, а Intel Xeon E3 оптимизирован на уровне внутреннего микрокода под обслуживание множества одновременных запросов пользователей, в том числе к различным устройствам ввода/вывода (диски, сеть) и поддерживает коррекцию ошибок оперативной памяти (ECC-память).

Бюджетные материнские платы для ПК не рассчитаны на круглосуточную эксплуатацию по ресурсу их компонентов. Есть ограничения по использованию дополнительных устройств — таких как RAID-контроллеры. На платах распаян один сетевой порт на дешевом чипе — потенциально узкое место при сетевых обменах. У серверных плат есть как минимум два сетевых порта на специализированных многопоточных чипах. Дорогие же материнские платы для ПК на качественных компонентах стоят как серверные, и даже дороже.

Уже при 3-5 сотрудниках предприятию для продуктивной работы нужен выделенный сервер. В отличие от пользовательского ПК, сервер подлежит эксплуатации в режиме 24×7 (а не 8×5) в многозадачной многопользовательской среде, с доступом к данным и приложениям по сети, разграничением прав доступа и соответствующим уровнем надежности хранения (см врезку).

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

Якорное приложение

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

Попробуем оценить вычислительную нагрузку на серверы начального уровня под «1С:Предприятие 8.2», ограничившись диапазоном 5-25 пользователей — типичным для малого бизнеса. Обычно используются базовые конфигурации «Бухгалтерский учет» или «Управление Торговым Предприятием» — для регламентированного и оперативного учета, а также «Управление торговлей» — для оперативного и складского учета. Конфигурации «Зарплата и Управление Персоналом» и «Управление Торговым Предприятием» в сегменте «5-25» почти не встречаются.

«Семь… восемь…»

Платформа «1С:Предприятие 8.2» вышла на уровень систем ERP-класса, но потеряла былую легкость предшественницы «1С:Предприятие 7.7» по отношению к запрашиваемым аппаратным ресурсам. Против «семерки», с ее структурным кодом, «восьмерка» более объектно-ориентированная. Так, количество табличных ссылок на объект конфигурации в 8.2 выросло против 7.7 в 20-50 раз.

Платформа 8.2 ориентирована на работу с SQL-сервером. Ее стандартные конфигурации построены на использовании SQL-запросов, в том числе сложных и вложенных. В платформе 7.7 запросы большей частью применялись для построения отчетов. Если на «семерке» в файловом режиме можно было продуктивно работать, то его производительность в «восьмерке» стремительно падает с ростом объема базы данных: при увеличении количества пользователей резко растет количество блокировок таблиц, особенно при доступе к файлам базы данных по локальной сети.

Двухуровневая архитектура платформы «1С:Предприятие 7.7» (SQL-сервер или файлы на диске — Клиентское приложение 1С) поощряла использование терминального доступа к приложению (Remote Access), особенно на предприятиях с большим количеством пользователей или с объемными базами данных. При этом все данные хранятся и обрабатываются на сервере, а у пользователя на ПК только отображается картинка. Такая модель эксплуатации повышает сохранность базы данных, улучшает общую производительность и снижает зависимость от мощности конечных компьютеров пользователей.

В трехуровневой от рождения платформе «1С:Предприятие 8.2» (SQL-сервер — Сервер приложений 1С — Клиентское приложение 1С) терминальный доступ не критичен, разве что при работе в двухуровневом файловом режиме (Файл — Клиентское приложение 1С) пяти и более пользователей.

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

В задаче проектирования сервера под «1С» для сегмента «5-25», исходим из того, что:

— 5 пользователей «1С» (1-2 активных) с базой до 500 МБ и небольшой нагрузкой обойдутся файловым режимом работы (сервер используется именно как файл-сервер);

— 5-10 пользователям (3-5 активных) базы данных объемом 0,5-1 ГБ скорее всего потребуется режим удалённого доступа к приложению Remote Access (сервер выполняет роль и файл-сервера, и сервера терминалов) и переход на SQL-версию;

— 10 и более сотрудникам с базой данных более 2 ГБ почти всегда требуется SQL-сервер и «1С:Предприятие 8.2. Сервер приложений»;

— При 15 сотрудниках к нагрузке SQL-сервера обычно добавляется поддержка удаленного рабочего стола пользователей (Remote Desktop) — наиболее продуктивного и оптимального по совокупным (включая поддержку) затратам режима работы, даже при необходимости покупать пользовательские лицензии для удаленного доступа (Remote Desktop CAL).

Определяемся с вычислительной мощностью сервера

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

Малому числу пользователей «1С:Предприятие 8.2» для работы с небольшой базой данных 1-2 ГБ в файловом режиме будет достаточно классического файлового сервера на младших процессорах линейки Intel Xeon E3. Объем необходимой оперативной памяти (ОЗУ) считается совсем просто: 2 ГБ под операционную систему и 2 ГБ под кэширование файлов — итого 4 ГБ. При работе пользователей с файловой версией в режиме удаленного рабочего стола потребуются процессоры чуть мощнее — например, Intel Xeon E3-1240v2. Дополнительно к 4 ГБ надо зарезервировать по 150-200 МБ ОЗУ оперативной памяти на каждого пользователя «1С» (1-4 ГБ) — итого порядка 8 ГБ ОЗУ.

В SQL-версии с пользовательским приложением «1С» на клиентских рабочих станциях также хватит среднего процессора из линейки Intel Xeon E3. Дополнительно к 4 ГБ понадобится зарезервировать 1-2 ГБ ОЗУ для кэша SQL-сервера и 1-2 ГБ ОЗУ для Сервера приложений «1С» — то есть всего порядка 6-8 ГБ ОЗУ. В режиме удаленного стола для SQL-версии оптимально использовать линейку старших процессоров Intel Xeon E3 — например, 1270v2, и 8-12 ГБ ОЗУ (а то и 16 ГБ — благо оперативная память нынче недорога).

15-25 сотрудникам, работающим с SQL-сервером в режиме удаленного рабочего стола, хватит процессора из старших Intel Xeon E3 и 16 ГБ оперативной памяти (2 ГБ под ОС, 2 ГБ под кэширование, 2-4 ГБ для кэша SQL-сервера и 1-2 ГБ для Сервера приложений «1С», по 150-200 МБ на каждого пользователя «1С»). Если пользователи на сервере будут запускать Microsoft Word/Excel/Outlook, то на каждое приложение надо выделить еще порядка 100 МБ на брата. Нагруженному серверу терминалов 32 ГБ ОЗУ не помешают.

Таким образом, c точки зрения процессорной мощности, предприятию сегмента «5-25» для работы в «1С:Предприятие 8.2» достаточно сервера с одним процессором и 8-16-32 ГБ оперативной памяти.

В зоне особого внимания

IOPS, MB/s, latency

Количество операций ввода вывода в секунду IOPS (Input/Output operations Per Second) — частотная характеристика, оценка интенсивности обслуживания дисковой системой приходящих запросов. Это далеко не то же самое, что MB/s, мегабайты в секунду – объем прочитанных/записанных данных в единицу времени. Какой из критериев применять к оценке дисковой активности, зависит от типа приложения и характера обращения к данным. К ячейкам таблиц баз данных приложение обращается произвольным (random) образом — там важнее IOPS’ы. Резервное копирование - потоковая операция с последовательным (sequential) доступом к данным, требовательная к скорости MB/s.

Величина IOPS мало информативна без указания времени задержки отработки запроса (latency) и в отрыве от информации о структуре данных: процентного соотношения операций чтения и записи, размера блоков ввода-вывода, длины очереди запросов. Latency — как метрика затрат
времени приложением на выполнение одного запроса ввода-вывода – самая важная характеристика при работе с базами данных, где критично время отклика системы на запрос.

Дисковая подсистема, способная выдать 10000 IOPS со средним временем отклика 50 ms с точки зрения пользователя будет медленнее, чем система, выдающая “всего“ 1000 IOPS, но со средней задержкой 10 ms.

Если центральный процессор сервера полностью загружен, это еще не повод для покупки двухпроцессорного сервера. Процессор может быть занят банальным ожиданием выполнения операций ввода-вывода. Чтобы в этом убедиться, достаточно проанализировать дисковую и сетевую активность — в каждой ОС есть свои средства мониторинга, которые позволяют это сделать. Разобравшись с очередями запросов к дискам/сетевым картам и изменив устройство подсистем, можно разгрузить CPU и решить проблему.

В оценке систем хранения есть свои устойчивые заблуждения. До сих пор многие отождествляют их производительность с пропускной способностью (в МБ/s), и даже не физического устройства — диска, а интерфейса к этому диску. Это все равно как выбирать автомобиль по значению максимальной скорости, выбитой на его спидометре. В реальной жизни куда больше практического смысла у такого качества автомобиля, как приемистость (способность ускоряться).

Базы данных чувствительны к длительности обслуживания запросов. Малые задержки, наряду с высокой надежностью хранения — два приоритета серверов баз данных. Способность базы данных к быстрому отклику зависит от физических возможностей устройств хранения обработать поток запросов (в IOPS) и от характера работы с данными (см врезку). Задержки отклика на запросы выливаются в простой сервера — ожидание пользователем ответной реакции учетной системы. В большинстве случаев корни простоя надо искать в дисковой системе, построенной без анализа свойств якорного приложения и его запросов. Процессор не виноват, что его ресурсы не востребованы и он фактически простаивает в ожидании рассасывания дисковых очередей — как невиновны светофоры в транспортных пробках неудобного для езды города.

Структура данных в «1С» — объектно-ориентированная, со множеством перекрестных связей между объектами. Ее дисковый трафик складывается из потоков обращений к таблицам баз данных (DB), их индексным файлам (index), временным таблицам (tempDB), файлам протоколов (логов) SQL и 1C, временным файлам пользовательских приложений «1С» (tmp). Для работы с таблицами и индексами баз данных чрезвычайно важно быстрое обслуживание большого количества операций чтения и записи (IOPS) произвольного (random) доступа. Очень скромная база данных объемом 200-400 МБ с 3-5 пользователями может генерировать пиковые нагрузки порядка 400-600 IOPS, база на 10-15 пользователей объёмом в 1-2 ГБ — порядка 800- 1500 IOPS, нагруженная база данных на 25 пользователей объемом 4-8 ГБ — порядка 1500-3000 IOPS.

Оптимизируем дисковую систему

«Штрафы» ввода-вывода, или почему RAID 5 плохой выбор в серверах баз данных

Для расчета реальной производительности дисковой подсистемы нужно учитывать затраты («штраф») на запись, которые несет дисковая группа в RAID. На одну операцию записи с хоста (фиксируемую на уровне ОС) приходится две операции ввода-вывода в RAID 10, четыре — в RAID 5 и шесть — в RAID 6.

Вычисляя предельно достижимое значение IOPS RAID-массива, надо делить сумму IOPS его дисков на «штраф» выбранного уровня RAID. RAID 5 экономно расходует дисковое пространство, но создает серьезную вычислительную нагрузку на RAID-контроллер и/или CPU. В терминах операций ввода-вывода, RAID 5 — пожиратель IOPS при записи, расходуя их вдвое больше чем RAID 1 и 10.

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

В серверах баз данных используются RAID-массивы из нескольких дисков — для обеспечения производительности и надежности хранения. Уровни RAID различаются алгоритмами избыточности, полезной емкостью и количеством «потребляемых» операций ввода-вывода. Чудес не бывает — на избыточность в хранении данных расходуется либо емкость дисков, либо быстродействие массива на запись.

Во времена механических HDD было два способа борьбы за IOPS и малые задержки: переход на диски c большей скоростью вращения привода и увеличение количества дисков RAID-группы. Показатели RAID-массива в IOPS определяются физическими возможностями дисков, с учетом накладных расходов (см. врезку). Для баз данных число операций произвольного чтения и записи в единицу времени — важнейший параметр, поэтому в серверах баз предпочитают RAID 10. У RAID 10 из 4-х дисков скорость чтения равна скорости чтения с 4-х дисков, а скорость записи — скорости записи на 2 диска.

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

Серверы начального уровня под «1С»У серверных SSD есть свой контроллер, кэш-память, защита записи по питанию, встроенные процедуры оптимизации производительности и блок ускорения шифрования без потери быстродействия. Фактически, каждый SSD диск — это RAID-контроллер в миниатюре. При этом для SSD стали бесполезны такие интеллектуальные возможности дорогих RAID-контроллеров массивов HDD, как сортировка обращений к дискам для оптимизации траектории движения головок от одного блока данных к другому.

В типичных для баз данных малого бизнеса задачах два диска SSD в RAID 1 по времени отклика и показателю IOPS перекрывают 10-12 традиционных дисков SAS HDD 15K rpm в RAID 10. О перевесе SSD над SATA HDD 7200 rpm лучше скажут графики сравнения по числу IOPS и времени отклика.

Серверы начального уровня под «1С»

Серверы начального уровня под «1С»

В сервере начального уровня суммарный объем «горячих» данных (критичных к скорости обращения) невелик: сама база данных, ее индексы и временные таблицы — десятки гигабайт от силы. Сюда же можно проинсталлировать саму «1С» и разместить профили пользователей «1С» (но только «1С», а не всего MS Office с базами Outlook!). C их обслуживанием в рабочей среде «1С» прекрасно справится пара SSD серверных, и даже «околосерверных» серий. Стоить такие диски будут при небольшой емкости сопоставимо с дисками SAS HDD, служить будут долго (в особенности, если применить overprovisioning — оставить неразмеченной большую часть их емкости).

Более объемные данные: ОС, приложения, пользовательские папки, резервные копии, log-файлы и файловые архивы — не так критичны к скорости доступа («холодные» данные). Им с головой хватит производительности двух недорогих и емких SATA HDD 7200 rpm, объединенных в RAID 1.

Получается, серверу начального уровня больше четырех дисков и не нужно. Двух SSD в RAID 1 достаточно под «горячие» данные, на двух SATA HDD в RAID 1 комфортно разместятся приложения и объемные «холодные» данные. Упрощаются требования к RAID-контроллеру (если он объективно нужен): достаточно поддержки 4 дисков и уровней 1, 10. Оптимизировать сочетание SSD, HDD и RAID-контроллера помогает мониторинг дисковых операций на живой системе с реальными данными.

RAID 1, 10 — и нужен ли выделенный контроллер?

Круг контроллеров для обслуживания 4 дисков в RAID-массивах уровней 1 или 10 можно свести к трем кандидатам:

— контроллеру в составе базового набора логики материнской платы;

— выделенному SAS HBA (c функцией 1, 10) на шине PCIe;

— выделенному SAS RAID (1, 10) на шине PCIe.

В таблице сравниваются их типичные представители: Intel Matrix RAID — LSI 9211-4i — Adaptec 6405E:

Серверы начального уровня под «1С»

По производительности больших отличий между ними нет, разве что Intel Matrix RAID больше загружает CPU. Различаются: устойчивость к внешним факторам (например, отключение питания), риски разрушения массива и сложность процедур восстановления данных.

Intel Matrix RAID использует базовую логику чипсета для ввода/вывода и расходует ресурсы центрального процессора и оперативной памяти на расчет контрольных сумм RAID5, кэширование чтения/записи, управление массивом. Он существенно зависит от драйверной поддержки: восстановление RAID-массива после сбоя начинается только после старта ОС и загрузки драйверов. При неотключенном кэшировании записи в оперативной памяти (по умолчанию оно включено) и сбое по питанию есть вероятность разрушения массива. Но ведь и достается контроллер бесплатно, в составе материнской платы.

LSI 9211-4i является аппаратным RAID-контроллером. Созданный как выделенный контроллер ввода/вывода с поддержкой протоколов SAS и SATA, он снабжен собственным процессором и реализацией RAID 1 и 10 на уровне прошивок. Поддерживает расширение массива (что в нашем случае не слишком актуально), имеет широкий список совместимости с операционными системами.

Гибридный RAID-массив

Собирается из дисков различной внутренней архитектуры — твердотельного SSD и классического HDD с механическими вращающимися дисками. Его преимущество — в высокой скорости чтения с SSD. Запись на SSD и HDD производится одновременно. Гибридные массивы поддерживаются всеми контроллерами Adaptec серий 2, 5, 6.

В минимальном сочетании 1 SSD/1 HDD гибридный массив эффективен в серверах фронтальных приложений с преобладанием чтения произвольного доступа. Для универсального сервера начального уровня может быть интересным такое решение: 1 SSD (например, 60GB) и 2 HDD (по 500GB) собираются в два массива. Один из них - гибридный (RAID 1 из SSD и 60GB первого HDD), второй — обычный (RAID1 из оставшейся емкости первого HDD и второго HDD).

Adaptec 6405E — полноценный аппаратный RAID-контроллер со своим двухъядерным процессором и кэш-памятью. К его достоинствам можно отнести независимость представления RAID-массива от драйверов и операционных систем (он легко переносится на другой физический сервер), и поддержку гибридных массивов из смеси SSD/HDD (см врезку).

Не все SSD одинаково полезны или Где хранить «горячие» данные

Очень немногие SSD пригодны к использованию в серверах. Как правило, сам производитель определяет их область применения и не стоит экспериментировать на своем сервере с продуктами бытового назначения — для ноутбуков и ПК. Даже если для SSD заявлены привлекательные характеристики, следует помнить, что однопользовательские игровые приложения и серверные задачи оперируют разными типами данных, их критерии применимости SSD отличаются кардинально. Для сервера принципиально важны: большое значение IOPS, особенно по записи произвольного доступа, малое значение latency, наличие встроенных средств и процедур увеличения производительности, продолжительность жизни (количество гарантированных циклов перезаписи).

Сравнивая параметры различных линеек SSD одного производителя, можно судить об их применимости в серверах (см. таблицу).

Серверы начального уровня под «1С»

По параметру Random Read IOPS более-менее сильны все SSD. Серверные SSD отличает высокое значение Random Write IOPS — причем, измеренное при заполнении 100% пространства диска (100% Span) — см врезку. Еще один критичный параметр — время отклика SSD на одиночный запрос Latency Read/ Write, µs. Разница между интеловскими серверной 3700-й и бытовой 520-й сериями — почти в 2 раза.

Параметры SSD и уловки маркетологов

Приписка 8 GB span в таблицах с характеристиками SSD означает, что приведена производительность при заполнении всего 8 GB из общего объема диска. Хитрость состоит в том, что с уменьшением резерва ячеек памяти производительность SSD падает. При 100% заполнении показатель Random Write IOPS может ухудшиться в 20-80 (!) раз.

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

Заявленная производительность Intel SSD 520 series 60 GB составляет 80 000 IOPS для «компрессируемых» и всего лишь 6 900 IOPS для несжимаемых данных. Производительность в серверном режиме со 100% заполнением просто не приводится.

Жизненно важный фактор для SSD — это объем перезаписи, который способен выдержать диск при полноценной эксплуатации (умирая, SSD переходит в состояние Read Only). Здесь чудеса творит overprovisioning — выделение контроллеру SSD служебной области, недоступной пользователю. Свободный резерв памяти упрощает процесс неизбежного перемещения валидных данных при перезаписи содержимого ячеек (ускоряет запись) и предотвращает их преждевременный износ. Так, для SSD Intel 710 series 100 ГБ паспортный оборот данных при записи с полностью произвольной выборкой и 100% заполнении составляет 900 TB. У идентичного ему по контроллеру, схемотехнике и микросхемам флэш-памяти SSD Intel 320 series 160 ГБ этот же показатель равен всего 15 TB. Дело не только в особенностях прошивок и отборе микросхем памяти. Служебный резерв ячеек памяти у 320-й серии составляет 8% общего объема, а у 710-й серии — все 42%.

Зная назначение SSD, их реальные нагрузочные возможности и будущие условия эксплуатации, можно подобрать оптимальные по соотношению стоимость/производительность/ресурс накопители под свои задачи, а заодно принять меры для увеличения их производительности и продления срока службы. Ведь если производитель отводит под служебную область до половины объема SSD, то что может помешать конечному пользователю поступать так же, оставляя неразмеченной и 20, и 50, да хоть 80% емкости SSD? Только жадность и безграмотность.

Пусть HDD в сервере начального уровня хранят «холодные» данные

Задача обслуживания «горячих» данных в сервере начального уровня по силам 1-2 SSD. На долю HDD остается хранение «холодных» данных (ОС, приложения, папки пользователей, бэкапы и файловые архивы) — где не нужны подвиги по скорости отклика и IOPS’ам, зато на руку невысокая удельная цена хранения. Два SATA HDD в RAID 1 обеспечат приемлемый уровень производительности и надежности.

Диски большого объема стоят относительно недорого, но за емкостью лучше не гнаться — она серверу вряд ли потребуется (если только не хранить на нем посторонние данные). Массив большой емкости после сбоя может восстанавливаться часами. Скорость его работы в деградированном состоянии низка, а риск полной потери данных, напротив, велик. Чем меньше емкость дисков — тем быстрее реконструируется RAID.

В серверы ставят SATA HDD класса RAID Edition — такие как Seagate Constellation ES, Hitachi Ultrastar или WD RE. Их отличает долгий срок службы, специальные прошивки и встроенные технологии, снижающие риск развала массива, особенно в работе под аппаратными RAID-контроллерами — как Adaptec 6405E и LSI 9211-4i. При малой нагрузке в программно-аппаратный RAID можно собирать менее дорогие диски серий WD Red или Seagate Constellation СS.

Сетевые операции

В отличие от однопользовательского ПК, серверу, обслуживающему множественные запросы пользователей сети, нужны как минимум два сетевых порта Gigabit Ethernet — для обеспечения отказоустойчивости и балансировки нагрузки. Крайне желательна аппаратная поддержка TOE (TCP Offload Engine) — ускорения обработки сетевых пакетов стека протоколов TCP/IP. Встраиваемые в сетевые адаптеры наборы команд разгружают центральный процессор. При отсутствии поддержки TOE каждый пакет, проходящий через сетевую карту, будет требовать отдельного прерывания и обслуживания процессором. Как следствие, процессор будет загружен обработкой этого потока ввода/вывода.

Примером сетевого чипа, который перекладывает обработку трафика на центральный процессор, является Intel 82574L — его часто размещают на серверных материнских платах в дополнение к основному сетевому контроллеру, для управления сервером либо как резервный канал. Если это единственный сетевой контроллер в сервере, интенсивные сетевые операции потянут на себя вычислительные ресурсы.

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

Для компаний до 15 пользователей существует экономичный серверный продукт Microsoft — Windows Server 2012 в редакции Foundation. При стоимости чуть выше Windows Professional, это полноценная ревизия Windows Server, куда уже включены пользовательские лицензии (User CAL), на нем можно настроить сеть с аутентификацией и контролем доступа к ресурсам на уровне Active Directory (AD), а при покупке лицензий Remote Desktop CAL (RD CAL) работать пользователям на сервере в режиме удаленного рабочего стола.

Если пользователей больше, обычно используют Windows Server 2012 Standard, который позволяет разместить на одном сервере и общие функции сервера с AD, и SQL-сервер, и Сервер приложений «1С» 8.2, и само пользовательское приложение «1С:Предприятие 8.2». Правда, кроме самой ОС придётся покупать как минимум клиентские лицензии на каждого пользователя User CAL, а при использовании удаленного рабочего стола — еще и RD CAL.

Оба варианта ПО от Microsoft успешно справятся и с традиционными задачами файл-сервера, шлюза в Интернет и т.д.

Какой он, сервер начального уровня?

При соблюдении баланса подсистем серверу начального уровня под «1С Предприятие 8.2» многого не надо: достаточно одного процессора Intel Xeon E3 (а то и Core i3), 4-16 (редко — 32 ГБ) оперативной памяти ECC, 2-4 дисков SSD/HDD, двух сетевых портов Gigabit Ethernet, слота расширения под дополнительный контроллер (HBA или RAID).

Это посильные потребности. Такой сервер будет недорог, прост в исполнении и скромен по габаритам: 1U глубиной порядка 40 см — если предполагается его установка на площадке провайдера, или размером с ПК — при настольной компоновке. Когда сервер работает в обитаемом помещении, мало соответствия его производительности запросам приложений. Хочется, чтобы он был компактный и тихий. К сожалению, поставщики серверов не так часто задумываются об их подгонке под задачи пользователей, и уж тем более о зримых и слышимых эксплуатационных характеристиках.

Серверы начального уровня под «1С»Небольшой по размерам сервер можно собрать на плате Intel 1200KP-R на чипсете С206 (фото платы). Скромный формат mini-ITX не мешает ей оставаться полноценной серверной платформой: поддерживаются процессоры Intel Core i3 и Xeon E3 12×5, до 16ГБ оперативной памяти ECC, есть 4 бортовых порта SATA, слот расширения x16 PCIe, два сетевых порта Gigabit Ethernet (i82574L + i82579) с драйверами под все основные ОС. Если такую плату поставить в корпус Chenbro SR301 (фото), сервер получится меньше большинства ПК, но при этом богатым по оснастке (можно поставить 4 диска 3,5" горячей замены и 2 фиксированных диска 2,5") и практически бесшумным в работе. Все дело в необычной конструкции корпуса и способе монтажа материнской платы — она лежит горизонтально, на дне корпуса, теплый воздух отводится наружу без принудительного наддува.

Подбирая наполнение, таким сервером-кубиком можно спокойно обслужить все приложения 5 — 25 сотрудников в «1С Предприятие 8.2». Большего от сервера начального уровня и не требуется. Все равно с ростом предприятия и объемов операций задачи поменяются, а с ними — инструменты их решения.

Серверы начального уровня под «1С»

Ready, set, buy! Посібник для початківців - як придбати Copilot для Microsoft 365

+1515
голосов

Напечатать Отправить другу

Читайте также

До чого тут безпосередньо 1С? Тези цілком загальні.

1C тут как пример массового приложения, капризного к аппаратным ресурсам. Раньше такие материалы публиковал журнал "Наука и жизнь" в рубрике "Хозяйке на заметку". Хотите - считайте набором рекомендаций по выжиманию производительности из начальных серверов в тисках малого бюджета. Упаси боже, мы не претендуем на роль новых евангелистов. Просто видим по ежедневной практике, что именно в части 1С небольшим компаниям пудрят мозги советчики. Хочется эту пудру сдуть.

О, чим саме вводять в оману підприємців?

Когда не хотят вникать в суть запросов приложения, впадают в крайности - от "зачем переплачивать за сервер, если справится Core i7" - до "купите двухпроцессорник на старших ксеонах". Воюем с RAID-массивами на SATA-дисках (в них иопсам взяться просто неоткуда), воюем с RAID-массивами из дисков SAS 15K (деньги на ветер), рассказываем, что разлет параметров между сортами SSD куда больше, чем между HDD. По сути, центральная идея статьи - акцент на разделении данных по "температуре"(интенсивности обращения). 1С - пример приложения, где данные отчетливо раскладываются на "горячие-холодные". Уделив внимание вводу/выводу, можно творить чудеса. Не хотели засорять статью графиками производительности, но два из них не могли не привести - отличия по времени отклика и иопсам между SATA и SSD. Это к вопросу о корнях (не)эффективности.

Суть я зрозумів - гарна стаття. Я назви не зрозумів, ги.
Дякую за розлоге пояснення.

Действительно, отличная статья. Действительно, название сбивает с толку.

"У RAID 10 из 4-х дисков скорость чтения равна скорости чтения с 4-х дисков, а скорость записи — скорости записи на 2 диска"

Я стесняюсь спросить - в RAID1(zerkalo) скорость чтения также соответственно равна скорости двух дисков?

В RAID 1 число IOPS на чтение = 2 х IOPS одного диска или меньше (зависит от очереди запросов), IOPS на запись = IOPS одного диска.

Т.е. количество IOPS-ов и у "зеркала", и у страйпа будет "сем-восем" одинаковое?

Чтение с зеркала сильно зависит от структуры (очереди) запросов и удвоения может не дать. Чтение со страйпа всегда дает удвоение. Но раз мы говорим о серверах, RAID 0 в принципе вспоминать не следует.

"Intel Core i7 создан под однопользовательские приложения — вывод графики в играх и кодирование видеоданных, а Intel Xeon E3 оптимизирован на уровне внутреннего микрокода под обслуживание множества одновременных запросов пользователей"
а пацаны из Intel то и не в курсе... (разработчики этих Xeon-ов, маркетолухи - не в счет)

"Дисковая подсистема, способная выдать 10000 IOPS со средним временем отклика 50 ms с точки зрения пользователя будет медленнее, чем система, выдающая “всего“ 1000 IOPS, но со средней задержкой 10 ms"
ага, вот давайте решим задачу на сообразительность для 5-го класса:
на дисковой подсистеме способной "выдать 10000 IOPS со средним временем отклика 50 ms" загрузка данных из одной бизнес-системы в другую прошла с 1 до 3 часов утра
и уже к 9-00 все сотрудники за работой могли обсуждать - как же ж медленно прошла эта выгрузка/загрузка
а на дисковой подсистеме способной "выдать “всего“ 1000 IOPS, но со средней задержкой 10 ms" сотрудникам, пришедшим на работу к 9-00, пришлось ждать, плюя в потолок, 21-00
потому что только тогда завершилась загрузка данных и они смогли приступить к работе, обсуждая - как же быстро все прошло
вопрос - где в условии задачи ошибка?

думаю, даже филологам понятно, что дисковая, выдающая 10K iops при 50ms, при меньшей нагрузке, соответствующей 10ms - выдаст куда больше чем 1K iops

>Warrax
> "а пацаны из Intel то и не в курсе... (разработчики этих Xeon-ов"
Не переживайте, они как раз в курсе.
Другое дело, что маркетологам проще просто разделить 2 бренда Core i7 и Xeon, не вдаваясь в подробности.
Стоят оба процессора одинаково, по посадочному месту на MB - тоже совпадают. А вот количество шин PCIe - разное. И прошивки - тоже разные.

>Warrax
> "думаю, даже филологам понятно, что дисковая, выдающая 10K iops при 50ms, при меньшей нагрузке, соответствующей 10ms - выдаст куда больше чем 1K iops"
Остается только порадоваться за филологов (и теоретиков).
Потому как не всякая дисковая подсистема с производительностью в 10000 IOPS со средним временем отклика 50 ms даже при снижении нагрузки в 10 раз сможет снизить время отклика до хотя бы 25 ms.

Также хотелось бы обратить внимание Warrax не некоторую некорректность приведенного примера с многочасовой загрузкой данных по ночам.
Если внимательно читать материал, то в самом начале указаны выбранные ограничения - сервер под базы данных 1С:Предприятие 8.2 на 5-25 пользователей.
Как правило, у таких предприятий крайне редко встречаются еженощные обмены информацией в таких объемах, которые требуют многочасовых обменов.
По крайне мере я плохо себе представляю коллектив сотрудников в 25 человек, способный набить за день (или даже неделю) объем информации, который 1С будет выгружать или загружать аж несколько часов. С "живым" примером - с удовольствием ознакомлюсь.

 

Ukraine

 

  •  Home  •  Ринок  •  IТ-директор  •  CloudComputing  •  Hard  •  Soft  •  Мережі  •  Безпека  •  Наука  •  IoT