Ua hoʻololi ʻia ʻo Cloudflare mai NGINX i kāna koho Pingora ponoʻī, i kākau ʻia ma Rust

Ua hoʻolaha ʻo Cloudflare i ka hoʻololi ʻana o kāna pūnaewele hāʻawi ʻike e hoʻohana i ka proxy Pingora, i kākau ʻia ma ka ʻōlelo Rust. Hoʻololi ka mea koho hou i ka hoʻonohonoho hoʻonohonoho hoʻonohonoho kikowaena NGINX me nā palapala Lua, a me nā hana ʻoi aku ma mua o hoʻokahi trillion noi i kēlā me kēia lā. Hoʻomaopopo ʻia ʻo ka hoʻololi ʻana i kahi proxy kūikawā i ʻae ʻia ʻaʻole wale e hoʻokō i nā hiʻohiʻona hou a hoʻonui i ka palekana ma muli o ka hana palekana o ka hoʻomanaʻo, akā ua alakaʻi pū ʻia i ka piʻi nui o ka hana a me ka mālama waiwai - ʻaʻole pono ka hoʻohana ʻana i ka Pingora. o Lua, a no laila e hoʻopau i ka 70% emi mai ka CPU a me ka 67% emi mai ka hoʻomanaʻo ʻana i ka wā e hoʻoponopono ai i ka nui o nā kaʻa.

No ka manawa lōʻihi, ʻo kahi ʻōnaehana no ka hoʻololi ʻana i nā kaʻa ma waena o nā mea hoʻohana a me nā kikowaena hope e pili ana i nā palapala NGINX a me Lua i hoʻokō i nā pono o Cloudflare, akā i ka ulu ʻana o ka pūnaewele a me ka piʻi ʻana o kona paʻakikī, ua lawa ʻole ka hopena o ke ao holoʻokoʻa. hana a ma muli o nā palena o ka hoʻonui a me ka hoʻokō ʻana i nā manawa hou no nā mea kūʻai aku. ʻO ka mea kūikawā, aia nā pilikia i ka hoʻohui ʻana i nā hana ma mua o kahi ʻīpuka maʻalahi a me ke kau kaulike. No ka laʻana, ua lilo ia i mea pono, inā ʻaʻole hiki i ka server ke hoʻokō i kahi noi, e hoʻouna hou i ka noi i kahi kikowaena ʻē aʻe, e hāʻawi ana iā ia me kahi pūʻulu ʻokoʻa o nā poʻomanaʻo HTTP.

Ma kahi o kahi hoʻolālā e hoʻokaʻawale i nā noi i nā kaʻina hana kaʻawale, hoʻohana ʻo Pingora i kahi hiʻohiʻona multi-threaded, ma Cloudflare e hoʻohana ai i nā hihia (kiʻekiʻe o ka neʻe ʻana mai nā wahi like ʻole me ka hoʻololi helu helu nui) i hōʻike i ka hāʻawi maikaʻi ʻana o nā kumuwaiwai ma waena o nā cores CPU. ʻO ka mea nui, ʻo ka hoʻopaʻa ʻana o nginx i nā noi kaulike ʻole i nā kaʻina hana i hopena i ka ukana kaulike ʻole ma nā cores CPU, ka hopena i nā noi kumu waiwai a me ka pale ʻana iā I/O e hoʻolōʻihi i ka hana ʻana o nā noi ʻē aʻe. Eia kekahi, ʻo ka hoʻopaʻa ʻana i ka wai hoʻohui i nā kaʻina hana lima ʻaʻole i ʻae i ka hoʻohana hou ʻana i nā pilina i hoʻopaʻa ʻia mai nā kaʻina hana lima ʻē aʻe, e hōʻemi ana i ka pono inā nui nā kaʻina hana lima.

NGINX:

Ua hoʻololi ʻia ʻo Cloudflare mai NGINX i kāna koho Pingora ponoʻī, i kākau ʻia ma Rust

Pingora:

Ua hoʻololi ʻia ʻo Cloudflare mai NGINX i kāna koho Pingora ponoʻī, i kākau ʻia ma Rust

ʻO ka hoʻokō ʻana o Pingora i hiki ke hōʻemi i ka nui o nā hoʻonohonoho o nā pilina hou e 160 mau manawa a hoʻonui i ka mahele o nā noi i hoʻohana hou ʻia mai 87.1% a i 99.92%. Ma waho aʻe o ka hōʻemi ʻana i ka hoʻopili hou ʻana a me ka hoʻohana pono ʻana i nā cores CPU, ʻo ka hoʻomaikaʻi ʻana i ka hana o ka proxy hou ma muli o ka wehe ʻana i nā mea hoʻohana Lua lohi i hoʻohana ʻia me ka nginx.

Ua koho ʻia ka ʻōlelo Rust e hoʻokō i ka hana kiʻekiʻe i hui pū ʻia me ka loaʻa ʻana o nā mea hana e hōʻoia i ka hana palekana me ka hoʻomanaʻo. Ua ʻōlelo ʻia ʻoiai ʻo ka poʻe loea loea o Cloudflare a me ka nānā ʻana i ke code i kākau ʻia ma ka ʻōlelo C, ʻaʻole hiki ke pale aku i nā hewa e alakaʻi ai i nā pilikia hoʻomanaʻo (no ka laʻana, he palupalu i ka HTML parser). E pili ana i ke code hou, e kamaʻilio e pili ana i nā hihia o ka nānā ʻana i nā hemahema ma Pingora, ka mea i hoʻohuli ʻia ʻaʻole ma muli o nā pilikia i ka noi, akā ma kahi hewa i ka Linux kernel a me nā hemahema o ka lako.

Eia hou, hiki iā mākou ke hoʻomaopopo i ka ʻōlelo a Linus Torvalds, i hoʻopuka ʻia ma ka hālāwai Open-Source Summit Europe e hana nei i kēia mau lā, e pili ana i ke komo ʻana o ke kākoʻo no ka ʻōlelo Rust i ka kernel Linux. ʻAʻole i hoʻokomo ʻia nā ʻāpana no ka hoʻomohala ʻana i nā mea hoʻokele ma ka ʻōlelo Rust i ka kernel 6.0, akā e like me Linus, e ʻae ʻia lākou i ka kernel 6.1; ʻaʻole ia e hoʻopaneʻe i ka hoʻohui ʻana. Ma keʻano he kumu no ka hoʻohuiʻana i ke kākoʻo no Rust, ma waho aʻe o ka hopena maikaʻi i ka palekana,'ōlelo pūʻo Linus i ka manawa kūpono e hoʻonui i ka hoihoi i ka hanaʻana i ke kumu o nā mea hou, he mea nui i ka pōʻaiapili o ka poʻe kahiko.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka