tutvustus #
Puhverserveri teenus on tarkvara, mis on loodud läbipaistvalt haldama klientide ühendusi ühe või mitme teenusega, pakkudes täpsemaid andmeid või ühenduse haldamist rakenduse tasemel (OSI mudeli 7. kiht). Selle saavutamiseks loob puhverserver ühe ühenduse kliendiga ja teise serveriga, et tagada nendevaheline sujuv ühenduvus.
Koormuse tasakaalustamise juurutamisel puhverserveri kaudu (mis toimib tõhusalt pöördpuhverserverina), on sujuvate ühenduste hõlbustamiseks oluline kohandada ajalõpusid. Sõltuvalt klientide või rakendusteenuste omadustest ei pruugi ajalõpu vaikeväärtustest piisata. Kõik ajalõpuga seotud vead logitakse süsteemi logidesse aadressil / var / log / syslog, mistõttu on ülioluline see fail võimalike probleemide tuvastamiseks üle vaadata.
See artikkel annab ülevaate puhverserverite levinumate ajalõpuprobleemide analüüsimisest ja tuvastamisest. Peamine teave, mida uurida, on see, kas ajalõpud esinevad tausta- või kliendipoolel. Kui see vahe on tehtud, saab rakendada sobivaid ajalõpu korrigeerimisi.
Taustaprogrammide külgmised ajalõpud #
Kui taustaküljel ilmnevad ajalõpud, kuvatakse vastavad teated järgmiselt:
21. august 09:23:06 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7ff830b85700) error copy server cont: Ühendus aegus august 21 09 :23:06 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.11:443, (7ff832d8b700) error copy server cont: Ühendus aegus 21. august 09:23: 16 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7ff799926700) error copy server cont: Ühendus aegus 21. august 09:23:18 noid- ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7ff830bc6700) error copy server cont: Broken pipe 21. august 09:23:19 noid-ee-01 pound : noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:444, (7f15f5a8c700) connect_nb: küsitlus aegus 21. august 09:23:24 noid-ee-01 nael: noid-proxy-far -01, service noid-service-01, backend 10.100.200.11:443, (7ff79a9a7700) error copy server cont: Ühendus aegus august 21 09:23:24 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, taustaprogramm 10.100.200.10:443, (7ff79a28b700) viga kopeeri server cont: Ühendus aegus
Need taustaprogrammi ajalõpu vead määravad asjakohase talu, teenusja backend veaga seotud. See teave tuvastab selgelt probleemiga seotud taustaprogrammi või taustaprogrammid. Kui ajalõpu probleemiga on seotud mitu farmi, teenust või taustaprogrammi, võib tekkida vajadus koguda täiendavat teavet võimalike võrguprobleemide uurimiseks.
Farmi logide lubamine võib paljastada juhtumeid, kus konkreetne taustaprogramm reageerib alguses kiiresti, kuid tekib ootamatult ajalõpu probleem, nagu on näidatud allolevas logiväljavõttes.
25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, my.service.com 185.106.182.130 - - [25/Jan/2024:19:57:04 +0000] "GET / myserv/ HTTP/1.1" 200 9 "" "Mozilla/3.0 (ühildub; ...)" (noid-service-01 -> 10.100.200.10:443) 0.039 sekundit 25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, my.service.com 88.111.111.111 - - [25/Jan/2024:19:57:04 +0000] "GET / myserv/ HTTP/1.1" 200 9 "" "Mozilla/3.0 (ühildub; ...)" (noid-service-01 -> 10.100.200.10:443) 0.035 sekundit 25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7fcd8eb0f700) connect_nb: küsitlus aegus 25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7fcd8eb0f700) backend 10.100.200.10:443d Ühenduse aeg 25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, (7fcd8eb0f700) BackEnd 10.100.200.10:443 surnud (tapetud) talus: 'noid-proxy-farm-01', teenus: 'ocp-ocuco-com' 25. jaanuar 19:57:04 noid-ee-01 nael: noid-proxy-farm-01, service noid-service-01, backend 10.100.200.10:443, (7fcd8eb0f700) BackEnd surnud (killed )
Selline käitumine võib viidata sellele, et taustaprogramm on saavutanud oma ühenduspiirangu, mis takistab täiendavate ühenduste loomist. Teise võimalusena võib see viidata sellele, et taustaprogramm ei vabasta ühendusi piisavalt kiiresti, mis põhjustab kitsaskoha. Selle probleemi lahendamiseks on soovitatav taustaprogrammi jälgida ja optimeerida, näiteks lubada rohkem ühendusi või teenust skaleerida, lisades täiendavaid taustaprogramme.
Kui ainult teatud taustaprogrammidel on samas teenuses ajalõpuprobleeme, võib see eeldada, et nendel konkreetsetel taustaprogrammidel võib olla probleeme, mis on seotud rakenduse aeglase kohaletoimetamise või võrguprobleemidega. Nende vigade lahendused või leevendused on toodud allpool.
Kliendipoolsed ajalõpud #
Kliendi ajalõpud ilmnevad vastupidiselt syslog järgmises vormingus:
18. august 07:31:38 noid-ee-01 nael: noid-proxy-farm-01, (7f8862187700) viga loeti alates 12.91.1.78: Ühendus aegus 18. august 07:31:43 noid-ee-01 nael: noid -proxy-farm-01, (7f8863c71700) viga loetud alates 12.2.1.105: Ühendus aegus 18. august 07:32:03 noid-ee-01 nael: noid-proxy-farm-01, (7f886275e700) viga 12.41.1.58. 18: Ühendus aegus 07. august 32:07:01 noid-ee-01 nael: noid-proxy-farm-7, (8880f84700d12.88.1.67) viga loeti alates 18: Ühendus aegus 07. august 32:16:01 noid-ee -01 nael: noid-proxy-farm-7, (8880933700f12.3.1.158) tõrge loeti alates XNUMX: ühendus aegus
Kui logidel puudub talu- või teenuseteave, näitab see, et kliendi päring ei jõudnud puhverserverisse õigesti. Kliendil kulub HTTP-päringu täitmiseks pikemat aega, mistõttu puhverserver ei tea taotlevast teenusest. IP-aadresside massiiv aitab tuvastada, kas probleem puudutab sisevõrku, väliseid kliente või neid, kes saabuvad läbi konkreetse tulemüüri.
Lisaks on välisklientide jaoks ülioluline kindlaks teha nende õiguspärasus. AbuseIP teenuste kasutamine võib aidata sellist teavet koguda.
Lisaks on kliendi ajalõpu probleemide lahendamiseks ülioluline kontrollida, et puhverserver ei katkestaks ühendusi enneaegselt. Puhverserveri enneaegse ühenduse katkestamise vältimiseks veenduge, et ühenduse ajalõpu ja taustaprogrammi ajalõpu summa oleks väiksem kui kliendi ajalõpu aeg.
Nende vigade lahendamise või leevendamise kohta vaadake allpool.
Tagaprogrammide külgmiste ajalõppude parandamine #
Võrgukihi kinnitamine #
Alustuseks on oluline kinnitada võrgukihi stabiilsus ja tagada dubleeritud pakettide, kadunud pakettide või latentsusaja oluliste kõikumiste puudumine. Võrgukihi kinnitamiseks järgige neid samme.
1. Käivitage pingi koormuse tasakaalustajast taustaprogrammi ja laske sellel mitu minutit töötada.
root@noid-ee-01:~# ping 10.100.200.10
2. Jälgige täitmise ajal pingi vastuseid:
PING 10.100.200.10 (10.100.200.10) 56 (84) baiti andmeid. 64 baiti alates 10.100.200.10: icmp_seq = 1 ttl = 64 aeg = 0.395 ms 64 baiti alates 10.100.200.10: icmp_seq = 2 ttl = 64 aeg = 0.626 ms 64 baiti alates .10.100.200.10:3 baiti =64 aeg = 0.178 ms [...] 64 baiti alates 10.100.200.10: icmp_seq = 21 ttl = 64 aeg = 0.502 ms 64 baiti alates 10.100.200.10: icmp_seq = 22 ttl = 64 aeg = 0.638 baiti 64 .10.100.200.10 .23 ms 64 ttl=0.573 aeg=10.100.200.10 ms ^C --- XNUMX pingi statistika --- 23 paketti edastatud, 23 vastu võetud, 0% paketikadu, aeg 140 ms rtt min/avg/max/mdev = 0.178/0.539/0.854/0.141 ms
See vastus näitab, et võrk on stabiilne, ilma kadunud pakettide või latentsusprobleemideta. Võrgukihi töökindluse kinnitamiseks veenduge, et pingi testi ajal ei esineks kõrvalekaldeid.
Lisaks saate probleemi replitseerimisel käivitades tcpdump'i analüüsida võrguliiklust, et määrata kindlaks konkreetne hetk, mil side viivitused või teatud paketid puuduvad. Kasutage järgmist käsku:
root@noid-ee-01:~# tcpdump -i suvaline tcp port PORT ja hosti BACKENDIP -w /tmp/capture.pcap
See käsk genereerib faili nimega /tmp/capture.pcap, mida saab Wiresharki abil analüüsida. Olge ettevaatlik, kuna see fail võib suure liikluse hõivamisel kiiresti kasvada.
Puhverserveri ajalõppude häälestamine #
Erinevate ajalõppude reguleerimine Farmi täpsem konfiguratsioon võimaldab meil kohandada puhverserveri käitumist meie rakendusserverite vajadustega, eriti kui need nõuavad iga päringu jaoks lisaaega või kui võrgu jõudlus on aeglane. Kaaluge järgmisi soovitusi:
Taustaühenduse ajalõpp: määrake a maksimaalne aeg ühenda () valitud taustaprogrammi vastu. Kui sõnumid meeldivad "connect_nb: küsitlus aegus" tuvastatakse, kaaluge selle väärtuse suurendamist vaikeväärtuselt 20 sekundilt 30 või 40 sekundini. Tõstke väärtust järk-järgult vaadeldud tulemuste põhjal, pidades meeles, et ajalõpp võib lahendada mujal esineva probleemi.
Taustasüsteemi vastuse ajalõpp: kohandage seda väärtust, kui sõnum kuvatakse "Error copy server cont: Connection timeout" tuvastatakse. Samamoodi suurendage seda väärtust järk-järgult, kuni täheldate selliste sõnumite vähenemist. Kuid olge ettevaatlik, et mitte seda väärtust liigselt suurendada, kuna see võib varjata taustaprobleeme. Vaikeväärtus on 45 sekundit, seega kaaluge selle suurendamist 60 sekundini või rohkem, jälgides vigade puudumist.
Taaselustatud taustaprogrammide kontrollimise sagedus: juhtudel, kui võrgu- või rakendusserveri probleemide tõttu on vaja suuremaid aegumistähtajaid, mis põhjustavad vahelduvaid HTTP 503 tõrkeid (mis näitab, et teenuse taustaprogramm pole saadaval), kaaluge selle väärtuse vähendamist 10 sekundilt 5-le. See korrigeerimine aitab leevendada valepositiivseid tulemusi taustaprogrammide seiskumise põhjusena märkimisel. ajalõppude järgi. Analüüsige, kas ajalõpud on normaalsetes piirides, kuna puhverserveri koormuse tasakaalustaja võib selles kontekstis teatud probleeme leevendada.
Viige läbi põhjalik analüüs, et teha kindlaks aegumise normaalsus. Puhverserveri koormuse tasakaalustaja suudab lahendada ja leevendada teatud ajalõpuga seotud probleeme.
Üksikasjalikuma teabe saamiseks vaadake järgmist artiklit:
Seadistage tervisekontroll #
Farm Guardiani eesmärk on taustaprogrammide aktiveerimine või deaktiveerimine nende saadavuse alusel. Selle stsenaariumi korral võimaldab Farm Guardiani võimendamine meil kindlaks teha taustaprogrammide tegeliku saadavuse. See protsess toimib sõltumatult ja paralleelselt puhverserveriga, pakkudes vahendit kontrollimaks, kas taustaprobleemid aitavad tõepoolest kaasa taustasüsteemi kitsaskohtade tekkele. Lisaks saame taustaprogrammide statistikat uurides, kui taustaprogramm on märgitud töövõimetuks, määrata selle serveri käsitletavate ühenduste arvu, mis võimaldab meil tuvastada iga taustaprogrammi ühenduse piirangud.
FarmGuardiani kontrolli konfigureerimine TCP jaoks võimaldab meil tuvastada kõik taustaprogrammide käepigistuse probleemid, mis võivad viidata kitsaskohale süsteemi või veebiserveri kihis. Teisest küljest aitab FarmGuardiani HTTP-kontrolli konfigureerimine tuvastada taustaprogrammide rakendusekihi probleeme, osutades potentsiaalsetele kitsaskohtadele rakenduse või andmebaasi kihis.
Kliendipoolsete ajalõppude parandamine #
Võrgukihi kinnitamine #
Võrgu stabiilsuse kontrollimiseks käivitage pingi test teisest serverist või masinast koormuse tasakaalustamise farmi jaoks konfigureeritud virtuaalse IP-aadressi IP-aadressile. See tagab välise vaatenurga ja aitab kinnitada võrgu töökindlust.
Õigustatud klientide kontrollimine #
Kasutage turvalisi tööriistu, et teha kindlaks, kas ajalõpu probleemid on seotud seaduslike klientide, robotite või potentsiaalsete ründajatega. Kui ajalõpud on seotud volitamata kasutajatega, rakendage IPDS-i mustad nimekirjad ja/või DoS-kaitsed, et kaitsta oma teenuseid ja tagada kohaletoimetamine ainult kehtivatele ja ehtsatele kasutajatele.
Puhverserveri ajalõppude häälestamine #
Lisaks kaaluge puhverserveri ajalõppude kohandamist, et kohandada teie teenustega koormuse tasakaalustaja kaudu ühendust loovate klientide olemust. Kui näiteks mobiilipõhised kliendid, tulemüüriprobleemid või aeglased võrgud põhjustavad reageerimisaja pikenemist, viimistlege Kliendi taotluse ajalõpp valik Täpsemad seaded oma LSLB talust. Vaikeväärtus on 30 sekundit; saate seda vastavalt oma konkreetsetele vajadustele suurendada 60 sekundini või kauemaks. Kliendi ajalõpu väärtus peaks ületama ühenduse ajalõpu ja taustasüsteemi vastuse ajalõpu summa.
Üksikasjalikuma teabe saamiseks vaadake järgmist artiklit: