Résoudre les problèmes liés au pilote ENA du noyau sous Linux - Amazon Elastic Compute Cloud

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résoudre les problèmes liés au pilote ENA du noyau sous Linux

L'Elastic Network Adapter (ENA) est conçu pour améliorer l'état du système d'exploitation et réduire les risques de perturbations à long terme dues à un comportement matériel inattendu et/ou à des défaillances. L'ENAarchitecture fait en sorte que les défaillances de périphériques ou de pilotes soient aussi transparentes que possible pour le système. Cette rubrique fournit des informations de dépannage pourENA.

Si vous ne pouvez pas vous connecter à votre instance, commencez par la section Résoudre les problèmes de connectivité.

Si vous constatez une dégradation des performances après la migration vers un type d'instance de sixième génération, consultez l'article Que dois-je faire avant de migrer mon EC2 instance vers une instance de sixième génération afin de garantir des performances réseau optimales ?

Si vous ne parvenez pas à vous connecter à votre instance, recueillez des informations de diagnostic à l’aide des mécanismes de détection des défaillances et de récupération couverts dans des sections ultérieures de cette rubrique.

Résoudre les problèmes de connectivité

Si vous perdez la connexion lors de l’activation de la mise en réseau améliorée, il se peut que le module ena ne soit pas compatible avec le noyau de votre instance. Cela peut se produire si vous installez le module pour une version de noyau spécifique (sans dkms ou avec un fichier dkms.conf mal configuré), puis que le noyau de votre instance est mis à jour. Si le module ena du noyau de l’instance qui est chargé au moment du démarrage n’est pas correctement installé, votre instance ne reconnaît pas la carte réseau et devient inaccessible.

Si vous activez la mise en réseau améliorée pour une instance PVAMI, cela peut également rendre votre instance inaccessible.

Si votre instance devient inaccessible après avoir activé la mise en réseau améliorée avecENA, vous pouvez désactiver l'enaSupportattribut de votre instance et l'adaptateur réseau d'origine sera rétabli.

Pour désactiver la mise en réseau améliorée avec des instances ENA (EBSsoutenues par des instances)
  1. Depuis votre ordinateur local, arrêtez l'instance à l'aide de la EC2 console Amazon ou de l'une des commandes suivantes : stop-instances (AWS CLI), Stop-EC2Instance(AWS Tools for Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez l'arrêter dans la AWS OpsWorks console afin que son état reste synchronisé.

    Astuce

    Si vous utilisez une instance basée sur le stockage d’instance, vous ne pouvez pas l’arrêter. Passez plutôt à Pour désactiver la mise en réseau améliorée avec ENA (instance), des instances stockées.

  2. Depuis votre ordinateur local, désactivez l’attribut de mise en réseau améliorée à l’aide de la commande suivante.

  3. Depuis votre ordinateur local, démarrez l'instance à l'aide de la EC2 console Amazon ou de l'une des commandes suivantes : start-instances (AWS CLI), Start-EC2Instance(AWS Tools for Windows PowerShell). Si votre instance est gérée par AWS OpsWorks, vous devez démarrer l'instance dans la AWS OpsWorks console afin que son état reste synchronisé.

  4. (Facultatif) Connectez-vous à votre instance et essayez de réinstaller le module ena avec votre version de noyau actuelle en suivant les étapes décrites dans la section Activez une mise en réseau améliorée avec ENA vos EC2 instances.

