Pe a le toe avea Linux conntrack ma au uo

Pe a le toe avea Linux conntrack ma au uo

Su'esu'ega feso'ota'iga ("conntrack") o se vaega autu o le fa'aputuga o feso'otaiga i luga ole fatu Linux. E fa'atagaina ai le fatu e siaki uma feso'ota'iga feso'ota'iga po'o tafega ma fa'apea ona iloa uma ai pepa o lo'o fausia ai tafega ta'itasi ina ia mafai ona fa'agasolo fa'atasi.

O le Conntrack o se vaega taua o le kernel lea e faʻaaogaina i nisi tulaga masani:

  • E fa'alagolago le NAT i fa'amatalaga mai le feso'ota'iga ina ia mafai ai ona fa'apena uma pepa mai le vaitafe tutusa. Mo se faʻataʻitaʻiga, pe a maua e se pod se auaunaga Kubernetes, e faʻaaoga e le kube-proxy load balancer le NAT e faʻatonu ai feoaiga i se pusa patino i totonu o le fuifui. Faamauina e Conntrack e faapea, mo se feso'ota'iga tu'ufa'atasi, e tatau ona lafo uma pepa i le auaunaga IP i le pusa lava e tasi, ma o pepa na toe fa'afo'i mai e le pito i tua e tatau ona toe fa'afo'i atu i le pusa na sau ai le talosaga.
  • O pa puipui e pei o Calico e faʻalagolago i faʻamatalaga mai le fesoʻotaʻiga i le lisi paʻepaʻe "tali" feoaiga. O lenei mea e mafai ai ona e tusia se faiga faʻavae fesoʻotaʻiga e fai mai "faʻataga laʻu pod e faʻafesoʻotaʻi i soʻo se tuatusi IP mamao" e aunoa ma le tusiaina o se faiga faʻavae e faʻatagaina manino ai le tali atu. (A aunoa ma lenei mea, e tatau ona e faʻaopoopoina le tulafono sili atu le saogalemu "faʻatagaina pepa i laʻu pod mai soʻo se IP".)

E le gata i lea, o le conntrack e masani lava ona faʻaleleia le faʻatinoga o le polokalama (e ala i le faʻaitiitia o le faʻaaogaina o le CPU ma le faʻaogaina o pusa) talu ai na o le uluai afifi i totonu o se vaitafe.
e tatau ona alu i le fa'aputuga atoa o feso'ota'iga e iloa ai le mea e fai i ai. Va'ai le pou "Fa'atusatusaga o faiga kube-proxy"ia vaʻai i se faʻataʻitaʻiga o le auala e galue ai.

Ae ui i lea, o le conntrack e iai ona tapulaʻa ...

O fea la na sese ai?

O le laulau fa'afeso'ota'i o lo'o i ai se lapo'a aupito maualuga e mafai ona fa'atulagaina, ma afai e tumu, e masani lava ona amata fa'ate'aina pe pa'u feso'ota'iga. E lava le avanoa avanoa i le laulau e faʻatautaia ai fefaʻatauaiga o le tele o talosaga, ma o le a le avea lava ma faʻafitauli. Ae ui i lea, o loʻo i ai ni nai faʻataʻitaʻiga atonu e te manaʻo e mafaufau i le faʻaaogaina o le laulau conntrack:

  • O le mea e sili ona manino pe afai e fa'atautaia e lau 'au'aunaga se numera tele o feso'ota'iga fa'atasi. Mo se faʻataʻitaʻiga, afai o lau laulau faʻafesoʻotaʻi e faʻapipiʻiina mo 128k faʻamaumauga, ae o loʻo ia te oe> 128k fesoʻotaʻiga faʻatasi, e mautinoa lava e te oʻo i se faʻafitauli!
  • O se mataupu e le o manino: pe a fa'agaoioia e lau 'au'aunaga se numera tele o feso'ota'iga i le sekone. E tusa lava pe puʻupuʻu fesoʻotaʻiga, e faʻaauau pea ona mataʻituina e Linux mo sina taimi (120s e le mafai). Mo se faʻataʻitaʻiga, afai o lau laulau faʻafesoʻotaʻi ua faʻatulagaina mo 128k faʻamatalaga ma o loʻo e taumafai e faʻatautaia le 1100 fesoʻotaʻiga i le sekone, o le a sili atu i le tele o le laulau faʻafesoʻotaʻi, e tusa lava pe puʻupuʻu fesoʻotaʻiga (128k/120s = 1092 fesoʻotaʻiga/ s).

E tele niche ituaiga o polokalama e pa'ū i nei vaega. E le gata i lea, afai e tele au mea leaga, faʻatumu le laulau fesoʻotaʻi a lau 'auʻaunaga i le tele o fesoʻotaʻiga afa-tatala e mafai ona faʻaaogaina e avea o se vaega o se osofaʻiga o le teena o le auaunaga (DOS). I tulaga uma e lua, o le conntrack e mafai ona avea ma se fa'agata fa'agata i lau masini. I nisi tulaga, o le fetu'una'iga o le laulau fa'afeso'ota'i e mafai ona lava e fetaui ma ou mana'oga - e ala i le fa'ateleina o le lapo'a po'o le fa'aitiitia o taimi fa'agata fa'afeso'ota'i (ae afai e te faia sese, o le a tele ni fa'afitauli e te feagai). Mo isi tulaga o le a mana'omia le pasia o feso'ota'iga mo fe'avea'i fe'avea'i.

Faataitaiga moni

Seʻi o tatou tuʻuina atu se faʻataʻitaʻiga faʻapitoa: tasi le kamupani tele SaaS sa matou galulue faʻatasi ma sa i ai le tele o sapalai memcached i luga o 'au (e le o masini masini), e taʻitasi le 50K+ fesoʻotaʻiga pupuu i le sekone.

Na latou faʻataʻitaʻia le faʻaogaina o fesoʻotaʻiga, faʻateleina le laulau ma faʻaitiitia le taimi e siaki ai, ae o le faʻatulagaga e le faʻatuatuaina, faʻateleina le faʻaaogaina o le RAM, o se faʻafitauli (i luga o le faʻatonuga a GBytes!), Ma o fesoʻotaʻiga na matua pupuu na le mafai ai e conntrack. fa'atupu lana fa'amanuiaga masani fa'atino (fa'aitiitia le fa'aaogāina o le PPU po'o le fa'agata o pusa).

Na latou liliu atu i Calico e fai ma sui. O faiga fa'avae feso'ota'iga a Calico e fa'atagaina oe e aua ne'i fa'aogaina le feso'ota'iga mo nisi ituaiga o felauaiga (fa'aaogā le filifiliga o faiga fa'avae doNotTrack). O lenei mea na latou maua ai le maualuga o le faʻatinoga latou te manaʻomia, faʻatasi ai ma le faʻaopoopoga o le puipuiga na saunia e Calico.

O le a le umi e tatau ona e alu i ai e pasi ai le conntrack?

  • O faiga fa'avae o feso'ota'iga e tatau ona tutusa lelei. I le tulaga o le SaaS e tuʻuina atu: o latou talosaga na tamoe i totonu o le sone puipuia ma o le mea lea, i le faʻaaogaina o faiga faʻavae fesoʻotaʻiga, e mafai ona latou faʻamaeʻaina fefaʻatauaiga mai isi talosaga faʻapitoa na faʻatagaina avanoa i memcached.
  • O le fai-le-track policy e le amanaia le itu o le sootaga. O lea la, afai e hacked le server memcached, e mafai ona e taumafai e faʻafesoʻotaʻi i soʻo se tagata faʻatau memcached, pe afai e faʻaaogaina le puna saʻo. Ae peita'i, afai ua sa'o lau fa'auigaina o le faiga fa'avae feso'ota'iga mo au fa'atau memcached, o le a teena pea nei taumafaiga feso'ota'iga i le itu a le kalani.
  • O le faiga o le fai-le-track e fa'aoga i pepa ta'itasi, e fa'afeagai ma faiga fa'avae masani, lea e fa'aoga na'o le pepa muamua o lo'o fa'agasolo. Ole mea lea e mafai ona fa'ateleina ai le fa'aaogaina ole PPU ile afifi ona e tatau ona fa'aoga le faiga fa'avae mo pepa ta'itasi. Ae mo feso'ota'iga pu'upu'u, o lenei tupe fa'aalu e paleni i le fa'aitiitiga o le fa'aaogaina o punaoa mo le fa'aogaina o feso'ota'iga. Mo se faʻataʻitaʻiga, i le tulaga o le SaaS e tuʻuina atu, o le numera o paʻu mo fesoʻotaʻiga taʻitasi e laʻititi lava, o lea na faʻamaonia ai le faʻaopoopoga o le CPU pe a faʻaaogaina faiga faʻavae i paʻu taʻitasi.

Tatou amata su'e

Na matou faia le suʻega i luga o se pusa e tasi ma se server memcached ma le tele o pusa client memcached o loʻo taʻavale i nodes mamao ina ia mafai ona matou faʻatautaia se numera tele o fesoʻotaʻiga i le sekone. O le server ma le memcached server pod sa i ai 8 cores ma 512k faʻamaumauga i le conntrack table (le tulaga masani configured table size mo le talimalo).
Na matou fuaina le eseesega o faatinoga i le va: leai se faiga faʻavae fesoʻotaʻiga; fa'atasi ai ma faiga fa'avae Calico masani; ma faiga fa'avae a le Calico e le'o-track.

Mo le suʻega muamua, matou te setiina le numera o fesoʻotaʻiga i le 4.000 i le sekone, ina ia mafai ona matou taulai atu i le eseesega i le faʻaaogaina o le CPU. E leai se eseesega tele i le va o le leai o se faiga faʻavae ma faiga faʻavae masani, ae o le fai-le-track siʻitia le faʻaaogaina o le CPU e tusa ma le 20%:

Pe a le toe avea Linux conntrack ma au uo

I le su'ega lona lua, na matou fa'alauiloaina le tele o feso'ota'iga e mafai e a matou tagata fa'atau ona fa'atupuina ma fuaina le numera aupito maualuga o feso'ota'iga i le sekone e mafai e le matou server memcached ona taulimaina. E pei ona faʻamoemoeina, o le "leai se faiga faʻavae" ma le "faiga faʻavae masani" na oʻo uma i le faʻatapulaʻaina o le sili atu i le 4,000 fesoʻotaʻiga i le sekone (512k / 120s = 4,369 fesoʻotaʻiga / s). Fa'atasi ai ma se faiga-aua le-track, na auina atu e a matou tagata fa'atau le 60,000 feso'ota'iga i le sekone e aunoa ma ni fa'afitauli. Matou te mautinoa e mafai ona matou faʻateleina lenei numera e ala i le faʻaopoopoina o isi tagata faʻatau, ae matou te lagona ua lava nei fuainumera e faʻaalia ai le manatu o lenei tusiga!

Pe a le toe avea Linux conntrack ma au uo

iʻuga

Conntrack o se vaega taua o le fatu. Na te faia lana galuega ma le atoatoa. E masani ona faʻaaogaina e vaega autu o le polokalama. Ae ui i lea, i nisi o faʻaaliga faʻapitoa, o le faʻalavelave ona o fesoʻotaʻiga e sili atu nai lo faʻamanuiaga masani e maua ai. I lenei fa'ata'ita'iga, e mafai ona fa'aogaina faiga fa'avae feso'ota'iga Calico e fa'amalo ai le fa'aogaina o feso'ota'iga a'o fa'ateleina le saogalemu o feso'otaiga. Mo isi fefa'ataua'iga uma, fa'aauau pea ona avea conntrack ma au uo!

Faitau foi isi tala i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga