Come faccio a sapere quanto mi sto avvicinando a Somaxconn?


17

L'opzione sysctl è net.core.somaxconnimpostata automaticamente su 128 (sui nostri sistemi) ma può essere aumentata.

  1. Cos'è esattamente questo limite di misurazione e limite?

  2. Come faccio a sapere quanto sono vicino al limite?

Contesto: recentemente ho avuto un problema che sembrava essere corretto aumentando questo limite. Il problema era intermittente, quindi non mi fido che sia stato risolto. Vorrei scoprire se il numero corrente di [qualunque sia il limite massimo di impostazione] è maggiore del limite massimo precedente di 128.


Risposte:


18

somaxconndetermina il numero massimo di connessioni backlog consentite per ciascuna porta TCP sul sistema. Aumentarlo (consigliato per i server) può impedire i messaggi di "rifiuto della connessione", ma può causare connessioni lente se il server non è in grado di gestire il carico maggiore.

È possibile controllare l'arretrato corrente con in netstat -ant | grep -c SYN_RECbase a questa pagina . Conterà il numero di connessioni nello stato "SYN ricevuto", il che significa che il sistema ha ricevuto un pacchetto SYN (richiesta di connessione) ma non l'ha ancora riconosciuto.

Se il sistema è ssinstallato, è anche possibile utilizzare ss -sper visualizzare un riepilogo delle connessioni. Cercare synrecvnell'output o ss -s | grep -Po '(?<=synrecv )\d+(?=,)'semplicemente stampare il numero.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.