Rallentamenti del proxy nel tempo: controlla conntrack e i limiti delle risorse
Esamina la pressione del tracciamento delle connessioni insieme ai limiti del proxy e dell'host quando i guasti si accumulano nel tempo.
Il proxy risponde dopo un riavvio. Poche ore dopo, le nuove connessioni si bloccano. Riavviarlo compra un altro intervallo tranquillo. Questo schema suggerisce uno stato che si accumula, ma non identifica quale stato ne sia responsabile.
Su un percorso Linux che usa il tracciamento delle connessioni, un candidato è la tabella conntrack. Controlla questi valori esistenti sulla macchina e nello spazio dei nomi di rete che gestisce il traffico:
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_maxIl primo riporta le voci di flusso allocate; il secondo le limita. Non sono conteggi di utenti Squid né di richieste HTTP. Lo stato di flusso del kernel può sopravvivere al lavoro attivo dell'applicazione.
Cerca una relazione, non solo un numero grande
Confronta l'occupazione nel tempo con l'insorgere dei guasti sulle nuove connessioni e con i messaggi rilevanti del kernel. Un conteggio alto senza prove di guasto corrispondenti è diverso da una tabella che raggiunge ripetutamente il limite proprio quando le richieste iniziano ad andare in timeout.
La tabella può servire più del proxy. Altri servizi locali, traffico inoltrato o un altro percorso di rete occupato possono contribuire. Il fatto che un riavvio del proxy cambi il sintomo non prova che la cache degli oggetti di Squid ne sia stata la causa.
Tieni presenti le spiegazioni concorrenti: descrittori di file, code degli helper di autenticazione, ritardi DNS, pressione sulla memoria e un filesystem pieno possono anch'essi peggiorare nel tempo. Annota quale risorsa cresce e quali operazioni smettono di funzionare per prime. Il fatto che le connessioni di lunga durata sopravvivano mentre le nuove falliscono è una prova utile, non una diagnosi di per sé.
Alzare un limite ha un costo in memoria. Prima di cambiarlo, stabilisci il carico di lavoro, lo spazio dei nomi e la capacità disponibile. Accorciare i timeout senza criterio può rompere sessioni inattive utili; svuotare tutto lo stato delle connessioni può disturbare traffico non correlato.
Il risultato utile è una spiegazione dell'accumulo e un cambiamento di capacità o di ciclo di vita che vi si adatti. Sicuro da aumentare non è una proprietà che ogni server proxy condivide.