Серверы Баз Данных Let`s Encrypt Перешли На Amd Epyc



Серверы баз данных Let`s Encrypt перешли на AMD EPYC

Внутренняя конструкция сервера Dell PowerEdge R7525 высотой 2U. Два серебряных прямоугольника посередине — это процессоры AMD EPYC 7542. Над и под ними расположены планки оперативной памяти по 64 ГБ каждая.

По левому краю фото 24 NVMe накопителя, такое возможно только на EPYC Давайте зашифруем - крупнейший удостоверяющий центр в Интернете, работает на своих бесплатных TLS-сертификатах более 235 миллионов сайтов .

В основе ЦС находится база данных, на основе которой осуществляется управление сертификатами.

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

По итогам 2020 года некоммерческая организация сделал обновление их серверы.

Let's Encrypt Core Software - Центр сертификации с открытым исходным кодом Валун с поддержкой протокола ACME. Он использует схемы и запросы в стиле MySQL для управления учетными записями пользователей и всем процессом выдачи сертификатов.

Центр сертификации с открытым исходным кодом работает с одной базой данных MySQL, MariaDB или Percona. В настоящее время использую MariaDB с движком InnoDB. ЦС начинается с единой базы данных, чтобы минимизировать сложность.

Разработчики говорят, что это хорошо с точки зрения безопасности, надежности и простоты обслуживания.

Let's Encrypt имеет несколько активных реплик базы данных в любой момент времени, и некоторые операции чтения перенаправляются на серверы реплик, чтобы снизить нагрузку на основную базу данных.

Одним из последствий такой конструкции является то, что серверы должны быть достаточно мощными.

Если бы серверы не справились, то в итоге Let’s Encrypt пришлось бы разбивать одну базу данных на несколько, но апгрейд позволил этого избежать.

Технические характеристики Предыдущие серверы были мощными, но регулярно достигали пиковой производительности.

Для нового поколения целью было более чем удвоить практически все показатели производительности в том же форм-факторе 2U. Для этой цели мы выбрали процессоры AMD EPYC и посчитали сервер лучшим вариантом.

Делл PowerEdge R7525 .

Вот его технические характеристики в сравнении со старыми серверами:

Предыдущее поколение Новое поколение
Процессор 2x Intel Xeon E5-2650 Всего 24 ядра/48 потоков 2x AMD ЭПИК 7542 Всего 64 ядра/128 потоков
Память 1 ТБ, 2400 МТ/с 2 ТБ, 3200 МТ/с
Диски 24x 3,8 ТБ Samsung PM883 SATA SSD 560/540 МБ/с чтение/запись 24x 6,4 ТБ Intel P4610 NVMe твердотельный накопитель 3200/3200 МБ/с чтение/запись
Как видите, количество ядер и памяти фактически увеличилось вдвое, а производительность SSD номинально выросла более чем в пять раз.



Серверы баз данных Let`s Encrypt перешли на AMD EPYC

1 — ручка, 2 — модуль расширения Riser 1, 3 — первый блок питания, 4 — модуль расширения Riser 2, 5 — радиатор для первого процессора, 6 — разъемы памяти DIMM для первого процессора, 7 — вентиляторы, 8 — сервисная бирка , 9 — задняя панель и материнская плата SSD, 10 — рамка вентилятора, 11 — разъемы памяти DIMM для второго процессора, 12 — радиатор для второго процессора, 13 — материнская плата, 14 — второй блок питания, 15 — модуль расширения Riser 3, 16 — Модуль расширения Riser 4 Каждый сервер оснащен двумя процессорами AMD EPYC, всего 64 физических ядра.

Тактовая частота составляет 2,9 ГГц с возможностью разгона до 3,4 ГГц под нагрузкой.

Что еще более важно, EPYC предоставляет 128 линий PCIe v4.0. Это позволяет разместить 24 диска NVMe на одной машине.

Эти накопители невероятно быстры (в 5,7 раз быстрее, чем твердотельные накопители SATA на серверах предыдущего поколения), поскольку используют PCIe вместо SATA. Количество линий PCIe обычно весьма ограничено: процессоры массового сегмента обычно имеют только 16 линий, а чипы Intel Xeon — 48. Здесь процессоры AMD EPYC выгодно отличаются от других процессорами AMD EPYC, имеющими 128 линий PCIe на чип, что позволяет установить большое количество накопителей NVMe. за машину.

Влияние на производительность Let's Encrypt указывает среднее время обработки запроса, поскольку этот показатель больше всего ощущается пользователями.

До обновления средний запрос API занимал около 90 мс.

После обновления - около 9 мс!

Серверы баз данных Let`s Encrypt перешли на AMD EPYC

