Comment savoir à quelle distance je me rapproche de somaxconn?

17

L'option sysctl par net.core.somaxconndéfaut est 128 (sur nos systèmes) mais peut être augmentée.

  1. Quelle est exactement cette limite de mesure et de plafonnement?

  2. Comment savoir à quel point je suis proche de la limite?

Contexte: J'ai eu récemment un problème qui semble avoir été corrigé en augmentant cette limite. Le problème était intermittent, donc je ne pense pas qu'il soit vraiment résolu. Je voudrais savoir si le nombre actuel de [quel que soit ce paramètre limite] est supérieur à la limite maximale précédente de 128.

Andrew
la source
1
Pour info: depuis Linux 5.4, il est passé à 4096 .
Hi-Angel

Réponses:

18

somaxconndétermine le nombre maximal de connexions en attente autorisé pour chaque port TCP du système. L'augmenter (recommandé pour les serveurs) peut empêcher les messages "connexion refusée", mais cela peut entraîner des connexions lentes si le serveur ne peut pas gérer la charge accrue.

Vous pouvez vérifier le backlog actuel avec en netstat -ant | grep -c SYN_RECfonction de cette page . Il comptera le nombre de connexions à l'état "SYN reçu", ce qui signifie que le système a reçu un paquet SYN (demande de connexion) mais ne l'a pas encore reconnu.

Si votre système est ssinstallé, vous pouvez également utiliser ss -spour afficher un résumé des connexions. Recherchez synrecvdans la sortie ou ss -s | grep -Po '(?<=synrecv )\d+(?=,)'imprimez simplement le numéro.

miken32
la source