Facebook ya fitar da facin da ke inganta mai kula da ƙwaƙwalwar Slab a cikin Linux

Roman Gushchin (Injiniyan software na Facebook) rajista - a cikin jerin ci gaban kernel na Linux, saitin faci zuwa aikace-aikacen taswirar ƙwaƙwalwar ajiya (mai kula da ƙwaƙwalwa).

Sabon mai sarrafawa abin birgewa ne ta hanyar matsar da lissafin slab daga matakin shafin ƙwaƙwalwar zuwa matakin kernel, wanda ke ba da damar raba shafukan slab a tsakanin ƙungiyoyi daban-daban c, maimakon rarraba keɓaɓɓun akwatinan slab ga kowane rukuni c.

Roman ya sami abin da ya kira “lahani mai tsanani” a cikin mai kula da ƙwaƙwalwar ajiya wanda ke haifar da ƙarancin amfani a waɗannan kwanakin tare da cgroups.

“Ainihin dalilin da yasa ƙirar da ake ciki take kaiwa zuwa ƙananan amfani da slab mai sauƙi ne: ana amfani da shafukan slab ne kawai ta wurin wurin ƙwaƙwalwar ajiya.

Idan akwai wasu 'yan rabe-raben wani girman da wata cgroup ta yi, ko kuma idan akwai wasu abubuwa masu aiki da suka rage bayan an cire cgroup din, ko kuma cgroup din yana dauke da aikace-aikacen zare guda daya wanda da kyar ake ware duk wani abu na kwaya, amma duk lokacin da a kan sabon CPU: a duk waɗannan al'amuran, sakamakon yin amfani da slab yana da ƙasa ƙwarai.

Idan lissafin kmem ya zama nakasassu, kernel na iya amfani da sarari kyauta akan shafuka masu laushi don wasu rarar. «

Mai gabatarwa mai kula da Slab by Romano Gushchin a cikin shekarar da ta gabata ya kasance mai ban al'ajabi kamar yadda yana kara dacewa na yin amfani da slab, rage girman ƙwaƙwalwar ajiyar da aka yi amfani da ita don slab ta hanyar 30-45% kuma yana rage yawan amfani da ƙwaƙwalwar ƙwaƙwalwar ajiya.

Hakanan facin da aka aiwatar sun nuna cewa Facebook yana amfani da lambar a cikin samarwa akan sabar su kuma ya kasance adana ~ 650-700MB + don sabar yanar gizo ta gaba-gaba, caching database da sabobin DNS, a tsakanin sauran kyaututtuka.

Ta hanyar rage adadin slabs marasa hannu, ana lura da sakamako mai kyau a fagen rage ɓarkewar ƙwaƙwalwar. Sabuwar mai kula da ƙwaƙwalwar ajiya yana sauƙaƙa lambar don ƙididdigar lissafi kuma baya buƙatar tsauraran matakan algorithms don ƙirƙirar haɓaka da share ɗakunan ajiya na kowane yanki c.

Dukkanin rukunin cg don ƙwaƙwalwa a cikin sabon aiwatarwar suna amfani da ɗakunan ajiya na slab na yau da kullun, kuma tsawon rayuwar maƙalar slab ba a ɗaure shi da rayuwar matsalolin ƙwaƙwalwar da aka saita ta hanyar cgroup.

Tabbataccen ingantaccen lissafin kayan aiki wanda aka aiwatar a cikin sabon mai sarrafa slab ya kamata bisa ka'ida ya ɗora CPU ƙari, amma a zahiri bambance-bambance sun zama ba komai.

Musamman an yi amfani da sabon direban slab na tsawon watanni a kan sabobin Facebook a cikin aiki wanda ke ɗaukar nau'ikan lodi daban-daban, kuma har yanzu ba a gano manyan komabaya ba.

Facin yana dauke da wasu bangarori masu zaman kansu, wanda kuma zai iya samun amfani dasu a waje da mai kula da ƙwaƙwalwar slab:

  • Subpage Load API, wanda za'a iya amfani dashi anan gaba don ƙididdige sauran abubuwan da basu kai girman shafi ba, misali kasaftawa percpu
  • Mem_cgroup_ptr API, inda za'a kidaya madogara zuwa memcg, za'a iya sake amfani dashi don sake gyara wasu abubuwa yadda yakamata, misali cache page.

A lokaci guda, akwai raguwar mahimmanci a cikin amfani da ƙwaƙwalwar ajiya- A kan wasu rundunonin yana yiwuwa a ajiye har zuwa 1 GB na ƙwaƙwalwar ajiya, amma wannan mai nuna alama yawanci ya dogara da yanayin nauyin, jimlar girman RAM, adadin CPU da halaye na aiki tare da ƙwaƙwalwa.

Maimakon ƙirƙirar saiti na kmem_caches daban-daban don kowane rukunin ƙwaƙwalwar ajiya, ana amfani da saiti guda biyu na duniya: tushen saiti don ƙididdigewa da ayyukan rukunin rukuni na tushen, da saiti na biyu don duk sauran ayyukan. Wannan yana ba da damar sauƙin gudanar da rayuwar kowane mutum kmem_caches.

A ƙarshe, idan kuna sha'awar sanin sabon saiti na faci 19 ana iya samun sa a cikin jerin wasikar kwaya.


Bar tsokaci

Your email address ba za a buga. Bukata filayen suna alama da *

*

*

  1. Wanda ke da alhakin bayanan: Miguel Ángel Gatón
  2. Manufar bayanan: Sarrafa SPAM, sarrafa sharhi.
  3. Halacci: Yarda da yarda
  4. Sadarwar bayanan: Ba za a sanar da wasu bayanan ga wasu kamfanoni ba sai ta hanyar wajibcin doka.
  5. Ajiye bayanai: Bayanin yanar gizo wanda Occentus Networks (EU) suka dauki nauyi
  6. Hakkoki: A kowane lokaci zaka iyakance, dawo da share bayanan ka.