Dans le domaine des ordinateurs modernes, le protocole TCP/IP constitue la base de la communication réseau. En tant que système d'exploitation open source, Linux est devenu le système d'exploitation préféré utilisé par de nombreuses entreprises et organisations. Cependant, à mesure que les applications et services réseau deviennent des composants de plus en plus critiques pour les entreprises, les administrateurs doivent souvent optimiser les performances du réseau pour garantir un transfert de données rapide et fiable.
Cet article expliquera comment améliorer la vitesse de transmission réseau des systèmes Linux en optimisant les performances TCP/IP et les performances réseau des systèmes Linux. Cet article explorera certains paramètres TCP nécessaires et comment les modifier pour optimiser les performances du réseau. Cet article expliquera également comment utiliser certains outils CLI et noyau courants pour vérifier les performances du réseau dans le système et fournira aux lecteurs quelques exemples de code.
1. Comprendre TCP tw_reuse
La connexion TCP est un protocole de transport orienté connexion, donc la combinaison d'adresse IP et de port doit être différente pour créer une nouvelle connexion. Une fois le client et le serveur fermés, mais Linux attend encore un certain temps pendant lequel la connexion a peut-être été récemment créée, une tentative est effectuée pour établir une connexion TCP. Cette période de temps est appelée état « TIME_WAIT » et les connexions dans cet état ne peuvent pas être réutilisées. Ce comportement peut ralentir les performances TCP/IP du serveur.
Pour éviter cette situation, nous pouvons utiliser le paramètre tw_reuse. L'activation de tw_reuse permet de réutiliser les connexions terminées sans attendre un certain temps. Ce paramètre peut être activé via la commande suivante :
echo 1 >/proc/sys/net/ipv4/tcp_tw_reuse
2. Ajustez les paramètres TCP keepalive de manière appropriée
TCP keepalive est un mécanisme qui peut détecter si la connexion est toujours active et éviter toute perte de connexion due à des problèmes de congestion du réseau. TCP keepalive vérifie périodiquement l'état de la connexion pour déterminer si la connexion est toujours active et ferme la connexion dans le cas contraire.
Le réglage des paramètres TCP keepalive peut améliorer les performances de transmission. Voici trois paramètres TCP importants :
1.tcp_keepalive_time
Le paramètre tcp_keepalive_time définit l'intervalle de temps entre l'envoi de messages keep-alive. Si un nœud du réseau ne répond plus, le mécanisme keepalive tente de rétablir la connexion.
La valeur par défaut est de 7200 secondes (soit 2 heures)
2.tcp_keepalive_intvl
Le paramètre tcp_keepalive_intvl définit l'intervalle de nouvelle tentative après l'envoi d'un message keep-alive.
La valeur par défaut est de 75 secondes
3.tcp_keepalive_probes
tcp_keepalive_probes définit le nombre de sondes TCP effectuées avant d'envoyer un message keepalive.
La valeur par défaut est 9 fois
Ces paramètres peuvent être modifiés pour améliorer les performances TCP. Voici la commande permettant de modifier les trois paramètres ci-dessus :
echo 600 >/proc/sys/net/ipv4/tcp_keepalive_time echo 30 >/proc/sys/net/ipv4/tcp_keepalive_intvl echo 5 >/proc/sys/net/ipv4/tcp_keepalive_probes
3. Activer l'option de mise à l'échelle de la fenêtre TCP
TCP Window Scaling (TCP Window Scaling) est une option permettant d'étendre l'en-tête TCP pour prendre en charge les réseaux à haut débit. Par défaut, le noyau Linux active automatiquement l'option d'extension de fenêtre TCP, mais si vous utilisez une ancienne version du noyau, vous devrez peut-être activer cette option.
Voici la commande permettant d'activer l'option d'extension de fenêtre TCP :
echo 1 >/proc/sys/net/ipv4/tcp_window_scaling
4. Utilisez ifconfig pour ajuster les valeurs MTU et MRU
MTU (Maximum Transmission Unit) est la taille maximale qu'un paquet peut transmettre, tandis que MRU (Maximum Receiver Unit) est la taille maximale qu'un paquet peut recevoir. La taille maximale du paquet que l'extrémité peut recevoir.
La modification des valeurs MTU et MRU peut améliorer les performances réseau de votre système. Nous pouvons utiliser la commande ifconfig pour modifier ces valeurs. Voici les commandes pour modifier MTU et MRU :
ifconfig eth0 mtu 9000 ifconfig eth0 mru 9000
5. Utilisez iperf3 pour tester les performances du réseau
iperf3 est un outil de détection de trafic et de test de la qualité du service réseau. Il aide les administrateurs à mesurer les performances du réseau du système et à vérifier la congestion du réseau. Utilisez iperf3 pour découvrir rapidement les goulots d'étranglement du réseau pour le réglage.
Tout d’abord, démarrez iperf3 côté serveur. La commande suivante peut démarrer un serveur TCP en écoute sur le port par défaut :
iperf3 -s
Ensuite, exécutez iperf3 sur le client pour tester la vitesse de diffusion des informations réseau. Pour les tests TCP, vous pouvez exécuter la commande suivante :
iperf3 -c <server-ip>
6. Utilisez la commande netstat pour surveiller les performances du réseau
La commande netstat est un outil de ligne de commande couramment utilisé qui peut être utilisé pour vérifier les connexions réseau et les performances de transmission dans les systèmes Linux. .
Vous pouvez utiliser la commande suivante pour vérifier le nombre et l'état des connexions TCP dans votre système Linux :
netstat -nat | grep -i "tcp.*established"
Cette commande renverra le nombre de connexions TCP actuellement établies. Plus le nombre de connexions établies est élevé, plus les performances TCP/IP du système seront faibles.
7. Utilisez sysctl pour afficher les paramètres TCP/IP
sysctl est un utilitaire CLI qui gère les paramètres du noyau. Vous pouvez l'utiliser pour afficher et modifier les paramètres TCP/IP.
Voici les commandes pour afficher les paramètres TCP/IP :
sysctl -a | grep tcp
Nous pouvons modifier ces paramètres selon nos besoins en utilisant la commande suivante :
sysctl -w <parameter=value>
Par exemple, la commande suivante modifiera la taille maximale de compression mémoire du Pile TCP :
sysctl -w net.ipv4.tcp_mem='10000000 10000000 10000000'
huit, utilisez tcpdump pour surveiller le trafic réseau
tcpdump est un outil utilitaire de ligne de commande permettant de capturer des paquets de données réseau. Vous pouvez l'utiliser pour surveiller le trafic réseau afin de détecter les pannes ou les goulots d'étranglement du réseau.
Voici les commandes pour capturer le trafic TCP entrant et sortant à l'aide de la commande tcpdump :
tcpdump -i eth0 -vv tcp
Vous pouvez rediriger sa sortie vers un fichier, puis le visualiser à l'aide de Wireshark :
tcpdump -i eth0 -vv tcp -w <filename> wireshark <filename>
Conclusion
En configurant correctement TCP/IP et les paramètres réseau, les performances réseau de votre système Linux peuvent être améliorées. Grâce aux outils CLI et au noyau fournis dans cet article, les administrateurs peuvent mieux comprendre les performances réseau du système et les optimiser. Cet article fournit des exemples de code pour aider les administrateurs à mieux comprendre comment optimiser les performances TCP/IP et les performances du réseau.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!