Încetiniri ale proxy-ului în timp: verificați conntrack și limitele de resurse
Investigați presiunea urmăririi conexiunilor împreună cu limitele de resurse ale proxy-ului și ale gazdei atunci când defecțiunile se acumulează în timp.
Proxy-ul răspunde după o repornire. Câteva ore mai târziu, conexiunile noi se blochează. O nouă repornire cumpără încă un interval liniștit. Acest tipar sugerează o stare care se acumulează, dar nu identifică ce stare este responsabilă.
Pe o cale Linux care folosește urmărirea conexiunilor, un candidat este tabela conntrack. Verificați aceste valori existente pe mașină și în spațiul de nume de rețea care gestionează traficul:
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_maxPrima raportează intrările de flux alocate; a doua le limitează. Nu sunt numărători de utilizatori Squid sau de cereri HTTP. Starea fluxului din nucleu poate supraviețui activității active a aplicației.
Căutați o relație, nu doar un număr mare
Comparați ocuparea în timp cu debutul defecțiunilor la conexiunile noi și cu mesajele relevante ale nucleului. Un număr mare fără dovezi de defecțiune corespunzătoare este diferit de o tabelă care atinge în mod repetat limita exact când cererile încep să expire.
Tabela poate servi mai mult decât proxy-ul. Alte servicii locale, traficul redirecționat sau o altă cale de rețea aglomerată pot contribui. Faptul că repornirea proxy-ului schimbă simptomul nu dovedește că memoria cache de obiecte a lui Squid a fost cauza.
Țineți în vedere explicațiile concurente: descriptorii de fișiere, cozile ajutoarelor de autentificare, întârzierile DNS, presiunea pe memorie și un sistem de fișiere plin pot de asemenea să se agraveze în timp. Notați ce resursă crește și ce operațiuni se opresc primele. Faptul că conexiunile de lungă durată supraviețuiesc în timp ce cele noi eșuează este o dovadă utilă, nu un diagnostic în sine.
Creșterea unei limite are un cost de memorie. Înainte de a o schimba, stabiliți volumul de lucru, spațiul de nume și capacitatea disponibilă. Scurtarea nechibzuită a expirărilor poate rupe sesiuni inactive utile; golirea întregii stări a conexiunilor poate perturba traficul necorelat.
Rezultatul util este o explicație a acumulării și o schimbare de capacitate sau de ciclu de viață care i se potrivește. Sigur de crescut nu este o proprietate pe care o împărtășește fiecare server proxy.