Interne Dell PowerEdge R7525 2U-Server. Zwei silberne Rechtecke in der Mitte sind AMD EPYC 7542-Prozessoren. Über und unter ihnen befinden sich 64-GB-RAM-Streifen. Am linken Rand des Fotos befinden sich 24 NVMe-Festplatten. Dies ist nur auf EPYC
Let's Encrypt möglich - der größten Zertifizierungsstelle im Internet. Mehr als 235 Millionen Websites arbeiten mit ihren kostenlosen TLS-Zertifikaten . Das Herzstück der Zertifizierungsstelle ist die Datenbank, in der Zertifikate verwaltet werden. Es ist wichtig, dass die Leistung auf dem neuesten Stand ist. Andernfalls treten bei der Ausstellung von Zertifikaten API-Fehler und Zeitüberschreitungen auf.
Ende 2020 hat die gemeinnützige Organisation ihre Server aktualisiert .
Die Kernsoftware von Let's Encrypt ist Boulders Open-Source-Zertifizierungsstelle mit ACME-Unterstützung. Es verwendet Schemas und Abfragen im MySQL-Stil, um Benutzerkonten und den gesamten Prozess der Zertifikatsausstellung zu verwalten. Open Source CA funktioniert mit einer MySQL-, MariaDB- oder Percona-Datenbank. Derzeit wird MariaDB mit InnoDB-Engine verwendet.
Die Zertifizierungsstelle wird mit einer einzigen Datenbank ausgeführt, um die Komplexität zu minimieren. Die Entwickler sagen, dies sei gut für Sicherheit, Zuverlässigkeit und Wartungsfreundlichkeit. Bei Let's Encrypt sind zu einem bestimmten Zeitpunkt mehrere Datenbankreplikate aktiv, und einige Lesevorgänge werden an die Replikatserver gesendet, um die Belastung der Hauptdatenbank zu verringern.
Eine der Konsequenzen dieses Designs ist, dass die Server leistungsfähig genug sein müssen. Wenn die Server nicht zurechtkommen würden, müsste Let's Encrypt am Ende eine Datenbank in mehrere aufteilen, aber das Upgrade hat es möglich gemacht, dies zu vermeiden.
Technische Eigenschaften
Frühere Server waren leistungsstark, erreichten jedoch regelmäßig Spitzenleistungen. Für die neue Generation besteht das Ziel darin, nahezu alle Leistungsmetriken im gleichen 2U-Formfaktor mehr als zu verdoppeln. Zu diesem Zweck entschieden sie sich für AMD EPYC-Prozessoren und betrachteten den Dell PowerEdge R7525- Server als die beste Option . Hier sind seine technischen Eigenschaften im Vergleich zu den alten Servern:
| Vorherige Generation | Neue Generation | |
| Zentralprozessor | 2x Intel Xeon E5-2650
Insgesamt 24 Kerne / 48 Threads |
2x AMD EPYC 7542
64 / 128 |
| 1 2400MT/ | 2 3200MT/ | |
| 24x 3,8 Samsung PM883
SATA SSD 560/540 / / |
24x 6,4 Intel P4610
NVMe SSD 3200/3200 / / |
Wie Sie sehen können, haben sich die Anzahl der Kerne und die Speichermenge wirklich verdoppelt, und die Leistung der SSD hat sich nominell um mehr als das Fünffache erhöht.
1 - Griff, 2 - Riser 1 - Erweiterungsmodul, 3 - erstes Netzteil, 4 - Riser - Erweiterungsmodul 2, 5 - Kühlkörper für den ersten Prozessor, 6 - DIMM - Steckplätze für den ersten Prozessor, 7 - Lüfter, 8 - Serviceetikett, 9 - Rückseite und SSD-Motherboard, 10 - Lüfterkäfig, 11 - DIMM-Steckplätze für den zweiten Prozessor, 12 - Kühlkörper für den zweiten Prozessor, 13 - Motherboard, 14 - Netzteil, 15 - Riser 3-Erweiterungsmodul, 16 - Riser 4 Erweiterungsmodul
Jeder Server verfügt über zwei AMD EPYC-Prozessoren für insgesamt 64 physische Kerne. 2,9 GHz Taktrate bis zu 3,4 GHz unter Last. Noch wichtiger ist, dass EPYC 128 PCIe v4.0-Lanes bereitstellt. Dadurch können 24 NVMe-Festplatten in eine Maschine passen. Sie sind unglaublich schnelle Laufwerke (5,7-mal schneller als SATA-SSDs auf Servern der vorherigen Generation), da sie PCIe anstelle von SATA verwenden. Die Anzahl der PCIe-Lanes ist normalerweise recht begrenzt: Mainstream-Prozessoren haben normalerweise nur 16 Lanes, während Intel Xeon-Chips 48 Lanes haben. Hier sind AMD EPYC-Prozessoren im Vergleich zu 128 PCIe-Lanes pro Chip günstig, sodass eine große Anzahl von NVMe-Laufwerken installiert werden kann jede Maschine.
Auswirkungen auf die Leistung
Let's Encrypt gibt die durchschnittliche Bearbeitungszeit für Anforderungen an, da diese Metrik von den Benutzern am stärksten wahrgenommen wird. Vor dem Update dauerte die mittlere API-Anforderung ca. 90 ms. Nach dem Upgrade - ca. 9ms!
In der folgenden Grafik sehen Sie, dass die alten Prozessoren an ihren Grenzen liefen. In der Woche vor dem Upgrade betrug die durchschnittliche CPU-Auslastung des primären Datenbankservers (von / proc / stat) über 90%: Die
neuen AMD EPYC-Prozessoren werden mit etwa 25% ihrer maximalen Kapazität ausgeführt. Dies ist in der Grafik zu sehen, in der der neue Server am 15. September vom Replikat (schreibgeschützt) zum primären (Lese- / Schreibzugriff) hochgestuft wurde.
Das Update hat die Gesamtlatenz der Datenbank erheblich reduziert. Die durchschnittliche Antwortzeit (von INFORMATION_SCHEMA) betrug früher etwa 0,45 ms.
Jetzt werden Anfragen durchschnittlich dreimal schneller bearbeitet, in ca. 0,15 ms.
OpenZFS und NVMe
NVMe-Laufwerke werden heute wegen ihrer unglaublichen Leistung immer beliebter. Bis vor kurzem war es jedoch fast unmöglich, viel NVMe auf einem Server zu installieren, da sie PCIe-Lanes verwenden und der Prozessor, wie gesagt, eine begrenzte Anzahl solcher Lanes unterstützt. Intel Xeon unterstützt 48 PCIe v3-Lanes, von denen einige vom Chipsatz, Netzwerkadapter und der GPU verwendet werden. Für NVMe sind nur noch wenige Leitungen übrig.
Die neueste Generation von AMD EPYC-Prozessoren unterstützt 128 PCIe-Lanes - mehr als doppelt so viele wie Intel, und das ist PCIe v4! Dies reicht aus, um einen 2U-Server mit NVMe-Festplatten zu packen (Dell hat 24 Teile).
Wenn Sie einen Server mit NVMe-Laufwerken haben, müssen Sie entscheiden, wie diese verwaltet werden sollen. In der vorherigen Generation von Let's Encrypt-Servern wurde Hardware-RAID in einer RAID-10-Konfiguration angeordnet, es gibt jedoch kein effektives Hardware-RAID für NVMe, sodass eine andere Lösung gefunden werden musste. Software-RAID (mdraid unter Linux) wurde als eine der Optionen angesehen, aber den Entwicklern wurde OpenZFS empfohlen. Sie haben beschlossen, es zu versuchen und sind mit dem Ergebnis ziemlich zufrieden.
Sie sagen, dass es im Internet nur wenige Informationen darüber gibt, wie OpenZFS für NVMe-Plattenpools und Datenbank-Workloads am besten optimiert und optimiert werden kann, und dokumentierten ihre Erfahrungen ausführlich . Vielleicht ist es für jemanden nützlich.
Let's Encrypt sagt, dass dieses Upgrade notwendig und in gewisser Weise erzwungen war, da die Anzahl der Benutzer der kostenlosen Zertifizierungsstelle ebenso wie die Anzahl der ausgestellten TLS-Zertifikate ständig wächst. Die Server sind ziemlich teuer und das Upgrade stellte die Ingenieure der Organisation vor eine ernsthafte technische Herausforderung, aber alles lief gut.
Let's Encrypt ist eine gemeinnützige Zertifizierungsstelle, die durch Sponsoring und Einzelspenden finanziert wird .