Ich versuche, Nginx als Reverse-Proxy mit Funktionen wie Lastausgleich und SSL-Offload zu verwenden, und ich muss die richtige Hardware kaufen.
In einigen Fällen benötige ich ein SSL-Offload mit hohem Durchsatz und frage mich, ob Nginx die Hardware-AES-Funktionen von Intel Core i7 (oder der Server-Xeon Nehalem- CPU-Produktlinie) verwendet oder nicht!
Erhält die Verwendung von Nginx mit solchen CPUs mehr Durchsatz beim SSL-Offload, oder wäre dies eine Geldverschwendung?
Antworten:
Sie können überprüfen, ob nginx mit OpenSSL erstellt wurde, indem Sie ausführen
nginx -V
.Sie können überprüfen, ob OpenSSL Intel AES-NI verwendet, indem Sie die internen Benchmarks von OpenSSL ausführen.
Vergleichen Sie die Ausgabe von
openssl speed aes-128-cbc
mitopenssl speed -evp aes-128-cbc
. Ersteres überspringt die Hardwarebeschleunigung, selbst wenn vorhanden, während letzteres die Beschleunigung verwendet, falls verfügbar. Mit Ausnahme des Benchmarks wird dieser automatisch verwendet, falls vorhanden .Zum Beispiel:
verglichen mit
Wie Sie sehen können, ist letzteres viel schneller, was darauf hinweist, dass Hardwarebeschleunigung verwendet wird.
quelle
Nginx hat nichts mit Hardware-Offloading zu tun. Das liegt an der verwendeten Kryptobibliothek. Normalerweise verwenden Sie OpenSSL. Wenn es sich um eine geeignete, entsprechend konfigurierte Version handelt, wird das Hardware-Offloading für Kryptooperationen verwendet, die in Silizium auf modernen CPUs unterstützt werden.
quelle