{"id":105117,"date":"2022-09-16T15:36:39","date_gmt":"2022-09-16T13:36:40","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust"},"modified":"2022-09-16T15:36:39","modified_gmt":"2022-09-16T13:36:40","slug":"cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/sv\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","title":{"rendered":"Cloudflare har \u00f6verg\u00e5tt fr\u00e5n NGINX till sin egen proxy Pingora, skriven i Rust.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cloudflare har meddelat att de har \u00f6verf\u00f6rt sitt inneh\u00e5llsdistributionsn\u00e4tverk till att anv\u00e4nda Pingora-proxy, skriven i Rust. Den nya proxyn har ersatt konfigurationen som baserades p\u00e5 NGINX-server med Lua-skript och hanterar mer \u00e4n en biljon f\u00f6rfr\u00e5gningar per dag. Det har rapporterats att \u00f6verg\u00e5ngen till en specialiserad proxy inte bara har m\u00f6jliggjort nya funktioner och \u00f6kat s\u00e4kerheten genom s\u00e4ker minneshantering, utan ocks\u00e5 lett till en betydande prestandah\u00f6jning och resursbesparing. L\u00f6sningen baserad p\u00e5 Pingora kr\u00e4ver ingen Lua-anv\u00e4ndning, vilket g\u00f6r att den f\u00f6rbrukar 70% mindre CPU-resurser och 67% mindre minne vid hantering av samma trafikvolym.     <\/p>\n<p>Under en l\u00e5ng tid uppfyllde systemet f\u00f6r att proxy trafik mellan anv\u00e4ndare och slutpunkter <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/dts-dusseldorf\/\"   title=\"servrar\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3455\">servrar<\/a> baserat p\u00e5 NGINX och Lua-skript Cloudflares behov, men med n\u00e4tverkets tillv\u00e4xt och \u00f6kad komplexitet visade det sig att universall\u00f6sningen inte r\u00e4ckte till, varken ur ett prestandaperspektiv eller p\u00e5 grund av begr\u00e4nsningar n\u00e4r det g\u00e4llde skalbarhet och implementering av nya funktioner f\u00f6r kunder. S\u00e4rskilt uppstod det sv\u00e5righeter med att l\u00e4gga till funktionalitet ut\u00f6ver en enkel gateway och belastningsbalanserare. Till exempel blev det n\u00f6dv\u00e4ndigt att vid ett fel i f\u00f6rfr\u00e5gningsbehandlingen <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sv\/server\/dts-prohoster\/\"   title=\"servern\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3061\">servern<\/a> omdirigera f\u00f6rfr\u00e5gan till en annan server och f\u00f6rse den med en annan upps\u00e4ttning HTTP-rubriker.          <\/p>\n<p>Ist\u00e4llet f\u00f6r en arkitektur d\u00e4r f\u00f6rfr\u00e5gningar delas upp p\u00e5 olika processhanterare anv\u00e4nder Pingora en multitr\u00e5dad modell, som i scenarierna f\u00f6r Cloudflare (h\u00f6g koncentration av trafik fr\u00e5n olika webbplatser med stor statistisk f\u00f6rskjutning) har visat sig f\u00f6rdela resurserna mer effektivt mellan CPU-k\u00e4rnorna. S\u00e4rskilt kopplingen av obalanserade f\u00f6rfr\u00e5gningar till processer i nginx ledde till obalanserad belastning p\u00e5 CPU-k\u00e4rnorna, vilket gjorde att resursintensiva f\u00f6rfr\u00e5gningar och blockerande I\/O saktade ned behandlingen av andra f\u00f6rfr\u00e5gningar. Dessutom gjorde kopplingen av anslutningspoolen till processhanterarna det om\u00f6jligt att \u00e5teranv\u00e4nda redan etablerade anslutningar fr\u00e5n andra processhanterare, vilket minskar effektiviteten n\u00e4r det finns ett stort antal processhanterare.         <\/p>\n<p>NGINX:  <center><img decoding=\"async\" alt=\"Cloudflare har \u00f6verg\u00e5tt fr\u00e5n NGINX till sin egen proxy Pingora, skriven i Rust.\" src=\"\/wp-content\/uploads\/2022\/09\/a8253ce07419bc21d135e1b63bc1756a.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>  <\/p>\n<p>Pingora:  <center><img decoding=\"async\" alt=\"Cloudflare har \u00f6verg\u00e5tt fr\u00e5n NGINX till sin egen proxy Pingora, skriven i Rust.\" src=\"\/wp-content\/uploads\/2022\/09\/62cc18ce7d7dec60b2b72befc37dd79e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>Implementeringen av Pingora har gjort att antalet operationer f\u00f6r att installera nya anslutningar har minskat med 160 g\u00e5nger och \u00f6kat andelen \u00e5teranv\u00e4nda f\u00f6rfr\u00e5gningar fr\u00e5n 87,1 % till 99,92 %. F\u00f6rutom minskningen av \u00e5terkommande anslutningar och en mer effektiv anv\u00e4ndning av CPU-k\u00e4rnor, har en \u00f6kning av prestandan hos den nya proxyn fr\u00e4mst m\u00f6jliggjorts genom att bli av med de l\u00e5ngsamma behandlarna skrivna i Lua som anv\u00e4ndes med nginx.     <\/p>\n<p>Spr\u00e5ket Rust valdes eftersom det m\u00f6jligg\u00f6r h\u00f6g prestanda i kombination med verktyg f\u00f6r att s\u00e4kerst\u00e4lla s\u00e4ker minneshantering. Det n\u00e4mns att trots den h\u00f6ga kompetensen hos Cloudflares ingenj\u00f6rer och kodgranskningen av C-kod, har det inte varit m\u00f6jligt att undvika fel som leder till minnesproblem (till exempel en s\u00e5rbarhet i HTML-parsern). N\u00e4r det g\u00e4ller den nya koden n\u00e4mns fall av nedk\u00f6rningar i Pingora, som visade sig vara orsakade av ett fel i Linux-k\u00e4rnan och h\u00e5rdvarufel.      <\/p>\n<p>Ett ytterligare viktigt uttalande kom fr\u00e5n Linus Torvalds p\u00e5 den p\u00e5g\u00e5ende konferensen Open-Source Summit Europe ang\u00e5ende inf\u00f6randet av Rust-st\u00f6d i Linux-k\u00e4rnan. I version 6.0 ingick inte patchar f\u00f6r att utveckla enheter i Rust, men enligt Linus kommer de troligen att godk\u00e4nnas i version 6.1, och han t\u00e4nker inte dra ut p\u00e5 integrationen. Som motiv f\u00f6r att l\u00e4gga till Rust-st\u00f6d, f\u00f6rutom dess positiva inverkan p\u00e5 s\u00e4kerheten, n\u00e4mner Linus ocks\u00e5 m\u00f6jligheten att \u00f6ka intresset fr\u00e5n nya deltagare f\u00f6r att arbeta med k\u00e4rnan, vilket \u00e4r viktigt med tanke p\u00e5 att de gamla medarbetarna blir \u00e4ldre.<br \/>\n<br \/>K\u00e4lla: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=57793\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust. \u041d\u043e\u0432\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u0437\u0430\u043c\u0435\u043d\u0438\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u044e \u043d\u0430 \u0431\u0430\u0437\u0435 \u0441\u0435\u0440\u0432\u0435\u0440\u0430 NGINX \u0441 Lua-\u0441\u043a\u0440\u0438\u043f\u0442\u0430\u043c\u0438, \u0438 \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 \u0442\u0440\u0438\u043b\u043b\u0438\u043e\u043d\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0434\u0435\u043d\u044c. \u041e\u0442\u043c\u0435\u0447\u0430\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043f\u0435\u0440\u0435\u0445\u043e\u0434 \u043d\u0430 \u0441\u043f\u0435\u0446\u0438\u0430\u043b\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u043b \u043d\u0435 \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u043d\u043e\u0432\u044b\u0435 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0438 \u0443\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u0437\u0430\u0449\u0438\u0449\u0451\u043d\u043d\u043e\u0441\u0442\u044c \u0437\u0430 \u0441\u0447\u0451\u0442 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043f\u0430\u043c\u044f\u0442\u044c\u044e, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":105118,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-105117","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.4 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/sv\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.4\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Cloudflare \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u0441 NGINX \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043ac\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/sv\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2022-09-16T13:36:40+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2022-09-16T13:36:40+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Cloudflare har \u00f6verg\u00e5tt fr\u00e5n NGINX till sin egen proxy Pingora, skriven i Rust | ProHoster","description":"Cloudflare har meddelat att de \u00f6verg\u00e5r till att anv\u00e4nda Pingora-proxyn, som \u00e4r skriven i Rust, f\u00f6r sitt content delivery network.","canonical_url":"https:\/\/prohoster.info\/sv\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sv_SE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Cloudflare \u043f\u0435\u0440\u0435\u0448\u0451\u043b \u0441 NGINX \u043d\u0430 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 \u043f\u0440\u043e\u043ac\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Cloudflare \u0441\u043e\u043e\u0431\u0449\u0438\u043b\u0430 \u043e \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u0435 \u0441\u0432\u043e\u0435\u0439 \u0441\u0435\u0442\u0438 \u0434\u043e\u0441\u0442\u0430\u0432\u043a\u0438 \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u043a\u0441\u0438 Pingora, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0433\u043e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust.","og:url":"https:\/\/prohoster.info\/sv\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2022-09-16T13:36:40+00:00","article:modified_time":"2022-09-16T13:36:40+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"105117","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-02-09 21:46:50","updated":"2026-02-19 09:14:05","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=105117"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105117\/revisions"}],"predecessor-version":[{"id":161830,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/105117\/revisions\/161830"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/105118"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=105117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=105117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=105117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}