Привет, Хабр! Трудности в выборе сервера для задач компаний, как правило, возникают и у опытных и у начинающих системных администраторов. Ассортимент поставок комплектующих внутри готового решения зачастую едва умещается на нескольких листах. А сервера на базе процессоров AMD EPYC и вовсе считаются диковинными зверями в стойках. Давайте посмотрим, что из себя представляет сервер ASUS RS500A-E10-RS12U в тандеме с накопителями Kingston DC1000M/960G.
Привычная последовательность при поиске подходящей платформы для пользователей обычно выражается вышенаписанным словосочетанием. Есть база данных, стоящая рядом с сервисом 1С, с виртуализацией или без, в 9 из 10 случаев вам предложат машину на процессоре Intel. Причем для 1С это будет не многоядерная сборка с максимальной частотой. Базу MSQL традиционно отправят на виртуальную машину с несколькими десятками ядер, сотнями гигабайт памяти. Но на этом этапе все забывают о пироге составляющих успеха функционирования такой модели. SQL требователен к системе хранения данных, и это в идеале должно быть защищенное место. Самый доступный вариант из серии серверного оборудования – это RAID массив из SAS дисков. Неважно, какой уровень вы выберите (естественно, из числа подходящих), SAS диски всегда будут оставаться узким местом, тормозящем SQL. Для десятка пользователей такой подход имеет право на существование, но по мере подключения новых людей, ядра и объем памяти вам не заменить IOPS-ами. Поэтому вместо смены всего модуля хранения в рамках экономии бюджета предпочитают доустановить несколько SSD дисков, поместив их на Temp.db, или, как их еще называют – кеш-SQL. И снова модель изживет себя по мере роста количества и сложности запросов со стороны 1С. Правильный, пусть и не дешевый подход – это создание массива RAID 10 из SSD дисков под временные файлы и основные базы SQL. В качестве примера возьмем объективно лучший SSD на рынке по цене/скорости NVMe PCIe SSD DC1000M.
Этот накопитель поддерживает шину PCIe Gen 3.0 x4 и создан для условий работы в смешанных нагрузках. Значит, в перечень сред его обитания входят:
DC1000M U.2 NVMe компании Kingston выпускается в различных объемах от 960 Гбайт до 7,68 ТБ. Одна из отличительных черт – это высокая емкость для хранения данных совместно с лучшей в своем классе производительностью для корпоративного применения. Он способен выдавать до 540 000 IOPS в режиме произвольного чтения (до 3100 МБ/с для операций чтения, 2600 МБ/с для операций записи). Конечно, это Вам не бытовой SSD, в DC1000M соблюдены все высокие требования к качеству обслуживания (QoS) и способен обеспечить предсказуемую производительность при выполнении произвольных операций ввода-вывода, а также предсказуемые значения задержки при выполнении широкого спектра рабочих нагрузок. Особенно стоит отметить предсказуемо низкие значения задержки, стабильно высокую производительность ввода/вывода и встроенную защиту от потери питания (PLP).
Четыре диска DC1000M мы установили в сервер RS500A-E10-RS12U, оснащенный процессором AMD EPYC 7542 (2.9Ггц, 32 ядра, L3 128Мб, 225 ватт), но подключим их не напрямую к процессору, а через контроллер Broadcom MegaRAID 9560-16i. Данная плата имеет ряд преимуществ над встроенными в материнскую плату контроллерами.
Стандартный перечень характеристик включает в себя поддержку 12Gb/s SAS и 6Gb/s SATA дисков. Контроллер подключается через шину PCIe Gen 4.0, что уже соответствует современным стандартам. Было бы странно, если бы производитель не задействовал новый интерфейс, т.к. он действительно необходим серверам. MegaRAID 9560-16i поддерживает «Hardware Secure Boot» и «Universal Backplane Management». На нем создаются RAID уровня 0, 1, 5, 6, 10, 50, и 60 с расширением томов в режиме реального времени без остановки. Во время работы с SSD можно использовать SSD GuardTM технологию, которая постепенно появляется в серверных SSD. С полным перечнем поддерживаемых технологий можно ознакомиться на сайте производителя, мы же доукомплектуем контроллер батарейкой и приступим к тестированию…
Для определения входных параметров и правильной настройки программного обеспечения в связке SQL+1C использовался «Нагрузочный тест TPC-1C» Гилева. Т.к. виртуализация все же влияет на производительность, но без нее не обходится практически ни одна компания, то сервер был введен в состав кластера средствами VMware. Создана одна виртуальная машина, объединившая в себе функции сервера 1С и SQL. MS SQL с базами и кешем был выведен на RAID 10 из DC1000M.
Быстрый тест выдал средние результаты, которыми вряд ли кого-нибудь удивишь. Однако, есть одно большое «Но», в представленной конфигурации ASUS RS500A-E10-RS12U, при увеличении количества пользователей до 200 человек, практически не терял отзывчивость на клиентских устройствах (подключение осуществлялось тонким клиентом). Более подробно о субъективных впечатлениях работы сервера с 1С и MS SQL чуть ниже. Мы же плавно переходим к многопоточному тесту производительности 1С.
Данный тест создан для оценки производительности связки сервер 1с — сервер СУБД в различных вариантах, а также масштабируемости этой связки в режиме многопоточной работы. Он создает множество фоновых сеансов и выполняет ими одинаковые действия, например, создание элементов справочников или запись наборов записей регистров. Это позволяет оценить, насколько производительна связка 1С — СУБД, а также насколько она масштабируема, т.е. количество активных пользователей, при котором система еще будет работать, но скорость существенно снизится. На первом графике тест показывает сводную информацию и падение производительности в зависимости от количества активных пользователей. Нормальная скорость, при которой отзывчивость и быстрота выполнения запросов остается «комфортной», расположена в диапазоне 400-500 единиц на поток (не учитывая временные таблицы). Потоки генерируются фоновыми заданиями. В нашем случае благодаря сбалансированной связке CPU + Память + быстрый RAID сервер легко переваривает более 112 пользователей. А в однопользовательском режиме результат и вовсе отличный:
Данный тест демонстрирует, насколько меняется распределение времени выполнения одной операции в зависимости от количества потоков, т.е. насколько влияют блокировки и обслуживание служебных таблиц типа итогов, нумераторов и т.п. Хороший показатель – выше 500 единиц. Фактически видимое и ощущаемое падение происходит только при 64 потоках, но психологический рубеж в 400-500 единиц не падает и на 112 потоках.
Таким образом, формально не самый лучший процессор для 1С выдерживает более 100 клиентов, выдавая хорошую скорость для них. Тесты с фоновыми заданиями все же не отражают объективную реальность, потому как лучшая проверка – это запустить пользователей на сервер, что мы и опробовали. Естественно, далее речь пойдет о субъективном ощущении от работы, потому как измерить производительность на настоящих людях невозможно. Но на 240 ГБ базе ERP отличная скорость выполнения запросов сохранялась вплоть до 100-120 пользователей. Далее, при достижении 160-170 человек в «он-лайн» отзывчивость падала, но не критическим образом. Даже 200 «тонких клиентов» чувствовали себя хорошо. Настоящая беда пришла с закрытием месяца, когда 200 пользователей ощутили местами заторможенность 1С. Опять же, это субъективные ощущения пользователей, привыкших к весьма быстрым серверам, специально сконфигурированных под задачи 1С+SQL. Платформу AMD EPIC в нашем случае лучше адресовать на задачу MSSQL, не объединяя вместе с сервером 1С. Хотя и в данном примере работа связки стабильно хорошая до 200 пользователей. Причем, ограничивающим фактором далее становится низкочастотный процессор, поднимающийся в «бусте» всего до 2,9 ГГц. Пропускная способность памяти и системы хранения RAID 10 из 4 SSD Kingston DC1000M выдержит гораздо больше пользователей. Кстати, предлагаю вам посмотреть, насколько шустро работает система хранения…
Как всегда, для оценки производительности дисковой системы задействуем сначала простейшие тесты, распространенные среди обзоров SSS – это CrystalDiskMark, AS SSD и скорость линейного чтения. Эти данные позволят нам сравнить конфигурацию, состоящую из контроллера Broadcom MegaRAID 9560-16i + 4 Kingston NVMe PCIe SSD DC1000M 960ГБ, объединенные в RAID 10 и бытовых SSD.
Даже при беглом осмотре данных наш сервер вроде бы выдал цифры аналогичные простейшему RAID 0 из пары SSD, но разница скрыта в другом! Типичный пользователь оценивает скорость по операциям последовательного чтения и записи в начале диска с учетом SLC-кеша, а серверу с базой данных важны показатели на всем объеме дисковой системы случайного чтения/записи мелкими блоками.
Квартет SSD DC1000M показывает стабильно высокую скорость линейной и случайной записи, а также чтения, на всем объеме массива. И ему не важно, будете вы занимать 10% или 99% доступного места на диске. В этом и заключается отличие от бытовых накопителей, дополнительно Kingston гарантирует исправную работу SSD. Срок гарантии составляет пять лет, что вполне типично для накопителя, но нагрузка записи заявлена до 1681 ТBW (1 DWPD/5 лет), что весьма немало для памяти TLC.
Даже если вы отлично разбираетесь в компьютерных комплектующих, понимаете их предназначение, то при переходе на серверные решения у вас обязательно возникнет состояние героя Доброго Ээха из мультфильма «Ух ты, говорящая рыба!». Происходящее хорошо выражено фразой: «Какой заяц, какой орел, какая блоха!!!». Но не стоит отчаиваться, в интернете полно правильных и неправильных советов. Мы же дадим вам правильный. Подбор сервера и его комплектующих нужно делать под ваши задачи. ASUS RS500A-E10-RS12U с процессорами AMD EPYC интересный комбайн для множества сценариев. Расширяя конфигурацию с помощью контроллера и SSD дисков DC1000M, вы закроете до 80% типичных серверных задач. В данной конфигурации раскрывается еще один приятный момент, а именно умеренное потребление системы в пересчете на производительность. Странно, что серверные процессоры AMD EPYC часто обходят стороной, ссылаясь на недостаточно оптимизированный софт. Но, как показала практика, более 3 месяцев сервер прекрасно выполнял возложенные на него задачи, даже с неподходящим софтом в виде 1С. По части MSSQL/скорости дисковой системы квартет SSD DC1000M превзошел наши требования. Всегда приятно иметь запас прочности в части накопителей ввиду постоянно растущей базы ERP и количества пользователей. Второе распространенное заблуждение – совместимость памяти с процессорами AMD EPYC. Ведь для десктопной платформы AM4 выбор и настройка DDR4 памяти дело нелегкое из-за архитектуры работы контроллера в CPU. Вот и кочует мнение, что раз в домашних ПК на это тратится много времени, то в серверном исполнении проблем еще больше…
К счастью, с ECC DDR4 памятью Kingston и отточенному BIOS серверу ASUS, все настройки подхватываются автоматически из микросхем SPD. Для этого даже не нужно изучать настройки BIOS. Память встает на свою законную частоту при первом включении, дальнейшие манипуляции с настройками от специалиста не требуются.
И наконец последний, часто задаваемый вопрос от людей, впервые сталкивающихся с серверами: «А зачем устанавливать дополнительный SSD DC1000B M.2 NVMe, когда используется RAID 10 из четырех Kingston NVMe PCIe SSD DC1000M?». Ответ лежит на поверхности. На него устанавливается рабочая операционная система, будь то продукт Microsoft, Linux или VMWare. Его отличие от потребительских SSD заключается в поддержке специфических функций, нужных для работы в серверах: встроенная защита от потери питания (PLP), повышенная износоустойчивость (при коэффициенте перезаписи всего объема диска в день (DWPD) 0,5 на 5 лет), привлекательная цена.
Автор: Дмитрий Владимирович aka Rasamaha
Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.
Цели – Задача – Определение
Привычная последовательность при поиске подходящей платформы для пользователей обычно выражается вышенаписанным словосочетанием. Есть база данных, стоящая рядом с сервисом 1С, с виртуализацией или без, в 9 из 10 случаев вам предложат машину на процессоре Intel. Причем для 1С это будет не многоядерная сборка с максимальной частотой. Базу MSQL традиционно отправят на виртуальную машину с несколькими десятками ядер, сотнями гигабайт памяти. Но на этом этапе все забывают о пироге составляющих успеха функционирования такой модели. SQL требователен к системе хранения данных, и это в идеале должно быть защищенное место. Самый доступный вариант из серии серверного оборудования – это RAID массив из SAS дисков. Неважно, какой уровень вы выберите (естественно, из числа подходящих), SAS диски всегда будут оставаться узким местом, тормозящем SQL. Для десятка пользователей такой подход имеет право на существование, но по мере подключения новых людей, ядра и объем памяти вам не заменить IOPS-ами. Поэтому вместо смены всего модуля хранения в рамках экономии бюджета предпочитают доустановить несколько SSD дисков, поместив их на Temp.db, или, как их еще называют – кеш-SQL. И снова модель изживет себя по мере роста количества и сложности запросов со стороны 1С. Правильный, пусть и не дешевый подход – это создание массива RAID 10 из SSD дисков под временные файлы и основные базы SQL. В качестве примера возьмем объективно лучший SSD на рынке по цене/скорости NVMe PCIe SSD DC1000M.
Этот накопитель поддерживает шину PCIe Gen 3.0 x4 и создан для условий работы в смешанных нагрузках. Значит, в перечень сред его обитания входят:
- Виртуализация
- Высокопроизводительные облачные сервисы
- Кэширование веб-хостинга
- Запись и передача медиафайлов высокого разрешения
- Рабочие нагрузки ERP, CRM, GL, OLAP, OLTP, ERM, BI и EDW
DC1000M U.2 NVMe компании Kingston выпускается в различных объемах от 960 Гбайт до 7,68 ТБ. Одна из отличительных черт – это высокая емкость для хранения данных совместно с лучшей в своем классе производительностью для корпоративного применения. Он способен выдавать до 540 000 IOPS в режиме произвольного чтения (до 3100 МБ/с для операций чтения, 2600 МБ/с для операций записи). Конечно, это Вам не бытовой SSD, в DC1000M соблюдены все высокие требования к качеству обслуживания (QoS) и способен обеспечить предсказуемую производительность при выполнении произвольных операций ввода-вывода, а также предсказуемые значения задержки при выполнении широкого спектра рабочих нагрузок. Особенно стоит отметить предсказуемо низкие значения задержки, стабильно высокую производительность ввода/вывода и встроенную защиту от потери питания (PLP).
Четыре диска DC1000M мы установили в сервер RS500A-E10-RS12U, оснащенный процессором AMD EPYC 7542 (2.9Ггц, 32 ядра, L3 128Мб, 225 ватт), но подключим их не напрямую к процессору, а через контроллер Broadcom MegaRAID 9560-16i. Данная плата имеет ряд преимуществ над встроенными в материнскую плату контроллерами.
Стандартный перечень характеристик включает в себя поддержку 12Gb/s SAS и 6Gb/s SATA дисков. Контроллер подключается через шину PCIe Gen 4.0, что уже соответствует современным стандартам. Было бы странно, если бы производитель не задействовал новый интерфейс, т.к. он действительно необходим серверам. MegaRAID 9560-16i поддерживает «Hardware Secure Boot» и «Universal Backplane Management». На нем создаются RAID уровня 0, 1, 5, 6, 10, 50, и 60 с расширением томов в режиме реального времени без остановки. Во время работы с SSD можно использовать SSD GuardTM технологию, которая постепенно появляется в серверных SSD. С полным перечнем поддерживаемых технологий можно ознакомиться на сайте производителя, мы же доукомплектуем контроллер батарейкой и приступим к тестированию…
Тестовая конфигурация
- Сервер: ASUS RS500A-E10-RS12U
- Процессор: AMD EPYC 7542 (2.9Ггц, 32 ядра, L3 128Мб, 225 ватт);
- Память: Kingston Server Premier Registered DDR4 DIMM 32 Гб PC4-25600 х 8 шт. (KSM32RD4 / 32MEI), суммарный объем 256 ГБ;
- Загрузочный диск: SSD Kingston DC1000B 240ГБ, оснащенный функцией встроенной защиты от потери питания (PLP);
- Контроллер Broadcom MegaRAID 9560-16i + 4 Kingston NVMe PCIe SSD DC1000M 960ГБ объединенные в RAID 10;
- Операционная система: Windows Server 2016 + 1C + MSSQL 2017;
Результаты тестов
Для определения входных параметров и правильной настройки программного обеспечения в связке SQL+1C использовался «Нагрузочный тест TPC-1C» Гилева. Т.к. виртуализация все же влияет на производительность, но без нее не обходится практически ни одна компания, то сервер был введен в состав кластера средствами VMware. Создана одна виртуальная машина, объединившая в себе функции сервера 1С и SQL. MS SQL с базами и кешем был выведен на RAID 10 из DC1000M.
Быстрый тест выдал средние результаты, которыми вряд ли кого-нибудь удивишь. Однако, есть одно большое «Но», в представленной конфигурации ASUS RS500A-E10-RS12U, при увеличении количества пользователей до 200 человек, практически не терял отзывчивость на клиентских устройствах (подключение осуществлялось тонким клиентом). Более подробно о субъективных впечатлениях работы сервера с 1С и MS SQL чуть ниже. Мы же плавно переходим к многопоточному тесту производительности 1С.
Данный тест создан для оценки производительности связки сервер 1с — сервер СУБД в различных вариантах, а также масштабируемости этой связки в режиме многопоточной работы. Он создает множество фоновых сеансов и выполняет ими одинаковые действия, например, создание элементов справочников или запись наборов записей регистров. Это позволяет оценить, насколько производительна связка 1С — СУБД, а также насколько она масштабируема, т.е. количество активных пользователей, при котором система еще будет работать, но скорость существенно снизится. На первом графике тест показывает сводную информацию и падение производительности в зависимости от количества активных пользователей. Нормальная скорость, при которой отзывчивость и быстрота выполнения запросов остается «комфортной», расположена в диапазоне 400-500 единиц на поток (не учитывая временные таблицы). Потоки генерируются фоновыми заданиями. В нашем случае благодаря сбалансированной связке CPU + Память + быстрый RAID сервер легко переваривает более 112 пользователей. А в однопользовательском режиме результат и вовсе отличный:
Данный тест демонстрирует, насколько меняется распределение времени выполнения одной операции в зависимости от количества потоков, т.е. насколько влияют блокировки и обслуживание служебных таблиц типа итогов, нумераторов и т.п. Хороший показатель – выше 500 единиц. Фактически видимое и ощущаемое падение происходит только при 64 потоках, но психологический рубеж в 400-500 единиц не падает и на 112 потоках.
Таким образом, формально не самый лучший процессор для 1С выдерживает более 100 клиентов, выдавая хорошую скорость для них. Тесты с фоновыми заданиями все же не отражают объективную реальность, потому как лучшая проверка – это запустить пользователей на сервер, что мы и опробовали. Естественно, далее речь пойдет о субъективном ощущении от работы, потому как измерить производительность на настоящих людях невозможно. Но на 240 ГБ базе ERP отличная скорость выполнения запросов сохранялась вплоть до 100-120 пользователей. Далее, при достижении 160-170 человек в «он-лайн» отзывчивость падала, но не критическим образом. Даже 200 «тонких клиентов» чувствовали себя хорошо. Настоящая беда пришла с закрытием месяца, когда 200 пользователей ощутили местами заторможенность 1С. Опять же, это субъективные ощущения пользователей, привыкших к весьма быстрым серверам, специально сконфигурированных под задачи 1С+SQL. Платформу AMD EPIC в нашем случае лучше адресовать на задачу MSSQL, не объединяя вместе с сервером 1С. Хотя и в данном примере работа связки стабильно хорошая до 200 пользователей. Причем, ограничивающим фактором далее становится низкочастотный процессор, поднимающийся в «бусте» всего до 2,9 ГГц. Пропускная способность памяти и системы хранения RAID 10 из 4 SSD Kingston DC1000M выдержит гораздо больше пользователей. Кстати, предлагаю вам посмотреть, насколько шустро работает система хранения…
Как всегда, для оценки производительности дисковой системы задействуем сначала простейшие тесты, распространенные среди обзоров SSS – это CrystalDiskMark, AS SSD и скорость линейного чтения. Эти данные позволят нам сравнить конфигурацию, состоящую из контроллера Broadcom MegaRAID 9560-16i + 4 Kingston NVMe PCIe SSD DC1000M 960ГБ, объединенные в RAID 10 и бытовых SSD.
Даже при беглом осмотре данных наш сервер вроде бы выдал цифры аналогичные простейшему RAID 0 из пары SSD, но разница скрыта в другом! Типичный пользователь оценивает скорость по операциям последовательного чтения и записи в начале диска с учетом SLC-кеша, а серверу с базой данных важны показатели на всем объеме дисковой системы случайного чтения/записи мелкими блоками.
Квартет SSD DC1000M показывает стабильно высокую скорость линейной и случайной записи, а также чтения, на всем объеме массива. И ему не важно, будете вы занимать 10% или 99% доступного места на диске. В этом и заключается отличие от бытовых накопителей, дополнительно Kingston гарантирует исправную работу SSD. Срок гарантии составляет пять лет, что вполне типично для накопителя, но нагрузка записи заявлена до 1681 ТBW (1 DWPD/5 лет), что весьма немало для памяти TLC.
Итог
Даже если вы отлично разбираетесь в компьютерных комплектующих, понимаете их предназначение, то при переходе на серверные решения у вас обязательно возникнет состояние героя Доброго Ээха из мультфильма «Ух ты, говорящая рыба!». Происходящее хорошо выражено фразой: «Какой заяц, какой орел, какая блоха!!!». Но не стоит отчаиваться, в интернете полно правильных и неправильных советов. Мы же дадим вам правильный. Подбор сервера и его комплектующих нужно делать под ваши задачи. ASUS RS500A-E10-RS12U с процессорами AMD EPYC интересный комбайн для множества сценариев. Расширяя конфигурацию с помощью контроллера и SSD дисков DC1000M, вы закроете до 80% типичных серверных задач. В данной конфигурации раскрывается еще один приятный момент, а именно умеренное потребление системы в пересчете на производительность. Странно, что серверные процессоры AMD EPYC часто обходят стороной, ссылаясь на недостаточно оптимизированный софт. Но, как показала практика, более 3 месяцев сервер прекрасно выполнял возложенные на него задачи, даже с неподходящим софтом в виде 1С. По части MSSQL/скорости дисковой системы квартет SSD DC1000M превзошел наши требования. Всегда приятно иметь запас прочности в части накопителей ввиду постоянно растущей базы ERP и количества пользователей. Второе распространенное заблуждение – совместимость памяти с процессорами AMD EPYC. Ведь для десктопной платформы AM4 выбор и настройка DDR4 памяти дело нелегкое из-за архитектуры работы контроллера в CPU. Вот и кочует мнение, что раз в домашних ПК на это тратится много времени, то в серверном исполнении проблем еще больше…
К счастью, с ECC DDR4 памятью Kingston и отточенному BIOS серверу ASUS, все настройки подхватываются автоматически из микросхем SPD. Для этого даже не нужно изучать настройки BIOS. Память встает на свою законную частоту при первом включении, дальнейшие манипуляции с настройками от специалиста не требуются.
И наконец последний, часто задаваемый вопрос от людей, впервые сталкивающихся с серверами: «А зачем устанавливать дополнительный SSD DC1000B M.2 NVMe, когда используется RAID 10 из четырех Kingston NVMe PCIe SSD DC1000M?». Ответ лежит на поверхности. На него устанавливается рабочая операционная система, будь то продукт Microsoft, Linux или VMWare. Его отличие от потребительских SSD заключается в поддержке специфических функций, нужных для работы в серверах: встроенная защита от потери питания (PLP), повышенная износоустойчивость (при коэффициенте перезаписи всего объема диска в день (DWPD) 0,5 на 5 лет), привлекательная цена.
Автор: Дмитрий Владимирович aka Rasamaha
Для получения дополнительной информации о продуктах Kingston Technology обращайтесь на официальный сайт компании.