{"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\/nl\/blog\/news\/cloudflare-pereshyol-s-nginx-na-sobstvennyj-prokci-pingora-napisannyj-na-yazyke-rust","title":{"rendered":"Cloudflare is overgestapt van NGINX naar de eigen proxy Pingora, geschreven in Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cloudflare heeft aangekondigd zijn content delivery netwerk over te schakelen naar de Pingora-proxy, geschreven in Rust. De nieuwe proxy vervangt de configuratie op basis van de NGINX-server met Lua-scripts en verwerkt meer dan een biljoen verzoeken per dag. Het wordt opgemerkt dat de overstap naar een gespecialiseerde proxy niet alleen heeft geleid tot nieuwe mogelijkheden en een verhoogde beveiliging dankzij veilige geheugentoegang, maar ook tot een aanzienlijke stijging van de prestaties en besparing van middelen \u2014 de oplossing op basis van Pingora vereist geen gebruik van Lua, waardoor het 70% minder CPU-kracht en 67% minder geheugen verbruikt bij het verwerken van hetzelfde verkeer.     <\/p>\n<p>Een lange tijd voldeed het systeem voor het proxy'en van verkeer tussen gebruikers en eindpunten <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/nl\/server\/dts-dusseldorf\/\"   title=\"servers\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3455\">servers<\/a> op basis van NGINX en Lua-scripts aan de behoeften van Cloudflare, maar met de groei van het netwerk en de toenemende complexiteit bleek een universele oplossing niet voldoende, zowel qua prestaties als vanwege beperkingen in schaalbaarheid en de implementatie van nieuwe mogelijkheden voor klanten. In het bijzonder ontstonden er complicaties bij het toevoegen van functionaliteit die verder gaat dan een eenvoudige gateway en load balancer. Bijvoorbeeld, de noodzaak om in het geval van een fout bij de verwerking van een verzoek <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/nl\/server\/dts-prohoster\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"3061\">server<\/a> het verzoek opnieuw door te sturen naar een andere server, voorzien van een andere set HTTP-headers.          <\/p>\n<p>In plaats van een architectuur waarbij verzoeken worden verdeeld over afzonderlijke verwerkers (worker-processen), maakt Pingora gebruik van een multithreaded model, dat in de gebruiksscenario's van Cloudflare (een hoge concentratie verkeer van verschillende websites met een grote statistische verschuiving) een effectievere verdeling van bronnen tussen CPU-kernen heeft aangetoond. In het bijzonder leidde de binding van ongebalanceerde verzoeken aan processen in NGINX tot een onevenwichtige belasting van de CPU-kernen, waardoor hulpbronneneisende verzoeken en blokkering van I\/O de verwerking van andere verzoeken vertraagden. Bovendien stond de binding van de verbindingspool aan verwerkers niet toe om al gevestigde verbindingen van andere verwerkers opnieuw te gebruiken, wat de effici\u00ebntie bij een groot aantal verwerkers vermindert.         <\/p>\n<p>NGINX:  <center><img decoding=\"async\" alt=\"Cloudflare is overgestapt van NGINX naar de eigen proxy Pingora, geschreven in 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 is overgestapt van NGINX naar de eigen proxy Pingora, geschreven in Rust\" src=\"\/wp-content\/uploads\/2022\/09\/62cc18ce7d7dec60b2b72befc37dd79e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/center>    <\/p>\n<p>De implementatie van Pingora heeft het aantal installaties van nieuwe verbindingen met 160 keer verminderd en het aandeel herbruikbare verzoeken verhoogd van 87,1% naar 99,92%. Naast de vermindering van herhaalde verbindingen en een effici\u00ebnter gebruik van CPU-kernen, heeft vooral de vervangingen van de langzame Lua-handlers die met nginx werden gebruikt, bijgedragen aan de prestatieverbetering van de nieuwe proxy.     <\/p>\n<p>De programmeertaal Rust is gekozen vanwege de hoge prestaties in combinatie met voorzieningen voor veilige geheugenbeheer. Er wordt vermeld dat, ondanks de hoge kwalificatie van de ingenieurs van Cloudflare en de codebeoordeling van geschreven C-code, het niet mogelijk was om fouten te vermijden die leiden tot geheugenproblemen (bijvoorbeeld, een kwetsbaarheid in de HTML-parser). Wat betreft de nieuwe code, zijn er gevallen beschreven van fouten in de werking van Pingora, die het gevolg waren van problemen in de Linux-kernel en hardwarestoringen.      <\/p>\n<p>Daarnaast kan worden opgemerkt dat Linus Torvalds tijdens de huidige Open-Source Summit Europe, opmerkingen heeft gemaakt over de opname van ondersteuning voor de programmeertaal Rust in de Linux-kernel. In kernel 6.0 zijn de patches voor de ontwikkeling van stuurprogramma's in Rust niet opgenomen, maar volgens Linus zullen ze waarschijnlijk worden geaccepteerd in kernel 6.1; hij is niet van plan om met de integratie te wachten. Als motivatie voor het toevoegen van ondersteuning voor Rust, naast de positieve invloed op de veiligheid, noemt Linus ook de mogelijkheid om de interesse van nieuwe deelnemers in de ontwikkeling van de kernel te vergroten, wat relevant is gezien de vergrijzing van de huidige deelnemers.<br \/>\n<br \/>Bron: <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.3 - 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\/nl\/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.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"nl_NL\" \/>\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\/nl\/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 is overgestapt van NGINX naar zijn eigen proxy Pingora, geschreven in de programmeertaal Rust | ProHoster","description":"Cloudflare heeft aangekondigd zijn content delivery-netwerk over te schakelen op het gebruik van de Pingora-proxy, geschreven in de programmeertaal Rust.","canonical_url":"https:\/\/prohoster.info\/nl\/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":"nl_NL","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\/nl\/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\/nl\/wp-json\/wp\/v2\/posts\/105117","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/comments?post=105117"}],"version-history":[{"count":2,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/105117\/revisions"}],"predecessor-version":[{"id":161830,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/posts\/105117\/revisions\/161830"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media\/105118"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/media?parent=105117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/categories?post=105117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/nl\/wp-json\/wp\/v2\/tags?post=105117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}