Cloudflare yasintha kuchoka ku NGINX kupita ku projekiti yake ya Pingora, yolembedwa mu Rust

Cloudflare yalengeza za kusintha kwa maukonde ake operekera zinthu kuti agwiritse ntchito projekiti ya Pingora, yolembedwa m'chilankhulo cha Rust. Wothandizira watsopanoyo amalowa m'malo mwa kasinthidwe ka seva ya NGINX ndi zolemba za Lua, ndikuchita zopempha zoposa thililiyoni patsiku. Zikudziwika kuti kusintha kwa pulojekiti yapadera kumaloledwa osati kungogwiritsa ntchito zatsopano ndikuwonjezera chitetezo chifukwa cha ntchito yotetezeka ya kukumbukira, komanso kunachititsa kuti pakhale kuwonjezeka kwakukulu kwa ntchito ndi kusunga ndalama - yankho la Pingora silifuna kugwiritsa ntchito. a Lua, motero amadya 70% zochepa zothandizira CPU ndi 67% kukumbukira pang'ono pokonza kuchuluka kwa magalimoto.

Kwa nthawi yayitali, dongosolo la proxying traffic pakati pa ogwiritsa ntchito ndi ma seva otsiriza ozikidwa pa NGINX ndi Lua scripts adakwaniritsa zosowa za Cloudflare, koma pamene maukonde adakula ndipo zovuta zake zikuwonjezeka, yankho la chilengedwe chonse linakhala losakwanira, ponse pawiri. magwiridwe antchito komanso chifukwa chochepa pakukulitsa ndi kukhazikitsa mwayi watsopano kwa makasitomala. Makamaka, panali zovuta pakuwonjezera magwiridwe antchito kupitilira chipata chosavuta komanso chowongolera. Mwachitsanzo, zinakhala zofunikira, ngati seva ikulephera kuyankha pempho, kutumizanso pempho ku seva ina, ndikuipereka ndi mitu yosiyana ya HTTP.

M'malo mwa zomangamanga zomwe zimalekanitsa zopempha muzochita zosiyana za ogwira ntchito, Pingora amagwiritsa ntchito chitsanzo chamitundu yambiri, chomwe muzochitika zogwiritsira ntchito Cloudflare (kuchuluka kwa magalimoto kuchokera kumalo osiyanasiyana ndi kusintha kwakukulu kwa chiwerengero) kunasonyeza kugawa bwino kwazinthu pakati pa CPU cores. Makamaka, kumangiriza kwa nginx pazopempha zosagwirizana ndi njira zomwe zidapangitsa kuti pakhale katundu wosagwirizana ndi ma CPU cores, zomwe zimapangitsa kuti pempho lazachuma ndikutsekereza I/O kuchedwetsa kukonzanso zopempha zina. Kuphatikiza apo, kumangirira dziwe lolumikizana ndi njira zogwirira ntchito sikunalole kugwiritsiridwa ntchito kwa maulumikizidwe omwe adakhazikitsidwa kale kuchokera ku njira zina zogwirira ntchito, zomwe zimachepetsa magwiridwe antchito pakakhala njira zambiri zogwirira ntchito.

NGINX:

Cloudflare yasintha kuchoka ku NGINX kupita ku projekiti yake ya Pingora, yolembedwa mu Rust

Pingora:

Cloudflare yasintha kuchoka ku NGINX kupita ku projekiti yake ya Pingora, yolembedwa mu Rust

Kukhazikitsidwa kwa Pingora kunapangitsa kuti zitheke kuchepetsa kuchuluka kwa kukhazikitsidwa kwa maulumikizidwe atsopano ndi nthawi za 160 ndikuwonjezera gawo la mafunso omwe amagwiritsidwanso ntchito kuchokera ku 87.1% mpaka 99.92%. Kuphatikiza pa kuchepetsa kulumikizanso komanso kugwiritsa ntchito moyenera ma CPU cores, kuwongolera kwa projekiti yatsopanoyi kudachitika makamaka chifukwa chochotsa zonyamula pang'onopang'ono za Lua zomwe zimagwiritsidwa ntchito ndi nginx.

Chilankhulo cha Dzimbiri chinasankhidwa kuti chikwaniritse magwiridwe antchito apamwamba kuphatikiza ndi kupezeka kwa zida zowonetsetsa kuti ntchito yotetezeka ndi kukumbukira. Zimanenedwa kuti ngakhale akatswiri odziwa bwino kwambiri a Cloudflare ndikuwunikanso kachidindo kolembedwa m'chilankhulo cha C, sikunali kotheka kupewa zolakwika zomwe zimabweretsa zovuta zamakumbukiro (mwachitsanzo, chiwopsezo cha HTML parser). Ponena za code yatsopano, ikukamba za milandu yofufuza zolephera ku Pingora, zomwe sizinayambike chifukwa cha zovuta pakugwiritsa ntchito, koma chifukwa cha zolakwika mu kernel ya Linux ndi kulephera kwa hardware.

Kuphatikiza apo, titha kuzindikira ndemanga ya Linus Torvalds, yomwe idanenedwa pamsonkhano wa Open-Source Summit Europe womwe ukuchitika masiku ano, ponena za kuphatikizidwa kwa chilankhulo cha Rust mu Linux kernel. Zigamba zopangira madalaivala a zida mu chilankhulo cha dzimbiri sizinaphatikizidwe mu kernel ya 6.0, koma malinga ndi Linus, zitha kulandiridwa mu kernel ya 6.1; sachedwa kuphatikizika. Monga chilimbikitso chowonjezera chithandizo cha Dzimbiri, kuwonjezera pa zotsatira zabwino pa chitetezo, Linus amatchulanso mwayi wowonjezera chidwi chogwira ntchito pachimake cha omwe atenga nawo mbali atsopano, omwe ndi ofunika kwambiri pokhudzana ndi ukalamba.

Source: opennet.ru

Kuwonjezera ndemanga