I-Cloudflare ishintshile isuka ku-NGINX yaya kummeleli wayo we-Pingora obhalwe ngesi-Rust

I-Cloudflare imemezele ukuguqulwa kwenethiwekhi yayo yokulethwa kokuqukethwe ukusebenzisa ummeleli we-Pingora, obhalwe ngolimi lwe-Rust. Ummeleli omusha uthatha isikhundla sokucushwa okusekelwe kuseva ye-NGINX ngemibhalo ye-Lua, futhi ucubungula izicelo ezingaphezu kwesigidintathu ngosuku. Kuyaphawulwa ukuthi ukushintshela kummeleli okhethekile akuvunyelwe kuphela ukusebenzisa izici ezintsha nokwandisa ukuphepha ngenxa yokusebenza okuphephile kwenkumbulo, kodwa futhi kuholele ekwandeni okukhulu kokusebenza nokonga kwezinsiza - isisombululo esisekelwe ePingora asidingi ukusetshenziswa. ye-Lua, ngakho-ke sisebenzisa izinsiza ezincane ezingama-70% CPU kanye nenkumbulo engaphansi ngo-67% ngenkathi icubungula inani elifanayo lethrafikhi.

Isikhathi eside, uhlelo lokusebenzisa i-proxying traffic phakathi kwabasebenzisi kanye namaseva okuphela okusekelwe emibhalweni ye-NGINX ne-Lua yanelisa izidingo ze-Cloudflare, kodwa njengoba inethiwekhi ikhula futhi inkimbinkimbi yayo yanda, isisombululo sendawo yonke sabonakala singanele, kokubili ngokwemibandela ukusebenza futhi ngenxa yemikhawulo ekwandiseni nasekusetshenzisweni kwamathuba amasha kumakhasimende. Ikakhulukazi, kube nezinselele ekungezeni ukusebenza ngale kwesango elilula kanye nesilinganisi somthwalo. Isibonelo, kuye kwadingeka, uma iseva yehluleka ukucubungula isicelo, ukuthumela kabusha isicelo kwenye iseva, inikeze isethi ehlukile yezihloko ze-HTTP.

Esikhundleni sesakhiwo esihlukanisa izicelo zibe izinqubo ezihlukene zesisebenzi, i-Pingora isebenzisa imodeli enezintambo eziningi, okuthi ezimweni zokusetshenziswa kwe-Cloudflare (ukuhlushwa okuphezulu kwethrafikhi evela kumasayithi ahlukene anoshintsho olukhulu lwezibalo) ibonise ukusatshalaliswa okuphumelelayo kwezinsiza phakathi kwama-CPU cores. Ikakhulukazi, ukubophezela kwe-nginx kwezicelo ezingalinganiseli ezinqubweni kubangele umthwalo ongalingani kuma-CPU cores, okuholele ezicelweni ezidinga izinsiza kanye nokuvimbela i-I/O kwehlisa ukucutshungulwa kwezinye izicelo. Ngaphezu kwalokho, ukubophezela iphuli yoxhumano kuzinqubo zesibambi akuzange kuvumele ukusetshenziswa kabusha koxhumano oseluvele lusunguliwe kusukela kwezinye izinqubo zesibambi, okunciphisa ukusebenza kahle lapho kunezinqubo eziningi zesibambi.

I-NGINX:

I-Cloudflare ishintshile isuka ku-NGINX yaya kummeleli wayo we-Pingora obhalwe ngesi-Rust

I-Pingora:

I-Cloudflare ishintshile isuka ku-NGINX yaya kummeleli wayo we-Pingora obhalwe ngesi-Rust

Ukuqaliswa kwe-Pingora kwenze kwaba nokwenzeka ukunciphisa isibalo sokufakwa kokuxhuma okusha izikhathi eziyi-160 futhi kwandiswe isabelo sezicelo ezisetshenziswe kabusha sisuka ku-87.1% siye ku-99.92%. Ngokungeziwe ekwehliseni ukuxhuma kabusha kanye nokusetshenziswa ngempumelelo kwama-CPU cores, ukuthuthukiswa kokusebenza kommeleli omusha ngokuyinhloko kwaba ngenxa yokususwa kwezibambi ze-Lua ezihamba kancane ezisetshenziswa ne-nginx.

Ulimi lwe-Rust lukhethiwe ukuze kuzuzwe ukusebenza okuphezulu kuhlanganiswe nokutholakala kwamathuluzi okuqinisekisa ukusebenza okuphephile ngenkumbulo. Kushiwo ukuthi naphezu konjiniyela abaqeqeshwe kakhulu be-Cloudflare futhi bebuyekeza ikhodi ebhalwe ngolimi lwe-C, akukwazanga ukugwema amaphutha aholela ezinkingeni zememori (isibonelo, ubungozi kumhlahleli we-HTML). Ngokuqondene nekhodi entsha, ikhuluma ngamacala okuhlaziya ukwehluleka ku-Pingora, okuvele ukuthi akubangelwa izinkinga kuhlelo lokusebenza, kodwa ngephutha ku-Linux kernel kanye nokwehluleka kwehadiwe.

Ukwengeza, singaphawula ukuphawula kukaLinus Torvalds, okuvezwe engqungqutheleni ye-Open-Source Summit Europe eyenzeka kulezi zinsuku, mayelana nokufakwa kokusekelwa kolimi lweRust ku-Linux kernel. Amapheshana okuthuthukisa abashayeli bedivayisi ngolimi lwe-Rust awazange afakwe ku-6.0 kernel, kodwa ngokusho kuka-Linus, cishe azokwamukelwa ku-6.1 kernel; ngeke abambezele ukuhlanganiswa. Njengesisusa sokwengeza ukusekelwa kwe-Rust, ngaphezu komthelela omuhle ekuvikelekeni, uLinus uphinde akhulume nethuba lokwandisa isithakazelo ekusebenzeni komnyombo wabahlanganyeli abasha, okubalulekile kumongo wokuguga abantu abadala.

Source: opennet.ru

Engeza amazwana