На следующем графике показано, что старые процессоры работали на пределе своих возможностей.

За неделю до обновления загрузка процессора основного сервера базы данных (из /proc/stat) в среднем составляла более 90%:

Серверы баз данных Let`s Encrypt перешли на AMD EPYC

Новые процессоры AMD EPYC работают примерно на 25% от своей максимальной мощности.

Это можно увидеть на графике, где 15 сентября новый сервер был переведен из реплики (только чтение) в основной (чтение/запись).



Серверы баз данных Let`s Encrypt перешли на AMD EPYC

Обновление значительно снизило общую задержку базы данных.

Среднее время ответа (из INFORMATION_SCHEMA) раньше составляло около 0,45 мс.



Серверы баз данных Let`s Encrypt перешли на AMD EPYC

Запросы теперь обрабатываются в среднем в три раза быстрее, примерно за 0,15 мс.



Серверы баз данных Let`s Encrypt перешли на AMD EPYC

OpenZFS и NVMe Сегодня накопители NVMe становятся все более популярными благодаря своей невероятной производительности.

Однако до недавнего времени разместить много NVMe на одном сервере было практически невозможно, поскольку они используют линии PCIe, а процессор поддерживает ограниченное количество таких линий, как мы уже говорили.

Intel Xeon поддерживает 48 линий PCIe v3, причем некоторые из них используются совместно набором микросхем, сетевой платой и графическим процессором.

Для NVMe осталось несколько строк.

Процессоры AMD EPYC последнего поколения поддерживают 128 линий PCIe — производительность более чем в два раза выше, чем у Intel, и это PCIe v4! Этого достаточно, чтобы полностью упаковать сервер высотой 2U дисками NVMe (Dell вмещает 24 из них).

Если у вас есть сервер, полный дисков NVMe, вам нужно решить, как ими управлять.

Предыдущее поколение серверов Let's Encrypt имело аппаратный RAID в конфигурации RAID-10, но эффективного аппаратного RAID для NVMe не существует, поэтому пришлось искать другое решение.

Программный RAID (mdraid в Linux) рассматривался как один из вариантов, но разработчики посоветовали OpenZFS. Они решили попробовать и остались вполне довольны результатом.

Они говорят, что в Интернете мало информации о том, как лучше всего настроить и оптимизировать OpenZFS для дискового пула NVMe и рабочей нагрузки БД, поэтому они подробно описывают задокументировал собственный опыт .

Возможно, это будет кому-то полезно.

В Let's Encrypt говорят, что это обновление было необходимым и в каком-то смысле вынужденным, поскольку количество пользователей бесплатного ЦС постоянно растет, как и количество выдаваемых TLS-сертификатов.

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

Let's Encrypt — некоммерческий удостоверяющий центр, существующий за счет спонсорство и индивидуальный пожертвования .

Теги: #Компьютерное оборудование #Процессоры #SATA #Администрирование серверов #Администрирование баз данных #AMD EPYC #itsumma #Let's Encrypt #raid #mariadb #pcie #intel xeon #InnoDB #openzfs #mdraid

Вместе с данным постом часто просматривают: