Cloudflare dia nivadika avy amin'ny NGINX mankany amin'ny Pingora proxy nosoratany tamin'ny Rust

Cloudflare dia nanambara fa mifindra monina ny tambajotra fanaterana votoaty hampiasa ny proxy Pingora, voasoratra amin'ny Rust. Ny proxy vaovao dia nosoloana ny rafitra mifototra amin'ny server NGINX tamin'ny script Lua, ary mitantana fangatahana mihoatra ny iray tapitrisa isan'andro. Marihina fa ny fifindrana amin'ny proxy manokana dia namela tsy hampihatra endri-javatra vaovao sy hampitombo ny fiarovana noho ny asa azo antoka miaraka amin'ny fitadidiana, fa koa nitarika ho amin'ny fitomboana lehibe eo amin'ny fampisehoana sy ny fitahirizana loharanon-karena - vahaolana mifototra amin'ny Pingora dia tsy mitaky ny fampiasana. an'i Lua, noho izany dia mandany 70% latsaka ny CPU ary 67% kely ny fitadidiana raha mitantana ny fifamoivoizana mitovy.

Nandritra ny fotoana ela, dia nanome fahafaham-po ny filan'ny Cloudflare ny rafitra iray ho an'ny fifamoivoizana proxy eo amin'ny mpampiasa sy ny mpizara farany mifototra amin'ny script NGINX sy Lua, saingy rehefa nitombo ny tambajotra ary nitombo ny fahasarotany, dia tsy ampy ny vahaolana manerantany, na eo amin'ny lafiny fampisehoana, ary noho ny famerana ny fanitarana sy ny fampiharana ny fahafahana vaovao ho an'ny mpanjifa. Indrindra indrindra, nisy fahasahiranana teo amin'ny fampidirana fampiasa ankoatra ny vavahady tsotra sy ny fampifandanjana entana. Ohatra, raha toa ka tsy mahavita mamaly fangatahana ny mpizara, dia ilaina ny mamindra ny fangatahana amin'ny mpizara hafa, manome azy amin'ny lohapejy HTTP hafa.

Raha tokony ho maritrano miaraka amin'ny fizarazarana fangatahana amin'ny fizotry ny mpiasa (mpiasa) misaraka, dia mampiasa maodely misy kofehy maromaro i Pingora, izay ao amin'ny sehatra fampiasana Cloudflare (fifantohan'ny fifamoivoizana avy amin'ny tranokala samihafa miaraka amin'ny fiovan'ny statistika lehibe) dia nampiseho fitsinjarana loharano mahomby kokoa CPU cores. Indrindra indrindra, ny famatorana ny fangatahana tsy voalanjalanja amin'ny dingana ao amin'ny nginx dia nitarika ny enta-mavesatra tsy voalanjalanja eo amin'ny CPU cores, vokatr'izany ny fangatahana loharanon-karena sy ny fanakanana I / O dia nampiadana ny fanodinana ny fangatahana hafa. Fanampin'izany, ny famatorana ny dobo fampifandraisana amin'ny fizotry ny mpitantana dia tsy namela ny fampiasana indray ireo fifandraisana efa voaorina avy amin'ny fizotran'ny mpitantana hafa, izay mampihena ny fahombiazany rehefa misy dingana maro amin'ny mpitantana.

nginx:

Cloudflare dia nivadika avy amin'ny NGINX mankany amin'ny Pingora proxy nosoratany tamin'ny Rust

Pingora:

Cloudflare dia nivadika avy amin'ny NGINX mankany amin'ny Pingora proxy nosoratany tamin'ny Rust

Ny fampidirana an'i Pingora dia nahafahana nampihena in-160 ny isan'ny asa fametrahana fifandraisana vaovao ary nampiakatra ny ampahany amin'ny fangatahana ampiasaina indray avy amin'ny 87.1% ho 99.92%. Ho fanampin'ny fampihenana ny fampifandraisana indray sy ny fampiasana ny cores CPU amin'ny fomba mahomby kokoa, ny fampandehanana ny proxy vaovao dia noho ny fanalana ireo mpandrindra Lua miadana ampiasaina amin'ny nginx.

Ny fiteny Rust dia nofantenana mba ahafahana manao fampisehoana avo lenta miaraka amin'ny fisian'ny fitaovana azo antoka. Voalaza fa na dia eo aza ny fahaiza-manaon'ny injeniera Cloudflare sy ny famerenana kaody nosoratana tamin'ny fiteny C, dia tsy azo natao ny nisoroka ny fahadisoana izay miteraka olana amin'ny fitadidiana (ohatra, ny vulnerability amin'ny parser HTML). Raha ny kaody vaovao dia niresaka momba ny famakafakana ny fianjerana ao Pingora izahay, izay hita fa tsy ny olana amin'ny fampiharana, fa ny bug ao amin'ny kernel Linux sy ny tsy fahombiazan'ny hardware.

Fanampin'izany, azo marihina fa naneho hevitra momba ny fampidirana ny fanohanana ny fiteny Rust ao amin'ny kernel Linux i Linus Torvalds, navoaka tamin'ny fihaonambe Open-Source Summit Europe izay natao androany. Ny kernel 6.0 dia tsy nampiditra patch ho an'ny fampivoarana mpamily fitaovana amin'ny fiteny Rust, fa araka ny filazan'i Linus dia azo ekena ao amin'ny kernel 6.1 izy ireo, tsy hisintona miaraka amin'ny fampidirana izy ireo. Amin'ny maha-zava-dehibe ny fanohanana an'i Rust, ankoatra ny fiantraikany tsara amin'ny fiarovana, i Linus dia miantso ny fahafahana hampitombo ny fahalianana amin'ny asa amin'ny fototry ny mpandray anjara vaovao, izay manan-danja amin'ny tontolon'ny antitra efa antitra.

Source: opennet.ru

Add a comment