Ina kore a Linux conntrack i to hoa

Ina kore a Linux conntrack i to hoa

Ko te aroturuki hononga (“conntrack”) he waahanga matua o te tapae whatunga kernel Linux. Ka taea e te kernel te aroturuki i nga hononga whatunga arorau katoa, i nga rerenga ranei, na reira ka tautuhi i nga paatete katoa e hangai ana i ia rerenga kia taea ai te tukatuka tahi i te raupapa.

Ko te Conntrack tetahi waahanga kernel nui e whakamahia ana i etahi keehi:

  • Ka whakawhirinaki te NAT ki nga korero mai i te conntrack kia taea ai e ia te whakahaere i nga paatete katoa mai i te awa kotahi. Hei tauira, ka uru tetahi poti ki tetahi ratonga Kubernetes, ka whakamahia e te kube-proxy kawenga pauna te NAT hei arahi i nga waka ki tetahi putunga motuhake i roto i te tautau. E tuhi ana a Conntrack mo tetahi hononga, me tuku nga paakete katoa ki te ratonga IP ki te putunga kotahi, a ko nga paakete i whakahokia mai e te peera tuara me NAT ki te poti i puta mai ai te tono.
  • Ko nga paahi ahi penei i a Calico e whakawhirinaki ana ki nga korero mai i te hononga hono ki te raarangi ma te "whakautu" hokohoko. Ma tenei ka taea e koe te tuhi i tetahi kaupapa here whatunga e kii ana "whakaaetia taku pene ki te hono atu ki tetahi wahitau IP mamao" me te kore e tuhi kaupapa here kia tino whakaaehia te hokohoko whakautu. (Ki te kore tenei, me taapiri e koe te ture "whakaaehia nga paatete ki taku pene mai i tetahi IP".)

I tua atu, ko te conntrack te whakapai ake i nga mahi a te punaha (ma te whakaiti i te kohi CPU me te toro o te paatete) na te mea ko te paatete tuatahi anake i roto i te awa.
me haere ki roto i te puranga whatunga katoa ki te whakatau he aha te mahi. Tirohia te panui "Te whakataurite o nga aratau kube-takawaenga"ki te kite i tetahi tauira mo tenei mahi.

Heoi, he herenga to conntrack...

Na i hea he he katoa?

Ko te ripanga conntrack he rahinga morahi ka taea te whirihora, a, ki te ki tonu, ka timata nga hononga ki te whakakorehia, ka taka ranei. He nui te mokowā wātea i te teepu hei whakahaere i te hokohoko o te nuinga o nga tono, kare rawa tenei e raru. Engari, he maha nga ahuatanga e hiahia ana koe ki te whakaaro ki te whakamahi i te ripanga conntrack:

  • Ko te take tino kitea mena ka whakahaerehia e to kaimau te maha rawa o nga hononga hohe. Hei tauira, ki te whirihorahia to ripanga hono mo nga whakaurunga 128k, engari kei a koe>128k nga hononga hono, ka raru koe!
  • He take paku iti kitea: ki te tukatukahia e to kaimau te maha rawa o nga hononga mo ia hekona. Ahakoa he wa poto nga hononga, ka aroturukihia e Linux mo etahi wa (120s te taunoa). Hei tauira, ki te whirihorahia to ripanga hono mo nga whakaurunga 128k ka ngana koe ki te hapai i nga hononga 1100 mo ia hēkona, ka nui ake i te rahi o te ripanga hono ahakoa he poto rawa nga hononga (128k/120s = 1092 hononga/s ).

He maha nga momo motuhake o nga taupānga ka taka ki enei waahanga. I tua atu, mena he maha nga kaiwhakaari kino, whakakiia te ripanga hono o to kaimau me te maha o nga hononga haurua-tuwhera ka taea te whakamahi hei waahanga o te whakaekenga o te ratonga (DOS). I roto i nga take e rua, ka taea e te conntrack te aukati i to punaha. I etahi wa, ka nui pea te whakatika i nga tawhā ripanga hono ki te whakatutuki i o hiahia - ma te whakanui ake i te rahi, ma te whakaiti ranei i nga taima conntrack (engari ki te he koe, ka raru koe). Mo etahi atu keehi ka tika kia karohia te arataki mo nga waka kaha.

Tino tauira

Me hoatu he tauira motuhake: ko tetahi kaiwhakarato SaaS nui i mahi tahi matou me te maha o nga kaiwhakarato memcached i runga i nga kaihautu (ehara i nga miihini mariko), i tukatukahia e ia 50K+ nga hononga mo te wa poto mo ia hekona.

I whakamatauria e ratou te whirihoranga conntrack, te whakanui ake i te rahi o te teepu me te whakaiti i te wa aroturuki, engari ko te whirihoranga kaore i te pono, ka nui haere te kai o te RAM, he raruraru (i runga i te raupapa o GBytes!), He poto rawa nga hononga kaore i taea e conntrack. hanga i tana painga mahi o mua (whakaitihia te PTM kohi, te toronga paatete ranei).

