49 votes

Pourquoi un routeur matériel est-il plus performant qu'un routeur Linux doté de meilleures spécifications (RAM et CPU) ?

J'ai un CentOS 6.3, 64 bit, qui sert de passerelle avec 4 NIC (1 Gbps), chacun relié ensemble, l'un pour le trafic public et l'autre pour le trafic privé, qui effectue du NATing. Il dispose de 6 Go de RAM et de 4 cœurs logiques. Nous l'utilisons depuis deux ans sans aucun problème.

Je n'ai pas d'expérience avec les routeurs matériels, mais j'ai entendu dire qu'ils avaient moins de RAM et de CPU et qu'ils utilisaient des disques flash. Comment une boîte avec une faible configuration matérielle peut-elle être plus performante (c'est-à-dire gérer plus de connexions simultanées) qu'une machine avec plus de RAM et de CPU ?

Quels sont les facteurs limitants, si ce n'est que l'IOS utilise différentes méthodes pour gérer cela ?

3voto

DeveloperChris Points 1958

C'est généralement dû à l'absence de configuration de la pile réseau et des périphériques dans linux. Dans près de 90% des cas, le trafic réseau est traité par le CPU0 alors que les autres sont en veille. Si vous résolvez ce problème, la différence avec les routeurs matériels ne sera pas aussi radicale que vous le pensez. Vous devriez au moins mettre en place RSS ou RPS (distribution du traitement des paquets basée sur le pilote/la pile entre les CPU).

Si vous tenez vraiment à la performance de votre routeur linux et que vous disposez de suffisamment de temps, je vous recommande de lire ceci article dans le paquetcloud blog (il y a aussi un article sur la transmission des paquets).

Si vous avez besoin de jeter un coup d'œil à la distribution et que vous pensez que regarder à while sleep 1; do cat $some_file_in_procfs; done Évaluation du masque de l'unité centrale et manuel smp_affinity l'écriture est ennuyeuse, vous auriez probablement trouvé mon projet de prédilection netutils-linux extrêmement utile.

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