Surveillez les performances du réseau pour ENA les paramètres de votre EC2 instance - 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.

Surveillez les performances du réseau pour ENA les paramètres de votre EC2 instance

Le pilote Elastic Network Adapter (ENA) publie les mesures de performance du réseau à partir des instances où elles sont activées. Vous pouvez utiliser ces métriques pour résoudre les problèmes de performances d’instance, choisir la taille d’instance appropriée pour une charge de travail, planifier les activités de mise à l’échelle de manière proactive et comparer les applications afin de déterminer si elles optimisent les performances disponibles sur une instance.

Amazon EC2 définit les limites maximales du réseau au niveau de l'instance afin de garantir une expérience réseau de haute qualité, notamment des performances réseau cohérentes quelle que soit la taille des instances. AWS fournit les valeurs maximales suivantes pour chaque instance :

  • Capacité de bande passante : chaque EC2 instance dispose d'une bande passante maximale pour le trafic entrant et sortant agrégé, en fonction du type et de la taille de l'instance. Certaines instances utilisent un mécanisme de crédit I/O réseau pour attribuer la bande passante réseau en fonction de l’utilisation moyenne de la bande passante. Amazon dispose EC2 également d'une bande passante maximale pour le trafic vers Internet AWS Direct Connect et vers Internet. Pour de plus amples informations, veuillez consulter Bande passante réseau des EC2 instances Amazon.

  • P acket-per-second (PPS) performance — Chaque EC2 instance possède des PPS performances maximales, en fonction du type et de la taille de l'instance.

  • Connexions suivies : le groupe de sécurité assure le suivi de chaque connexion établie pour s’assurer que les paquets de retour sont livrés comme prévu. Il existe un nombre maximal de connexions qui peuvent être suivies par instance. Pour plus d’informations, consultez Suivi des connexions du groupe de EC2 sécurité Amazon.

  • Accès au service local par lien : Amazon EC2 fournit un maximum PPS par interface réseau pour le trafic vers des services tels que le DNS service, le service de métadonnées d'instance et le service Amazon Time Sync.

Lorsque le trafic réseau d'une instance dépasse un maximum, AWS façonne le trafic qui dépasse le maximum en mettant en file d'attente puis en supprimant les paquets réseau. Vous pouvez surveiller lorsque le trafic dépasse un maximum à l’aide des métriques de performances réseau. Ces métriques vous informent en temps réel de l’impact sur le trafic réseau et des éventuels problèmes de performances réseau.

Prérequis

Instances Linux
  • Installez la version 2.2.10 ou ultérieure du ENA pilote. Pour vérifier la version installée, utilisez la commande ethtool. Dans l’exemple suivant, la version répond aux exigences minimales.

    [ec2-user ~]$ ethtool -i eth0 | grep version version: 2.2.10

    Pour mettre à niveau votre ENA pilote, consultez la section Mise en réseau améliorée.

  • Pour importer ces métriques sur Amazon CloudWatch, installez l' CloudWatch agent. Pour plus d'informations, consultez la section Collecter les indicateurs de performance du réseau dans le guide de CloudWatch l'utilisateur Amazon.

  • Pour prendre en charge les conntrack_allowance_available métriques, installez la version 2.8.1 du ENA pilote.

instances Windows
  • Installez la version 2.2.2 ou ultérieure du ENA pilote. Pour vérifier la version installée, utilisez le Gestionnaire de périphériques comme suit.

    1. Ouvrez le Gestionnaire de périphériques en exécutant devmgmt.msc.

    2. Développez Network Adapters (Cartes réseau).

    3. Sélectionnez Amazon Elastic Network Adapter, puis Properties (Propriétés).

    4. Sous l’onglet Driver (Pilote), recherchez Driver Version (Version du pilote).

    Pour mettre à niveau votre ENA pilote, consultez la section Mise en réseau améliorée.

  • Pour importer ces métriques sur Amazon CloudWatch, installez l' CloudWatch agent. Pour plus d'informations, consultez la section Collecter des métriques réseau avancées dans le guide de CloudWatch l'utilisateur Amazon.

Indicateurs pour le ENA conducteur

Le ENA pilote fournit les métriques suivantes à l'instance en temps réel. Ces métriques fournissent le nombre cumulé de paquets mis en file d’attente ou ignorés sur chaque interface réseau depuis la dernière réinitialisation du pilote.

Métrique Description Pris en charge sur
bw_in_allowance_exceeded

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.

Tous les types d’instances

bw_out_allowance_exceeded

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.

Tous les types d’instances

conntrack_allowance_exceeded

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.

Tous les types d’instances

conntrack_allowance_available Nombre de connexions suivies pouvant être établies par l’instance avant d’atteindre l’allocation Connexions suivies de ce type d’instance.

Instances créées uniquement sur le système AWS Nitro

linklocal_allowance_exceeded

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.

Tous les types d’instances

pps_allowance_exceeded

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

Tous les types d’instances

Afficher les métriques de performances réseau de votre instance

La procédure que vous utilisez dépend du système d'exploitation de l'instance.

Vous pouvez publier des métriques dans vos outils favoris pour visualiser les données métriques. Par exemple, vous pouvez publier les statistiques sur Amazon à CloudWatch l'aide de l' CloudWatch agent. L’agent vous permet de sélectionner des métriques individuelles et de contrôler la publication.

Vous pouvez également utiliser la commande ethtool pour récupérer les métriques de chaque interface réseau, telles que eth0, comme suit.

[ec2-user ~]$ ethtool -S eth0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 conntrack_allowance_available: 136812

Vous pouvez afficher les métriques à l’aide de n’importe quel consommateur de compteurs de performances Windows. Les données peuvent être analysées en fonction du EnaPerfCounters manifeste. Il s'agit d'un XML fichier qui définit le fournisseur de compteurs de performance et ses contreensembles.

Pour installer le manifeste

Si vous avez lancé l'instance à l'aide d'un fichier AMI contenant ENA le pilote 2.2.2 ou version ultérieure, ou si vous avez utilisé le script d'installation du package de pilotes pour le ENA pilote 2.2.2, le manifeste est déjà installé. Pour installer le manifeste manuellement, procédez comme suit :

  1. Supprimez le manifeste existant à l’aide de la commande suivante :

    unlodctr /m:EnaPerfCounters.man
  2. Copiez EnaPerfCounters.man, le fichier manifeste, du package d’installation du pilote vers %SystemRoot%\System32\drivers.

  3. Installez le nouveau manifeste à l’aide de la commande suivante :

    lodctr /m:EnaPerfCounters.man
Pour afficher les métriques à l'aide de Performance Monitor
  1. Ouvrez Performance Monitor.

  2. Appuyez sur Ctrl+N pour ajouter de nouveaux compteurs.

  3. Choisissez ENAPackets Shaping dans la liste.

  4. Sélectionnez les instances à surveiller, puis Add (Ajouter).

  5. Choisissez OK.

Métriques pour ENA Express

ENAExpress est alimenté par la technologie AWS Scalable Reliable Datagram (SRD). SRDest un protocole de transport réseau à hautes performances qui utilise le routage dynamique pour augmenter le débit et minimiser la latence de queue. Si vous avez activé ENA Express pour les pièces jointes de l'interface réseau à la fois sur l'instance d'envoi et sur l'instance de réception, vous pouvez utiliser les métriques ENA Express pour vous assurer que vos instances tirent pleinement parti des améliorations de performances apportées par la SRD technologie. Par exemple :

  • Évaluez vos ressources pour vous assurer qu'elles disposent d'une capacité suffisante pour établir davantage de SRD connexions.

  • Identifiez les problèmes potentiels qui empêchent l'utilisation des paquets sortants éligiblesSRD.

  • Calculez le pourcentage de trafic sortant utilisé par SRD l'instance.

  • Calculez le pourcentage du trafic entrant utilisé par SRD l'instance.

Note

Pour produire des métriques, utilisez la version 2.8 ou supérieure du pilote.

Pour voir la liste des métriques de votre instance Linux filtrées pour ENA Express, exécutez la ethtool commande suivante pour votre interface réseau (illustrée ici pareth0). Prenez note de la valeur de la ena_srd_mode métrique.

[ec2-user ~]$ ethtool -S eth0 | grep ena_srd NIC statistics: ena_srd_mode: 1 ena_srd_tx_pkts: 0 ena_srd_eligible_tx_pkts: 0 ena_srd_rx_pkts: 0 ena_srd_resource_utilization: 0

Les métriques suivantes sont disponibles pour toutes les instances sur lesquelles ENA Express est activé.

ena_srd_mode

Décrit les fonctionnalités d'ENAExpress activées. Les valeurs sont les suivantes :

  • 0= ENA Désactiver ou UDP désactiver

  • 1= Activation et UDP désactivation de la fonction ENA Express

  • 2= ENA Express désactivé, UDP activé

    Note

    Cela ne se produit que lorsqu'ENAExpress a été initialement activé et UDP configuré pour l'utiliser. La valeur précédente est conservée pour le UDP trafic.

  • 3= ENA Express activé, UDP activé