Ka huri ratou ki Calico hei rereke. Ka taea e nga kaupapa here whatunga Calico kia kaua koe e whakamahi conntrack mo etahi momo waka (ma te whakamahi i te whiringa kaupapa here doNotTrack). Na tenei i hoatu ki a raatau te taumata o te mahi e hiahiatia ana, me te taapiri o te taumata haumarutanga i whakaratohia e Calico.

He aha nga roa ka haere koe ki te karo i te arataki?

  • Ko te tikanga kia hangarite nga kaupapa here whatunga kaua-kore. I roto i te take o te kaiwhakarato SaaS: i rere a raatau tono ki roto i tetahi rohe whakamarumaru, na reira, ma te whakamahi i te kaupapa here whatunga, ka taea e raatau te whakararangi i nga waka mai i etahi atu tono motuhake i whakaaetia kia uru ki te memcached.
  • Ko te kaupapa here kore-kore e whai whakaaro ki te ahunga o te hononga. No reira, ki te taumanutia te tūmau memcached, ka taea e koe te ngana ki te hono atu ki tetahi o nga kiritaki memcached, mena ka whakamahia e ia te tauranga puna tika. Heoi, ki te mea kua tika to tautuhi i te kaupapa here whatunga mo o kiritaki memcached, ka kore tonu enei ngana hononga ki te taha o te kiritaki.
  • Ka whakamahia te kaupapa here kore-ara ki ia paatete, he rereke ki nga kaupapa here noa, ka pa ki te paatete tuatahi o te rerenga. Ka taea e tenei te whakanui ake i te kai PTM mo ia putea na te mea me tono te kaupapa here mo ia paatete. Engari mo nga hononga poto, ka whakatauritehia tenei whakapaunga e te whakahekenga o te kohi rawa mo te tukatuka conntrack. Hei tauira, i te take o te kaiwhakarato SaaS, he iti rawa te maha o nga paatete mo ia hononga, na reira i tika te taapiri atu o te kai PTM ina tono kaupapa here ki ia paatete.

Me timata taatau ki te whakamatautau

I whakahaerehia e matou te whakamatautau i runga i te pona kotahi me te tūmau memcached me nga putea kiritaki memcached maha e rere ana i runga i nga pona mamao kia taea ai e matou te whakahaere i te maha rawa o nga hononga mo ia hekona. Ko te tūmau me te putunga tūmau memcached he 8 nga matua me te 512k nga whakaurunga ki te ripanga conntrack (te rahi o te tepu whirihora paerewa mo te kaihautu).
I inehia e matou te rereketanga o nga mahi i waenganui i: kore kaupapa here whatunga; me te kaupapa here Calico auau; me te kaupapa here-kore-ara Calico.

Mo te whakamatautau tuatahi, ka tautuhia e matou te maha o nga hononga ki te 4.000 ia rua, kia taea ai e matou te arotahi ki te rereketanga o te kohi CPU. Karekau he rereketanga nui i waenga i te kore kaupapa here me te kaupapa here auau, engari karekau e whai i te pikinga o te kai PTM tata ki te 20%:

Ina kore a Linux conntrack i to hoa

I te whakamatautau tuarua, i whakarewahia e matou te maha o nga hononga ka taea e o taatau kiritaki te whakaputa me te ine i te maha o nga hononga mo ia hēkona ka taea e to maatau server memcached te whakahaere. Ka rite ki te whakaaro, ko nga keehi "kore kaupapa here" me te "kaupapa here auau" i eke ki te tepe honohono neke atu i te 4,000 hononga mo ia hekona (512k / 120s = 4,369 hononga/s). Ma te kaupapa here-kore-ara, ka tukuna e o taatau kaihoko nga hononga 60,000 mo ia hēkona kaore he raru. E mohio ana matou ka taea e matou te whakanui ake i tenei nama ma te taapiri atu i nga kaihoko, engari ki ta matou whakaaro kua ranea enei nama hei whakaatu i te kaupapa o tenei tuhinga!

Ina kore a Linux conntrack i to hoa

mutunga

Ko te Conntrack tetahi waahanga kernel nui. He pai tana mahi. He maha nga wa e whakamahia ana e nga waahanga punaha matua. Heoi, i roto i etahi ahuatanga motuhake, ko te popoketanga na te conntrack he nui ake i nga painga noa e whakaratohia ana. I roto i tenei ahuatanga, ka taea te whakamahi kaupapa here whatunga Calico ki te whakakore i te whakamahi i te conntrack i te wa e whakanui ana i te haumarutanga whatunga. Mo etahi atu waka katoa, ka noho tonu te conntrack hei hoa mou!

Panuihia etahi atu tuhinga i runga i ta maatau blog:

Source: will.com

Tāpiri i te kōrero