Tarpinio serverio lėtėjimas laikui bėgant: patikrinkite conntrack ir išteklių limitus
Tyrinėkite ryšių sekimo spaudimą kartu su tarpinio serverio ir pagrindinio kompiuterio išteklių limitais, kai gedimai kaupiasi laikui bėgant.
Tarpinis serveris atsako po paleidimo iš naujo. Po kelių valandų nauji ryšiai stringa. Dar vienas paleidimas nusiperka dar vieną ramų intervalą. Šis modelis rodo kaupiamą būseną, bet nenurodo, kuri būsena už tai atsakinga.
Linux kelyje, kuris naudoja ryšių sekimą, vienas kandidatas yra conntrack lentelė. Patikrinkite šias esamas reikšmes kompiuteryje ir tinklo vardų erdvėje, kuri apdoroja srautą:
/proc/sys/net/netfilter/nf_conntrack_count
/proc/sys/net/netfilter/nf_conntrack_maxPirmoji praneša apie paskirstytus srauto įrašus; antroji juos riboja. Tai nėra Squid naudotojų ar HTTP užklausų skaičiai. Branduolio srauto būsena gali pergyventi aktyvų programos darbą.
Ieškokite ryšio, o ne vien didelio skaičiaus
Palyginkite užimtumą laikui bėgant su naujų ryšių gedimų pradžia ir atitinkamais branduolio pranešimais. Didelis skaičius be atitinkamų gedimo įrodymų skiriasi nuo lentelės, kuri pakartotinai pasiekia savo ribą būtent tada, kai užklausos pradeda viršyti laiką.
Lentelė gali aptarnauti daugiau nei tarpinį serverį. Kitos vietinės paslaugos, persiunčiamas srautas ar kitas užimtas tinklo kelias gali prisidėti. Tai, kad tarpinio serverio paleidimas iš naujo pakeičia simptomą, neįrodo, kad priežastis buvo Squid objektų podėlis.
Laikykite konkuruojančius paaiškinimus akyse: failų deskriptoriai, autentifikavimo pagalbininkų eilės, DNS vėlavimai, atminties spaudimas ir pilna failų sistema taip pat gali blogėti laikui bėgant. Užsirašykite, kuris išteklius auga ir kurios operacijos pirmos nustoja veikti. Tai, kad ilgaamžiai ryšiai išlieka, o nauji žlunga, yra naudingas įrodymas, o ne savarankiška diagnozė.
Limito padidinimas kainuoja atmintį. Prieš keisdami nustatykite darbo krūvį, vardų erdvę ir turimą talpą. Beatodairiškas laiko limitų trumpinimas gali sugriauti naudingas neveiklias sesijas; visos ryšių būsenos išvalymas gali sutrikdyti nesusijusį srautą.
Naudingas rezultatas yra kaupimosi paaiškinimas ir jam tinkamas talpos ar gyvavimo ciklo pakeitimas. Saugu padidinti nėra savybė, kurią turi kiekvienas tarpinis serveris.