ena_srd_eligible_tx_pkts

Le numéro de réseau est le suivant :

  • Les types d’instance d’envoi et de réception sont pris en charge. Consultez la table Types d'instances pris en charge pour ENA Express pour plus d’informations.

  • ENAExpress doit être configuré pour les instances d'envoi et de réception.

  • Les instances d'envoi et de réception doivent s'exécuter dans la même zone de disponibilité.

  • Le chemin réseau entre les instances ne doit pas inclure de boîtiers intergiciels. ENAExpress ne prend actuellement pas en charge les intergiciels.

Note

La métrique d'éligibilité d'ENAExpress couvre les exigences relatives à la source et à la destination, ainsi que le réseau entre les deux points de terminaison. Les paquets éligibles peuvent toujours être disqualifiés une fois qu’ils ont déjà été comptés. Par exemple, si un paquet éligible dépasse la limite maximale d'unités de transmission (MTU), il revient à la ENA transmission standard, bien que le paquet soit toujours considéré comme éligible dans le compteur.

ena_srd_tx_pkts

Le nombre de SRD paquets transmis au cours d'une période donnée.

ena_srd_rx_pkts

Le nombre de SRD paquets reçus au cours d'une période donnée.

ena_srd_resource_utilization

Pourcentage de l'utilisation maximale de la mémoire autorisée pour les SRD connexions simultanées consommées par l'instance.

Pour vérifier si la transmission de paquets est utiliséeSRD, vous pouvez comparer le nombre de paquets éligibles (ena_srd_eligible_tx_pktsmétrique) au nombre de SRD paquets transmis (ena_srd_tx_pktsmétrique) pendant une période donnée.

Trafic sortant (paquets sortants)

Pour vous assurer que votre trafic de sortie est utilisé SRD comme prévu, comparez le nombre de paquets SRD éligibles (ena_srd_eligible_tx_pkts) avec le nombre de SRD paquets envoyés (ena_srd_tx_pkts) sur une période donnée.

Les différences importantes entre le nombre de paquets éligibles et le nombre de SRD paquets envoyés sont souvent dues à des problèmes d'utilisation des ressources. Lorsque la carte réseau attachée à l'instance a épuisé ses ressources maximales, ou si les paquets dépassent la MTU limite, les paquets éligibles ne peuvent pas être transmis via SRD et doivent revenir à la ENA transmission standard. Les paquets peuvent également tomber dans cette lacune lors de migrations en direct ou de mises à jour de serveurs en direct. Un dépannage supplémentaire est nécessaire pour déterminer la cause racine.

Note

Vous pouvez ignorer les différences mineures occasionnelles entre le nombre de paquets éligibles et le nombre de SRD paquets. Cela peut se produire lorsque votre instance établit une connexion à une autre instance pour SRD le trafic, par exemple.

Pour connaître le pourcentage de votre trafic de sortie total utilisé sur une période donnéeSRD, comparez le nombre de SRD paquets envoyés (ena_srd_tx_pkts) au nombre total de paquets envoyés pour l'instance (NetworkPacketOut) pendant cette période.

Trafic entrant (paquets entrants)

Pour connaître le pourcentage de votre trafic entrant utiliséSRD, comparez le nombre de SRD paquets reçus (ena_srd_rx_pkts) sur une période donnée au nombre total de paquets reçus pour l'instance (NetworkPacketIn) pendant cette période.

Utilisation des ressources

L'utilisation des ressources est basée sur le nombre de SRD connexions simultanées qu'une seule instance peut détenir à un moment donné. La métrique d’utilisation des ressources (ena_srd_resource_utilization) assure le suivi de votre utilisation actuelle pour l’instance. À mesure que l’utilisation approche les 100 %, vous pouvez vous attendre à des problèmes de performances. ENALa transmission express revient SRD à la ENA transmission standard, et le risque de perte de paquets augmente. Une utilisation élevée des ressources indique qu’il est temps de réduire la taille de l’instance afin d’améliorer les performances réseau.

Note

Lorsque le trafic réseau d'une instance dépasse un maximum, AWS façonne le trafic qui dépasse le maximum en mettant en file d'attente puis en supprimant les paquets réseau.

Persistance

Les métriques de sortie et d'entrée s'accumulent lorsqu'ENAExpress est activé pour l'instance. Les métriques cessent de s'accumuler si ENA Express est désactivé, mais persistent tant que l'instance est toujours en cours d'exécution. Les métriques sont réinitialisées si l’instance redémarre ou est arrêtée, ou si l’interface réseau est détachée de l’instance.

