FĂ©vrier 4 2022

Amélioration des performances de NGINX avec le noyau TLS et SSL_sendfile ()

Déplacez l'implémentation cryptographique de l'espace utilisateur vers l'espace noyau.

TLS du noyau NGINX

Transport Layer Security (TLS) est un protocole de cryptage extrĂȘmement populaire. L'implĂ©mentation de TLS dans le noyau (kTLS) amĂ©liore les performances en rĂ©duisant considĂ©rablement le besoin d'opĂ©rations de copie entre l'espace utilisateur et le noyau.

La combinaison de kTLS et sendfile()cela signifie que les donnĂ©es sont chiffrĂ©es directement dans l'espace du noyau, avant d'ĂȘtre transmises Ă  la pile rĂ©seau pour transmission. Cela Ă©limine le besoin de copier les donnĂ©es dans l'espace utilisateur pour qu'elles soient chiffrĂ©es par les bibliothĂšques TLS, puis de les renvoyer dans l'espace du noyau pour la transmission. kTLS permet Ă©galement de dĂ©charger le traitement TLS sur le matĂ©riel, y compris dĂ©chargement du traitement cryptographique symĂ©trique TLS vers les pĂ©riphĂ©riques rĂ©seau .

Les noyaux Linux et FreeBSD modernes prennent en charge le dĂ©chargement TLS dans le noyau, et maintenant NGINX Open Source le fait aussi ! NGINX 1.21.4 introduit la prise en charge de kTLS lorsque vous avez besoin de fichiers statiques avec SSL_sendfile(), ce qui peut grandement amĂ©liorer les performances. Comme dĂ©crit ci-dessous, le noyau et OpenSSL doivent ĂȘtre compilĂ©s avec kTLS pour que NGINX puisse ĂȘtre utilisĂ© SSL_sendfile().

Dans ce blog, nous détaillons quel systÚme d'exploitation et quelles versions d'OpenSSL prennent en charge kTLS et montrons comment créer et configurer le noyau et NGINX pour kTLS. Pour vous donner une idée de l'amélioration des performances que vous pouvez attendre de kTLS, nous partageons également les spécifications et les résultats de nos tests sur FreeBSD et Ubuntu.

Observation: Les implĂ©mentations de kTLS sont assez rĂ©centes et Ă©voluent rapidement. Ce blog dĂ©crit la prise en charge de kTLS Ă  partir de novembre 2021, mais gardez un Ɠil sur les annonces sur nginx.org et le Blog NGINX sur les modifications apportĂ©es aux informations et instructions fournies ici.

Conditions générales

  • SystĂšme d'exploitation - L'un des suivants :
    • FreeBSD 13.0+. Depuis novembre 2021, FreeBSD 13.0+ est le seul systĂšme d'exploitation qui prend en charge kTLS dans NGINX sans une construction manuelle de NGINX pour incorporer OpenSSL 3.0.0+. Tu vois Activer NGINX avec kTLS sur FreeBSD .
    • Une distribution Linux basĂ©e sur la version 4.17 ou ultĂ©rieure du noyau Linux, bien que nous vous recommandons d'utiliser celles basĂ©es sur la version 5.2 ou ultĂ©rieure dans la mesure du possible. (La prise en charge de KTLS est actuellement disponible dans la version 4.13, mais OpenSSL 3.0.0 nĂ©cessite la version 4.17 ou ultĂ©rieure de l'en-tĂȘte du noyau.)
  • OpenSSL - Version 3.0.0 ou ultĂ©rieure
  • NGINX - Version 1.21.4 ou ultĂ©rieure

Amélioration des performances avec kTLS

Lors de la diffusion de fichiers statiques dans des conditions de charge Ă©levĂ©e, SSL_sendfile()Est-il possible augmenter le dĂ©bit Ă  2 fois l'espace utilisateur TLS, mais la taille de l'augmentation des performances dĂ©pend de maniĂšre significative de divers facteurs (performances du disque, charge du systĂšme, etc.). Vous pouvez Ă©galement rĂ©duire l'utilisation du processeur si votre carte rĂ©seau prend en charge le dĂ©chargement TLS.

Riepilogo

NGINX 1.21.4 introduit la prise en charge de kTLS lors de la diffusion de fichiers statiques avec SSL_sendfile(). Nos tests montrent que les performances s'amĂ©liorent entre 8% et 29%, selon le systĂšme d'exploitation.

 

Vous avez des doutes ? Vous ne savez pas par oĂč commencer ? Contactez-nous


Nous avons toutes les réponses à vos questions pour vous aider à faire le bon choix.

Discute avec nous

Discutez directement avec notre support avant-vente.

0256569681

Contactez-nous par téléphone pendant les heures de bureau 9h30 - 19h30

Contactez-nous en ligne

Ouvrez une demande directement dans l'espace contact.

INFORMATIONS

ManagedServer.it est le premier fournisseur italien de solutions d'hébergement hautes performances. Notre modÚle d'abonnement est abordable et prévisible, afin que les clients puissent accéder à nos technologies d'hébergement fiables, à nos serveurs dédiés et au cloud. ManagedServer.it offre également d'excellents services d'assistance et de conseil sur l'hébergement des principaux CMS Open Source tels que WordPress, WooCommerce, Drupal, Prestashop, Magento.

Remonter en haut