Comment augmenter les connexions TCP/IP sous Linux
Linux est largement utilisé pour les serveurs et les applications réseau. L’un des problèmes courants rencontrés par les administrateurs est l’atteinte du nombre maximal de connexions TCP/IP. Lorsque cette limite est atteinte, les utilisateurs peuvent rencontrer des erreurs de connexion.
Cet article explique comment augmenter le nombre maximum de connexions TCP/IP sous Linux.
Comprendre les connexions TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) est le protocole de communication fondamental utilisé sur Internet. Chaque connexion TCP nécessite des ressources système. Lorsqu’il y a trop de connexions actives, le système peut refuser de nouvelles connexions ou ralentir.
En augmentant le nombre maximal de connexions autorisées, vous pouvez améliorer les performances du serveur et gérer davantage d’utilisateurs simultanés.
Vérification des limites de connexion actuelles sous Linux
Avant de modifier les paramètres, il est bon de connaître le nombre maximum de connexions TCP autorisées sur votre système à l’aide de la commande sysctl suivante :
sysctl net.ipv4.tcp_max_syn_backlog
Cette commande indique le nombre de connexions incomplètes autorisées. De plus, pour afficher le nombre total de descripteurs de fichiers disponibles (ce qui affecte le nombre maximal de connexions), utilisez :
ulimit -n
Le résultat de cette commande indique la limite actuelle de fichiers ouverts, ce qui inclut les connexions TCP.
Augmentation des limites de connexion TCP sous Linux
Pour augmenter le nombre maximal de connexions TCP/IP, vous devez modifier quelques paramètres dans les fichiers de configuration du système.
1. Augmenter les connexions TCP sous Linux
Le paramètre tcp_max_syn_backlog contrôle le nombre de connexions semi-ouvertes pouvant être mises en file d’attente.
Pour modifier cette valeur, utilisez un éditeur de texte pour modifier le fichier /etc/sysctl.conf :
sudo nano /etc/sysctl.conf
Ajoutez ou modifiez la ligne suivante.
net.ipv4.tcp_max_syn_backlog = 4096
Vous pouvez remplacer 4096 par une valeur plus élevée en fonction de vos besoins.
Pour appliquer les modifications, exécutez la commande suivante.
sudo sysctl -p
2. Augmenter le nombre de descripteurs de fichiers
Le nombre de descripteurs de fichiers détermine le nombre de connexions que votre système peut gérer.
Pour augmenter cette limite, ouvrez le fichier /etc/security/limits.conf.
sudo nano /etc/security/limits.conf
Ajoutez les lignes suivantes à la fin du fichier.
* soft nofile 100000
* hard nofile 100000
Cela fixe les limites souples et strictes pour le nombre maximal de fichiers ouverts à 100 000. Vous pouvez ajuster ce nombre en fonction de vos besoins.
3. Mettre à jour la limite de descripteurs de fichiers à l’échelle du système
En plus des limites spécifiques à l’utilisateur, vous pouvez également augmenter la limite à l’échelle du système pour les descripteurs de fichiers dans le fichier /etc/sysctl.conf.
sudo nano /etc/sysctl.conf
Ajoutez ou modifiez la ligne suivante.
fs.file-max = 100000
Enregistrez et fermez le fichier, puis appliquez les modifications :
sudo sysctl -p
Vérification des limites de connexion TCP sous Linux
Pour vous assurer que les modifications ont été appliquées correctement, utilisez les commandes suivantes.
sysctl net.ipv4.tcp_max_syn_backlog
cat /proc/sys/fs/file-max
ulimit -n
Configuration supplémentaire (en option)
Si vous souhaitez affiner davantage vos paramètres réseau, vous pouvez ajuster des paramètres supplémentaires dans le fichier /etc/sysctl.conf.
Voici quelques paramètres utiles :
tcp_fin_timeout : Réduire le temps de maintien de la connexion dans l’état FIN-WAIT-2, ce qui permet une réutilisation plus rapide des connexions.
net.ipv4.tcp_fin_timeout = 15
tcp_tw_reuse : Réutilisez les sockets TIME-WAIT pour les nouvelles connexions, ce qui peut améliorer la gestion des connexions.
net.ipv4.tcp_tw_reuse = 1
tcp_max_orphans : Augmentez le nombre maximal de sockets TCP orphelins. Ceci est utile pour les systèmes à charge élevée.
net.ipv4.tcp_max_orphans = 8192
Après avoir apporté des modifications supplémentaires, n’oubliez pas de les appliquer à l’aide des éléments suivants :
sudo sysctl -p
Conclusion
En suivant ces étapes, vous pouvez augmenter le nombre maximal de connexions TCP/IP dans votre système Linux, ce qui aidera votre serveur à gérer plus de connexions simultanées, améliorant ainsi les performances et l’expérience utilisateur.
Surveillez toujours les performances de votre serveur et ajustez ces paramètres si nécessaire pour maintenir un fonctionnement optimal.