Mesures de performance du réseau avec le DPDK pilote pour ENA

La version 2.2.0 et les versions ultérieures du ENA pilote prennent en charge la génération de rapports sur les métriques du réseau. DPDKLa version 20.11 inclut le ENA pilote 2.2.0 et est la première DPDK version à prendre en charge cette fonctionnalité.

Vous pouvez utiliser un exemple d'application pour consulter les DPDK statistiques. Pour démarrer une version interactive de l’exemple d’application, exécutez la commande suivante.

./app/dpdk-testpmd -- -i

Dans cette session interactive, vous pouvez saisir une commande afin de récupérer des statistiques étendues pour un port. L’exemple de commande suivant récupère les statistiques pour le port 0.

show port xstats 0

Voici un exemple de session interactive avec l'DPDKexemple d'application.

[root@ip-192.0.2.0 build]# ./app/dpdk-testpmd -- -i EAL: Detected 4 lcore(s) EAL: Detected 1 NUMA nodes EAL: Multi-process socket /var/run/dpdk/rte/mp_socket EAL: Selected IOVA mode 'PA' EAL: Probing VFIO support... EAL: Invalid NUMA socket, default to 0 EAL: Invalid NUMA socket, default to 0 EAL: Probe PCI driver: net_ena (1d0f:ec20) device: 0000:00:06.0 (socket 0) EAL: No legacy callbacks, legacy socket not created Interactive-mode selected Port 0: link state change event testpmd: create a new mbuf pool <mb_pool_0>: n=171456, size=2176, socket=0 testpmd: preferred mempool ops selected: ring_mp_mc Warning! port-topology=paired and odd forward ports number, the last port will pair with itself. Configuring Port 0 (socket 0) Port 0: 02:C7:17:A2:60:B1 Checking link statuses... Done Error during enabling promiscuous mode for port 0: Operation not supported - ignore testpmd> show port xstats 0 ###### NIC extended statistics for port 0 rx_good_packets: 0 tx_good_packets: 0 rx_good_bytes: 0 tx_good_bytes: 0 rx_missed_errors: 0 rx_errors: 0 tx_errors: 0 rx_mbuf_allocation_errors: 0 rx_q0_packets: 0 rx_q0_bytes: 0 rx_q0_errors: 0 tx_q0_packets: 0 tx_q0_bytes: 0 wd_expired: 0 dev_start: 1 dev_stop: 0 tx_drops: 0 bw_in_allowance_exceeded: 0 bw_out_allowance_exceeded: 0 pps_allowance_exceeded: 0 conntrack_allowance_exceeded: 0 linklocal_allowance_exceeded: 0 rx_q0_cnt: 0 rx_q0_bytes: 0 rx_q0_refill_partial: 0 rx_q0_bad_csum: 0 rx_q0_mbuf_alloc_fail: 0 rx_q0_bad_desc_num: 0 rx_q0_bad_req_id: 0 tx_q0_cnt: 0 tx_q0_bytes: 0 tx_q0_prepare_ctx_err: 0 tx_q0_linearize: 0 tx_q0_linearize_failed: 0 tx_q0_tx_poll: 0 tx_q0_doorbells: 0 tx_q0_bad_req_id: 0 tx_q0_available_desc: 1023 testpmd>

Pour plus d'informations sur l'exemple d'application et son utilisation pour récupérer des statistiques étendues, consultez le guide de l'utilisateur de l'application Testpmd dans la documentation. DPDK

Mesures relatives aux instances exécutant Free BSD

À partir de la version 2.3.0, le BSD pilote ENA Free prend en charge la collecte de mesures de performance réseau sur les instances exécutant FreeBSD. Pour activer la collecte de BSD métriques gratuites, entrez la commande suivante et définissez interval à une valeur comprise entre 1 et 3 600. Cela indique la fréquence, en secondes, à laquelle les BSD métriques gratuites doivent être collectées.

sysctl dev.ena.network_interface.eni_metrics.sample_interval=interval

Par exemple, la commande suivante définit le pilote pour qu'il collecte BSD les métriques Free sur l'interface réseau 1 toutes les 10 secondes :

sysctl dev.ena.1.eni_metrics.sample_interval=10

Pour désactiver la collecte de BSD métriques gratuites, vous pouvez exécuter la commande précédente et spécifier 0 comme interval.

Après avoir activé la collecte de BSD métriques gratuites, vous pouvez récupérer le dernier ensemble de métriques collectées en exécutant la commande suivante.

sysctl dev.ena.network_interface.eni_metrics