4 février 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

Managed Server Srl est un acteur italien leader dans la fourniture de solutions système GNU/Linux avancées orientées vers la haute performance. Avec un modèle d'abonnement peu coûteux et prévisible, nous garantissons que nos clients ont accès à des technologies avancées en matière d'hébergement, de serveurs dédiés et de services cloud. En plus de cela, nous proposons des conseils système sur les systèmes Linux et une maintenance spécialisée en SGBD, sécurité informatique, Cloud et bien plus encore. Nous nous distinguons par notre expertise dans l'hébergement de CMS Open Source de premier plan tels que WordPress, WooCommerce, Drupal, Prestashop, Joomla, OpenCart et Magento, soutenus par un service d'assistance et de conseil de haut niveau adapté aux administrations publiques, aux PME et à toutes tailles.

Red Hat, Inc. détient les droits de Red Hat®, RHEL®, RedHat Linux® et CentOS® ; AlmaLinux™ est une marque commerciale d'AlmaLinux OS Foundation ; Rocky Linux® est une marque déposée de la Rocky Linux Foundation ; SUSE® est une marque déposée de SUSE LLC ; Canonical Ltd. détient les droits sur Ubuntu® ; Software in the Public Interest, Inc. détient les droits sur Debian® ; Linus Torvalds détient les droits sur Linux® ; FreeBSD® est une marque déposée de la FreeBSD Foundation ; NetBSD® est une marque déposée de la Fondation NetBSD ; OpenBSD® est une marque déposée de Theo de Raadt. Oracle Corporation détient les droits sur Oracle®, MySQL® et MyRocks® ; Percona® est une marque déposée de Percona LLC ; MariaDB® est une marque déposée de MariaDB Corporation Ab ; REDIS® est une marque déposée de Redis Labs Ltd. F5 Networks, Inc. détient les droits sur NGINX® et NGINX Plus® ; Varnish® est une marque déposée de Varnish Software AB. Adobe Inc. détient les droits sur Magento® ; PrestaShop® est une marque déposée de PrestaShop SA ; OpenCart® est une marque déposée d'OpenCart Limited. Automattic Inc. détient les droits sur WordPress®, WooCommerce® et JetPack® ; Open Source Matters, Inc. détient les droits sur Joomla® ; Dries Buytaert détient les droits sur Drupal®. Amazon Web Services, Inc. détient les droits sur AWS® ; Google LLC détient les droits sur Google Cloud™ et Chrome™ ; Facebook, Inc. détient les droits sur Facebook® ; Microsoft Corporation détient les droits sur Microsoft®, Azure® et Internet Explorer® ; La Fondation Mozilla détient les droits sur Firefox®. Apache® est une marque déposée de The Apache Software Foundation ; PHP® est une marque déposée du groupe PHP. CloudFlare® est une marque déposée de Cloudflare, Inc. ; NETSCOUT® est une marque déposée de NETSCOUT Systems Inc. ; ElasticSearch®, LogStash® et Kibana® sont des marques déposées d'Elastic NV. Ce site n'est affilié, sponsorisé ou autrement associé à aucune des entités mentionnées ci-dessus et ne représente aucune de ces entités de quelque manière que ce soit. Tous les droits sur les marques et noms de produits mentionnés sont la propriété de leurs titulaires respectifs des droits d'auteur. Toutes les autres marques mentionnées appartiennent à leurs titulaires. MANAGED SERVER® est une marque déposée au niveau européen par MANAGED SERVER SRL Via Enzo Ferrari, 9 62012 Civitanova Marche (MC) Italie.

Retour en haut de page