Proxy-fördröjningar över tid: kontrollera conntrack och resursgränser
Undersök trycket på anslutningsspårning tillsammans med proxy- och värdresursgränser när fel hopar sig över tid.
Proxyn svarar efter en omstart. Några timmar senare fastnar nya anslutningar. En ny omstart köper ännu ett lugnt intervall. Mönstret tyder på ett tillstånd som växer, men det säger inte vilket tillstånd som är ansvarigt.
På en Linux-väg med anslutningsspårning är conntrack-tabellen en kandidat. Kontrollera dessa befintliga värden på maskinen och i det nätverksnamnrymd som hanterar trafiken:
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_maxDen första rapporterar tilldelade flödesposter; den andra begränsar dem. Det är inte antal Squid-användare eller HTTP-förfrågningar. Kernens flödestillstånd kan överleva programmets aktiva arbete.
Leta efter ett samband, inte bara ett stort tal
Jämför beläggningen över tid med när felen på nya anslutningar börjar och med relevanta kärnmeddelanden. Ett högt tal utan motsvarande felbevis skiljer sig från en tabell som gång på gång når sin gräns precis när förfrågningar börjar gå ut på tid.
Tabellen kan betjäna mer än proxyn. Andra lokala tjänster, vidarebefordrad trafik eller en annan upptagen nätverksväg kan bidra. Att en omstart av proxyn ändrar symptomet bevisar inte att Squids objektcache var orsaken.
Håll de konkurrerande förklaringarna i sikte: filbeskrivare, köer hos autentiseringshjälpare, DNS-fördröjningar, minnestryck och ett fullt filsystem kan också försämras över tid. Anteckna vilken resurs som växer och vilka operationer som först slutar fungera. Att långlivade anslutningar överlever medan nya misslyckas är ett användbart bevis, inte en diagnos i sig.
Att höja en gräns har en minneskostnad. Fastställ arbetsbelastningen, namnrymden och tillgänglig kapacitet innan du ändrar den. Att korta tidsgränser urskillningslöst kan bryta användbara inaktiva sessioner; att tömma allt anslutningstillstånd kan störa orelaterad trafik.
Det användbara resultatet är en förklaring till uppbyggnaden och en ändring av kapacitet eller livscykel som passar den. Säkert att höja är ingen egenskap som varje proxyserver delar.