Pour désactiver la mise en réseau améliorée avec ENA (instances basées sur le stockage d'instance)

Si votre instance est une instance basée sur le stockage d'instances, créez-en une nouvelle AMI comme décrit dans. Création d'une instance sauvegardée en magasin AMI Assurez-vous de désactiver l'enaSupportattribut de mise en réseau améliorée lorsque vous enregistrez leAMI.

  • register-image (AWS CLI)

    $ C:\> aws ec2 register-image --no-ena-support ...
  • Register-EC2Image (AWS Tools for Windows PowerShell)

    C:\> Register-EC2Image -EnaSupport $false ...

Mécanisme Keep-alive

L'ENAappareil publie des événements de maintien en vie à un rythme fixe (généralement une fois par seconde). Le ENA pilote met en œuvre un mécanisme de surveillance qui vérifie la présence de ces messages de maintien en vie. Si un ou plusieurs messages sont présents, la surveillance est réarmée. Dans le cas contraire, le pilote conclut que l’appareil a subi une défaillance et effectue alors les opérations suivantes :

  • Il envoie ses statistiques dans le journal système.

  • Réinitialise l'appareil ENA

  • Réinitialise l'état du ENA pilote

La procédure de réinitialisation ci-dessus peut entraîner une perte de trafic pendant une courte période (TCPles connexions devraient pouvoir être rétablies), mais ne devrait pas affecter l'utilisateur.

Le ENA dispositif peut également demander indirectement une procédure de réinitialisation du dispositif, en n'envoyant pas de notification de maintien en vie, par exemple, si le ENA dispositif atteint un état inconnu après le chargement d'une configuration irrécupérable.

Voici un exemple de procédure de réinitialisation :

[18509.800135] ena 0000:00:07.0 eth1: Keep alive watchdog timeout. // The watchdog process initiates a reset [18509.815244] ena 0000:00:07.0 eth1: Trigger reset is on [18509.825589] ena 0000:00:07.0 eth1: tx_timeout: 0 // The driver logs the current statistics [18509.834253] ena 0000:00:07.0 eth1: io_suspend: 0 [18509.842674] ena 0000:00:07.0 eth1: io_resume: 0 [18509.850275] ena 0000:00:07.0 eth1: wd_expired: 1 [18509.857855] ena 0000:00:07.0 eth1: interface_up: 1 [18509.865415] ena 0000:00:07.0 eth1: interface_down: 0 [18509.873468] ena 0000:00:07.0 eth1: admin_q_pause: 0 [18509.881075] ena 0000:00:07.0 eth1: queue_0_tx_cnt: 0 [18509.888629] ena 0000:00:07.0 eth1: queue_0_tx_bytes: 0 [18509.895286] ena 0000:00:07.0 eth1: queue_0_tx_queue_stop: 0 ....... ........ [18511.280972] ena 0000:00:07.0 eth1: free uncompleted tx skb qid 3 idx 0x7 // At the end of the down process, the driver discards incomplete packets. [18511.420112] [ENA_COM: ena_com_validate_version] ena device version: 0.10 //The driver begins its up process [18511.420119] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1 [18511.420127] [ENA_COM: ena_com_admin_init] ena_defs : Version:[b9692e8] Build date [Wed Apr 6 09:54:21 IDT 2016] [18512.252108] ena 0000:00:07.0: Device watchdog is Enabled [18512.674877] ena 0000:00:07.0: irq 46 for MSI/MSI-X [18512.674933] ena 0000:00:07.0: irq 47 for MSI/MSI-X [18512.674990] ena 0000:00:07.0: irq 48 for MSI/MSI-X [18512.675037] ena 0000:00:07.0: irq 49 for MSI/MSI-X [18512.675085] ena 0000:00:07.0: irq 50 for MSI/MSI-X [18512.675141] ena 0000:00:07.0: irq 51 for MSI/MSI-X [18512.675188] ena 0000:00:07.0: irq 52 for MSI/MSI-X [18512.675233] ena 0000:00:07.0: irq 53 for MSI/MSI-X [18512.675279] ena 0000:00:07.0: irq 54 for MSI/MSI-X [18512.772641] [ENA_COM: ena_com_set_hash_function] Feature 10 isn't supported [18512.772647] [ENA_COM: ena_com_set_hash_ctrl] Feature 18 isn't supported [18512.775945] ena 0000:00:07.0: Device reset completed successfully // The reset process is complete

Expiration du délai d’attente des opérations de lecture

L'ENAarchitecture suggère une utilisation limitée des opérations de lecture d'E/S (MMIO) mappées en mémoire. MMIOles registres ne sont accessibles par le pilote du ENA périphérique que pendant sa procédure d'initialisation.

Si les journaux du pilote (disponibles dans la sortie dmesg) indiquent une défaillance des opérations de lecture, un pilote incompatible ou mal compilé, un dispositif saturé ou une défaillance matérielle peuvent en être la cause.

Les entrées de journal intermittentes qui indiquent des défaillances des opérations de lecture ne sont pas problématiques. Dans ce cas, le pilote réessaie de les traiter. Toutefois, une série d’entrées de journal contenant des défaillances de lecture indique un problème de pilote ou de matériel.

Voici un exemple d’entrée de journal pilote indiquant une défaillance des opérations de lecture en raison de l’expiration d’un délai d’attente :

[ 47.113698] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[1] offset[88] actual: req id[57006] offset[0]  [ 47.333715] [ENA_COM: ena_com_reg_bar_read32] reading reg failed for timeout. expected: req id[2] offset[8] actual: req id[57007] offset[0]  [ 47.346221] [ENA_COM: ena_com_dev_reset] Reg read32 timeout occurred

Statistiques

Si vous rencontrez des problèmes de latence ou si les performances réseau sont insuffisantes, vous devez récupérer les statistiques de l’appareil et les examiner. Pour obtenir ces statistiques, utilisez ethtool, comme suit.

[ec2-user ~]$ ethtool -S ethN NIC statistics: tx_timeout: 0 suspend: 0 resume: 0 wd_expired: 0 interface_up: 1 interface_down: 0 admin_q_pause: 0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_available: 450878 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 queue_0_tx_cnt: 4329 queue_0_tx_bytes: 1075749 queue_0_tx_queue_stop: 0 ...

Les paramètres de sortie de commande suivants sont décrits ci-dessous :

tx_timeout: N

Nombre de fois que la surveillance Netdev a été activée.

suspend: N

Nombre de fois que le pilote a effectué une opération de suspension.

resume: N

Nombre de fois que le pilote a effectué une opération de reprise.

wd_expired: N

Nombre de fois que le pilote n’a pas reçu l’événement keep-alive au cours des trois secondes précédentes.

interface_up: N

Le nombre de fois que l'ENAinterface a été ouverte.

interface_down: N

Le nombre de fois où l'ENAinterface a été désactivée.

admin_q_pause: N

Nombre de fois que la file d’attente d’administration n’a pas été trouvée dans un état en cours d’exécution.

bw_in_allowance_exceeded: N

Nombre de paquets mis en file d'attente ou ignorés flottee que la bande passante agrégée entrante a dépassé le maximum de l'instance.

bw_out_allowance_exceeded: N

Nombre de paquets mis en file d'attente ou ignorés flottee que la bande passante agrégée sortante a dépassé le maximum de l'instance.

pps_allowance_exceeded: N

Le nombre de paquets mis en file d'attente ou abandonnés parce que le mode bidirectionnel PPS a dépassé le maximum pour l'instance. Cette limite compte également les pertes de fragments de sortie supérieures à 1 024 PPS par. ENI

conntrack_allowance_available: N

Nombre de connexions suivies pouvant être établies par l’instance avant d’atteindre l’allocation Connexions suivies de ce type d’instance. Disponible uniquement pour les instances basées sur Nitro. Non pris en charge par BSD les instances ou DPDK les environnements gratuits.

conntrack_allowance_exceeded: N

Nombre de paquets ignorés flottee que le suivi des connexions a dépassé le maximum de l’instance et que de nouvelles connexions n’ont pas pu être établies. Cela peut entraîner une perte de paquets pour le trafic vers ou en provenance de l’instance.

linklocal_allowance_exceeded: N

Le nombre de paquets abandonnés parce que le PPS trafic vers les services proxy locaux a dépassé le maximum pour l'interface réseau. Cela a un impact sur le trafic vers le DNS service, le service de métadonnées d'instance et le service Amazon Time Sync.

queue_N_tx_cnt: N

Nombre de paquets transmis pour cette file d’attente.

queue_N_tx_bytes: N

Nombre d’octets transmis pour cette file d’attente.

queue_N_tx_queue_stop: N

Le nombre de fois que cette file d'attente N était plein et s'est arrêté.

queue_N_tx_queue_wakeup: N

Le nombre de fois que cette file d'attente N repris après avoir été arrêté.

queue_N_tx_dma_mapping_err: N

Nombre d’erreurs d’accès direct à la mémoire. Si cette valeur ne correspond pas à 0, les ressources système sont faibles.

queue_N_tx_linearize: N

Nombre de tentatives de SKB linéarisation pour cette file d'attente.

queue_N_tx_linearize_failed: N

Nombre de fois où la SKB linéarisation a échoué pour cette file d'attente.

queue_N_tx_napi_comp: N

Nombre de fois que le gestionnaire napi a appelé napi_complete pour cette file d’attente.

queue_N_tx_tx_poll: N

Nombre de fois que le gestionnaire napi a été planifié pour cette file d’attente.

queue_N_tx_doorbells: N

Nombre de portes de transmission pour cette file d’attente.

queue_N_tx_prepare_ctx_err: N

Nombre de fois que ena_com_prepare_tx a échoué pour cette file d’attente.

queue_N_tx_bad_req_id: N

req_id non valide pour cette file d’attente. La valeur req_id valide est égale à zéro, moins la valeur queue_size, moins 1.

queue_N_tx_llq_buffer_copy: N

Nombre de paquets dont la taille des en-têtes est supérieure à l’entrée llq pour cette file d’attente.

queue_N_tx_missed_tx: N

Nombre de paquets qui n’ont pas été traités entièrement pour cette file d’attente.

queue_N_tx_unmask_interrupt: N

Nombre de fois que tx interrupt a été démasqué pour cette file d’attente.

queue_N_rx_cnt: N

Nombre de paquets reçus pour cette file d’attente.

queue_N_rx_bytes: N

Nombre d’octets reçus pour cette file d’attente.

queue_N_rx_rx_copybreak_pkt: N

Nombre de fois que la file d’attente rx a reçu un paquet inférieur à la taille de paquet rx_copybreak pour cette file d’attente.

queue_N_rx_csum_good: N

Nombre de fois que la file d’attente rx a reçu un paquet dont le total de contrôle a été vérifié comme étant correct pour cette file d’attente.

queue_N_rx_refil_partial: N

Nombre de fois que le pilote n’a pas réussi à remplir la portion vide de la file d’attente rx avec les tampons pour cette file d’attente. Si cette valeur n’est pas égale à zéro, les ressources mémoire sont faibles.

queue_N_rx_bad_csum: N

Nombre de fois que la file d’attente rx a reçu un mauvais total de contrôle pour cette file d’attente (uniquement si le déchargement du total de contrôle rx est pris en charge).

queue_N_rx_page_alloc_fail: N

Nombre de fois que l’allocation des pages a échoué pour cette file d’attente. Si cette valeur n’est pas égale à zéro, les ressources mémoire sont faibles.

queue_N_rx_skb_alloc_fail: N

Nombre de fois où l'SKBallocation a échoué pour cette file d'attente. Si cette valeur n’est pas égale à zéro, les ressources système sont faibles.

queue_N_rx_dma_mapping_err: N

Nombre d’erreurs d’accès direct à la mémoire. Si cette valeur ne correspond pas à 0, les ressources système sont faibles.

queue_N_rx_bad_desc_num: N

Trop de tampons par paquet. Si cette valeur n’est pas égale à 0, cela indique l’utilisation de très petits tampons.

queue_N_rx_bad_req_id: N

Le req_id de cette file d’attente n’est pas valide. Le req_id valide est de [0, queue_size - 1 ].

queue_N_rx_empty_rx_ring: N

Nombre de fois que la file d’attente rx était vide pour cette file d’attente.

queue_N_rx_csum_unchecked: N

Nombre de fois que la file d’attente rx a reçu un paquet dont le total de contrôle n’a pas été vérifié pour cette file d’attente.

queue_N_rx_xdp_aborted: N

Le nombre de fois qu'un XDP paquet a été classé comme XDP _ABORT.

queue_N_rx_xdp_drop: N

Le nombre de fois qu'un XDP paquet a été classé comme XDP _DROP.

queue_N_rx_xdp_pass: N

Le nombre de fois qu'un XDP paquet a été classé comme XDP _PASS.

queue_N_rx_xdp_tx: N

Le nombre de fois qu'un XDP paquet a été classé en tant que XDP _TX.

queue_N_rx_xdp_invalid: N

Le nombre de fois où le code de XDP retour du paquet n'était pas valide.

queue_N_rx_xdp_redirect: N

Le nombre de fois qu'un XDP paquet a été classé comme XDP _REDIRECT.

queue_N_xdp_tx_cnt: N

Nombre de paquets transmis pour cette file d’attente.

queue_N_xdp_tx_bytes: N

Nombre d’octets transmis pour cette file d’attente.

queue_N_xdp_tx_queue_stop: N

Nombre de fois que cette file d’attente était pleine et qu’elle a été arrêtée.

queue_N_xdp_tx_queue_wakeup: N

Nombre de fois que cette file d’attente a repris après avoir été arrêtée.

queue_N_xdp_tx_dma_mapping_err: N

Nombre d’erreurs d’accès direct à la mémoire. Si cette valeur ne correspond pas à 0, les ressources système sont faibles.

queue_N_xdp_tx_linearize: N

Nombre de tentatives de linéarisation de la XDP mémoire tampon pour cette file d'attente.

queue_N_xdp_tx_linearize_failed: N

Nombre de fois où la linéarisation de la XDP mémoire tampon a échoué pour cette file d'attente.

queue_N_xdp_tx_napi_comp: N

Nombre de fois que le gestionnaire napi a appelé napi_complete pour cette file d’attente.

queue_N_xdp_tx_tx_poll: N

Nombre de fois que le gestionnaire napi a été planifié pour cette file d’attente.

queue_N_xdp_tx_doorbells: N

Nombre de portes de transmission pour cette file d’attente.

queue_N_xdp_tx_prepare_ctx_err: N

Nombre de fois que ena_com_prepar_tx a échoué pour cette file d’attente. Cette valeur doit toujours être égale à zéro. Si ce n’est pas le cas, consultez les journaux du pilote.

queue_N_xdp_tx_bad_req_id: N

Le req_id de cette file d’attente n’est pas valide. Le req_id valide est de [0, queue_size - 1 ].

queue_N_xdp_tx_llq_buffer_copy: N

Nombre de paquets dont les en-têtes ont été copiés à l’aide de la copie tampon llq pour cette file d’attente.

queue_N_xdp_tx_missed_tx: N

Nombre de fois qu’une entrée de file d’attente tx a dépassé un délai de résiliation pour cette file d’attente.

queue_N_xdp_tx_unmask_interrupt: N

Nombre de fois que tx interrupt a été démasqué pour cette file d’attente.

ena_admin_q_aborted_cmd: N

Nombre de commandes d’administration qui ont été abandonnées. Généralement, cela se produit lors de la procédure de récupération automatique.

ena_admin_q_submitted_cmd: N

Nombre de portes d’administration de la file d’attente.

ena_admin_q_completed_cmd: N

Nombre de finalisations de la file d’attente d’administration.

ena_admin_q_out_of_space: N

Nombre de fois que le pilote a essayé de présenter la nouvelle commande d’administration, mais que la file d’attente était pleine.

ena_admin_q_no_completion: N

Nombre de fois que l’administration du pilote n’a pas été terminée pour une commande.

Journaux d’erreur de pilote dans syslog

Le ENA pilote écrit des messages de journal syslog pendant le démarrage du système. Vous pouvez examiner ces journaux pour rechercher les erreurs si vous rencontrez des problèmes. Vous trouverez ci-dessous un exemple d'informations enregistrées par le ENA pilote syslog lors du démarrage du système, ainsi que des annotations pour certains messages.

Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 478.416939] [ENA_COM: ena_com_validate_version] ena device version: 0.10 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 478.420915] [ENA_COM: ena_com_validate_version] ena controller version: 0.0.1 implementation version 1 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.256831] ena 0000:00:03.0: Device watchdog is Enabled Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.672947] ena 0000:00:03.0: creating 8 io queues. queue size: 1024 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.680885] [ENA_COM: ena_com_init_interrupt_moderation] Feature 20 isn't supported // Interrupt moderation is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.691609] [ENA_COM: ena_com_get_feature_ex] Feature 10 isn't supported // RSS HASH function configuration is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.694583] [ENA_COM: ena_com_get_feature_ex] Feature 18 isn't supported //RSS HASH input source configuration is not supported by the device Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.697433] [ENA_COM: ena_com_set_host_attributes] Set host attribute isn't supported Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.701064] ena 0000:00:03.0 (unnamed net_device) (uninitialized): Cannot set host attributes Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 479.704917] ena 0000:00:03.0: Elastic Network Adapter (ENA) found at mem f3000000, mac addr 02:8a:3c:1e:13:b5 Queues 8 Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 480.805037] EXT4-fs (xvda1): re-mounted. Opts: (null) Jun 3 22:37:46 ip-172-31-2-186 kernel: [ 481.025842] NET: Registered protocol family 10
Quelles sont les erreurs que je peux ignorer ?

