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
Print Friendly, PDF & Email

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.

haut