1 votes

Performances des applications et affinité avec les interruptions

Citation : le guide RedHat Performance Tuning

3.3.7. Réglage de l'affinité d'interruption

Les demandes d'interruption ont une propriété d'affinité associée, smp_affinity, qui définit les processeurs qui traiteront la demande d'interruption. Pour améliorer les performances de l'application, attribuez l'affinité d'interruption et le processus au même processeur, ou aux processeurs du même noyau. Ce site permet aux fils d'interruption et d'application spécifiés de partager des lignes de cache. lignes de cache.

J'ai une application qui reçoit et traite de grandes quantités de données UDP. Si je cherche à réduire le temps entre l'arrivée du paquet UDP et le traitement complet du paquet par l'application, dois-je attribuer la même affinité à la carte réseau recevant les paquets et à l'application ? Ou dois-je leur attribuer des affinités différentes ? J'ai l'impression que la citation ci-dessus suggère la première solution, mais j'aurais pensé que la seconde serait plus avantageuse.

Toute aide serait la bienvenue.

Gracias

1voto

shodanshok Points 42743

Bien que seul un benchmark dirigé puisse vraiment répondre à votre question, le plus sûr est d'exécuter les IRQ et l'application sur le même CPU/socket, mais sur des cœurs différents. De cette manière, la puissance disponible du CPU est maximisée et, en même temps, le cache L3 commun à tous les serveurs récents permet un partage rapide des données entre les IRQ et l'application.

Si vous souhaitez vraiment réduire la latence entre la réception et le traitement des paquets, vous devez régler les paramètres de la mémoire tampon des paquets et de la coalescence des IRQ de votre adaptateur Ethernet.

Vous pouvez utiliser le très bon ethtool pour le faire :

  • ethtool -c vous donne un aperçu des paramètres de coalescence des paquets par défaut, tandis que ethtool -C vous permettre de les modifier.
  • ethtool -g montre les paramètres du tampon d'anneau, tandis qu'avec ethtool -G vous pouvez les modifier.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X