Les avertissements suivants qui peuvent apparaître dans les journaux d’erreur de votre système peuvent être ignorées pour Elastic Network Adapter :

Set host attribute isn’t supported

Les attributs de l’hôte ne sont pas pris en charge pour cet appareil.

failed to alloc buffer for rx queue

Il s’agit d’une erreur récupérable. Elle indique qu’il y a peut-être eu un problème de pression de mémoire lorsque l’erreur a été lancée.

Fonctionnalité X n'est pas pris en charge

La fonctionnalité référencée n’est pas prise en charge par Elastic Network Adapter. Valeurs possibles pour X inclure :

  • 10: La configuration de la fonction de RSS hachage n'est pas prise en charge pour cet appareil.

  • 12: La configuration de RSS la table d'indirection n'est pas prise en charge pour cet appareil.

  • 18: La configuration de l'entrée de RSS hachage n'est pas prise en charge pour cet appareil.

  • 20 : la modération d’interruption n’est pas prise en charge pour cet appareil.

  • 27 : le pilote ENA (Elastic Network Adapter) ne prend pas en charge l’interrogation des fonctions Ethernet à partir de snmpd.

Impossible de configurer AENQ

L'Elastic Network Adapter ne prend pas en charge AENQ la configuration.

Essayer de définir des événements non pris en charge AENQ

