I-Facebook ihlongoze indlela entsha yokuphatha inkumbulo ye-slab ye-Linux kernel

Roman Gushchin (Roman Gushchin) kuFacebook eshicilelwe kuhlu lwama-imeyili lwabathuthukisi be-Linux kernel isethi yamapeshi ngokuqaliswa kwesilawuli esisha sokwabiwa kwenkumbulo isilebhu (isilawuli sememori ye-slab). Isilawuli esisha siphawuleka ngokususa ukubalwa kwe-slab kusuka ezingeni lekhasi lememori kuya kuleveli yento ye-kernel, okwenza kube nokwenzeka ukwabelana ngamakhasi we-slab kumaqoqo ahlukene, esikhundleni sokwaba inqolobane ye-slab ehlukene yeqembu ngalinye.

Indlela ehlongozwayo yenza kube nokwenzeka ukwandisa ukusebenza kahle kokusebenzisa i-slab, ukunciphisa usayizi wememori esetshenziselwa i-slab ngo-30-45%, futhi kunciphise kakhulu ukusetshenziswa kwenkumbulo okuphelele kwe-kernel. Ngokunciphisa inani lama-slabs anganyakazi, kuphinde kube nomphumela omuhle ekunciphiseni ukuhlukana kwenkumbulo. Isilawuli senkumbulo esisha senza kalula ikhodi yokubala ama-slabs futhi asidingi ukusetshenziswa kwama-algorithms ayinkimbinkimbi ekudaleni ngokuguquguqukayo nokususa izinqolobane ze-slab zeqembu ngalinye. Wonke amaqoqo enkumbulo ekusetshenzisweni okusha asebenzisa isethi evamile yezinqolobane ze-slab, futhi impilo yonke yenqolobane ye-slab ayisaboshelwa ukuphila kwalabo abafakwe ngeqoqo. imikhawulo ekusetshenzisweni kwenkumbulo.

Ukubalwa kwemali kwensiza okunembe kakhudlwana okusetshenziswa kusilawuli se-slab esisha kufanele kulayishwe i-CPU ngaphezulu, kodwa empeleni umehluko ubonakale ungabalulekile. Ikakhulukazi, isilawuli esisha se-slab sisetshenziswe izinyanga ezimbalwa ekukhiqizeni amaseva e-Facebook aphatha izinhlobo ezahlukene zomsebenzi, futhi akukho ukuhlehla okuphawulekayo okuye kwabonakala. Ngasikhathi sinye, kunokuncipha okukhulu kokusetshenziswa kwenkumbulo - kwabanye ababungazi bekungenzeka ukonga kuze kufike ku-1GB wememori, kepha le nkomba incike kakhulu kuhlobo lomthwalo, usayizi ophelele we-RAM, inani lama-CPU. kanye nezici zokusebenza ngenkumbulo. Ukuhlolwa kwangaphambilini wabonisa ukunciphisa ukusetshenziswa kwememori ngo-650-700 MB (42% wememori ye-slab) ekupheleni kwewebhu, 750-800 MB (35%) kuseva enenqolobane ye-DBMS kanye no-700 MB (36%) kuseva ye-DNS.

Source: opennet.ru

Engeza amazwana