Cette erreur indique une tentative de définition d'un groupe d'AENQévénements non pris en charge par l'Elastic Network Adapter.

Notifications de configuration sous-optimales

Le ENA périphérique détecte des paramètres de configuration sous-optimaux dans le pilote que vous pouvez modifier. Le périphérique avertit le ENA pilote et enregistre un avertissement sur la console. L’exemple suivant montre le format du message d’avertissement.

Sub-optimal configuration notification code: 1. Refer to AWS ENA documentation for additional details and mitigation options.

La liste suivante indique les détails du code de notification et les actions recommandées pour les résultats de configuration sous-optimaux.

  • Code 1 : ENA Express avec une LLQ configuration étendue n'est pas recommandé

    ENAExpress ENI est configuré avec WideLLQ. Cette configuration n'est pas optimale et peut avoir un impact sur les performances d'ENAExpress. Nous vous recommandons de désactiver les LLQ paramètres étendus lorsque vous utilisez ENA Express ENIs comme suit.

    sudo rmmod ena && sudo modprobe ena force_large_llq_header=0

    Pour plus d'informations sur la configuration optimale pour ENA Express, consultezAméliorez les performances du réseau entre EC2 les instances avec ENA Express.

  • Code 2 : ENA Express ENI avec une profondeur de file Tx sous-optimale n'est pas recommandé

    ENAExpress ENI est configuré avec une profondeur de file d'attente Tx sous-optimale. Cette configuration peut avoir un impact sur les performances d'ENAExpress. Nous vous recommandons d'agrandir toutes les files d'attente Tx à la valeur maximale de l'interface réseau lorsque vous utilisez ENA Express ENIs comme suit.

    Vous pouvez exécuter les ethtool commandes suivantes pour ajuster LLQ la taille. Pour en savoir plus sur la façon de contrôler, d'interroger et d'activer le Wide-LLQ, consultez la rubrique Grande file d'attente à faible latence (LargeLLQ) du pilote du noyau Linux pour obtenir de la ENA documentation dans le GitHub référentiel Amazon Drivers.

    ethtool -g interface

    Réglez vos files d'attente Tx à la profondeur maximale :

    ethtool -G interface tx depth

    Pour plus d'informations sur la configuration optimale pour ENA Express, consultezAméliorez les performances du réseau entre EC2 les instances avec ENA Express.

  • Code 3 : ENA avec une LLQ taille normale et un trafic de paquets Tx supérieur à la taille maximale d'en-tête prise en charge

    Par défaut, ENA LLQ prend en charge la taille d'en-tête de paquet Tx jusqu'à 96 octets. Si la taille de l'en-tête du paquet est supérieure à 96 octets, le paquet est supprimé. Pour atténuer ce problème, nous vous recommandons d'activer Wide-LLQ, qui augmente la taille d'en-tête de paquet Tx prise en charge à un maximum de 224 octets.

    Toutefois, lorsque vous activez Wide-LLQ, la taille maximale de l'anneau Tx est réduite de 1 000 à 512 entrées. Wide- LLQ est activé par défaut pour tous les types d'instances de Nitro v4 et versions ultérieures.

    • Les types d'instances Nitro v4 ont une taille d'anneau LLQ Wide-Tx maximale par défaut de 512 entrées, qui ne peut pas être modifiée.

    • Les types d'instances Nitro v5 ont une taille d'anneau LLQ Wide-Tx par défaut de 512 entrées, que vous pouvez augmenter jusqu'à 1 000 entrées.

    Vous pouvez exécuter les ethtool commandes suivantes pour ajuster LLQ la taille. Pour en savoir plus sur la façon de contrôler, d'interroger et d'activer le Wide-LLQ, consultez la rubrique Grande file d'attente à faible latence (LargeLLQ) du pilote du noyau Linux pour obtenir de la ENA documentation dans le GitHub référentiel Amazon Drivers.

    Trouvez la profondeur maximale de vos files d'attente Tx :

    ethtool -g interface

    Réglez vos files d'attente Tx à la profondeur maximale :

    ethtool -G interface tx depth