{"id":115667,"date":"2024-05-10T13:52:08","date_gmt":"2024-05-10T11:52:08","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu"},"modified":"2024-05-10T13:52:08","modified_gmt":"2024-05-10T11:52:08","slug":"predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","title":{"rendered":"Propunere pentru activarea modului TCP_NODELAY \u00een mod implicit","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Marc Brooker, inginer la Amazon Web Services (AWS), a discutat despre miturile legate de \u00eembun\u0103t\u0103\u021birea eficien\u021bei transmisiei de mesaje mici utiliz\u00e2nd algoritmul Nagle, care este aplicat implicit \u00een stiva TCP\/IP. Recomand\u0103rile se concentreaz\u0103 pe dezactivarea algoritmului Nagle \u00een mod implicit, ceea ce, \u00een contextul aplica\u021biilor individuale, se poate realiza prin setarea op\u021biunii TCP_NODELAY pentru socket-uri de re\u021bea folosind apelul setsockopt, argumente care sunt deja utilizate \u00een proiecte precum Node.js \u0219i curl.     <\/p>\n<p>Algoritmul Nagle permite agregarea mesajelor mici pentru a reduce traficul \u2014 suspend\u0103 trimiterea de noi segmente TCP p\u00e2n\u0103 la primirea confirm\u0103rii pentru datele anterior trimise. De exemplu, f\u0103r\u0103 utilizarea agreg\u0103rii, atunci c\u00e2nd se trimite 1 byte, se mai trimit 40 bytes cu anteturile TCP \u0219i IP ale pachetului. \u00cen condi\u021biile actuale, utilizarea algoritmului Nagle conduce la o cre\u0219tere semnificativ\u0103 a \u00eent\u00e2rzierilor, inacceptabile pentru aplica\u021bii interactive \u0219i distribuite.     <\/p>\n<p>Se prezint\u0103 trei argumente principale \u00een favoarea utiliz\u0103rii op\u021biunii TCP_NODELAY, care dezactiveaz\u0103 algoritmul Nagle:  <\/p>\n<ul>\n<li class=\"l\"> Incompatibilitatea algoritmului Nagle cu optimizarea \u201edelayed ACK\u201d, prin care r\u0103spunsul ACK nu este trimis imediat, ci dup\u0103 primirea datelor r\u0103spuns. Problema const\u0103 \u00een faptul c\u0103, \u00een algoritmul Nagle, primirea pachetului ACK reprezint\u0103 un semnal pentru trimiterea datelor agregate, iar dac\u0103 pachetul ACK nu a sosit, trimiterea se efectueaz\u0103 la expirarea timpului de a\u0219teptare. Astfel, se formeaz\u0103 un cerc vicios, iar pachetul ACK ca semnal nu func\u021bioneaz\u0103, deoarece cealalt\u0103 parte nu prime\u0219te datele din cauza acumul\u0103rii acestora pe partea expeditorului, iar expeditorul nu le trimite p\u00e2n\u0103 la expirarea timpului de a\u0219teptare, deoarece nu prime\u0219te pachetul ACK.\n<li class=\"l\"> RFC pentru algoritmul Nagle a fost adoptat \u00een 1984 \u0219i nu este adaptat pentru parametrii re\u021belelor moderne de \u00eenalt\u0103 vitez\u0103 \u0219i <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"servere\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1546\">servere<\/a> centrele de date, ceea ce duce la probleme de reac\u021bie. \u00cent\u00e2rzierea dintre trimiterea unei cereri \u0219i primirea unui r\u0103spuns (RTT) \u00een re\u021belele moderne este de 0,5 ms + c\u00e2teva milisecunde \u00een timpul schimbului de date \u00eentre centrele de date din aceea\u0219i regiune + p\u00e2n\u0103 la o sut\u0103 de milisecunde la transmiterea \u00een \u00eentreaga lume. \u00cen aceste milisecunde, un server modern poate realiza un volum uria\u0219 de munc\u0103.\n<li class=\"l\"> Aplica\u021biile distribuite moderne nu mai trimit date \u00een byte-uri individuale, iar agregarea datelor minuscule se implementeaz\u0103 de obicei la nivel de aplica\u021bie. Chiar dac\u0103 m\u0103rimea datelor utile este de c\u00e2\u021biva byte, de regul\u0103 dimensiunea informa\u021biei trimise cre\u0219te semnificativ dup\u0103 aplicarea serializ\u0103rii, utilizarea API-urilor \u00een JSON \u0219i trimiterea cu criptare TLS. Economisirea a 40 byte devine mai pu\u021bin relevant\u0103.      <\/ul>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61145\">opennet.ro<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041c\u0430\u0440\u043a \u0411\u0440\u0443\u043a\u0435\u0440 (Marc Brooker), \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Amazon Web Services (AWS), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u043b\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041d\u0435\u0439\u0433\u043b\u0430, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0432 TCP\/IP \u0441\u0442\u0435\u043a\u0435. \u0420\u0435\u043a\u043e\u043c\u0435\u043d\u0434\u0430\u0446\u0438\u0438 \u0441\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041d\u0435\u0439\u0433\u043b\u0430, \u0447\u0442\u043e \u0432 \u043a\u043e\u043d\u0442\u0435\u043a\u0441\u0442\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0445 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u0432\u044b\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u043f\u0446\u0438\u0438 TCP_NODELAY \u0434\u043b\u044f \u0441\u0435\u0442\u0435\u0432\u044b\u0445 \u0441\u043e\u043a\u0435\u0442\u043e\u0432 \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u044b\u0437\u043e\u0432\u0430 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-115667","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041c\u0430\u0440\u043a \u0411\u0440\u0443\u043a\u0435\u0440 (Marc Brooker), \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Amazon Web Services (AWS), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u043b\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041d\u0435\u0439\u0433\u043b\u0430, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u043e.\" \/>\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\/ro\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\udd47\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0440\u0435\u0436\u0438\u043c\u0430 TCP_NODELAY \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041c\u0430\u0440\u043a \u0411\u0440\u0443\u043a\u0435\u0440 (Marc Brooker), \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Amazon Web Services (AWS), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u043b\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041d\u0435\u0439\u0433\u043b\u0430, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu\" \/>\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=\"2024-05-10T11:52:08+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2024-05-10T11:52:08+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\udd47Propunere pentru activarea modului TCP_NODELAY \u00een mod implicit | ProHoster","description":"Marc Brooker, inginer la Amazon Web Services (AWS), a discutat despre concep\u021biile gre\u0219ite legate de \u00eembun\u0103t\u0103\u021birea eficien\u021bei transmiterii mesajelor mici utiliz\u00e2nd algoritmul lui Nagle.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\udd47\u041f\u0440\u0435\u0434\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0432\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044e \u0440\u0435\u0436\u0438\u043c\u0430 TCP_NODELAY \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e | ProHoster","og:description":"\u041c\u0430\u0440\u043a \u0411\u0440\u0443\u043a\u0435\u0440 (Marc Brooker), \u0438\u043d\u0436\u0435\u043d\u0435\u0440 \u0438\u0437 \u043a\u043e\u043c\u043f\u0430\u043d\u0438\u0438 Amazon Web Services (AWS), \u0440\u0430\u0437\u043e\u0431\u0440\u0430\u043b \u0437\u0430\u0431\u043b\u0443\u0436\u0434\u0435\u043d\u0438\u044f, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u044b\u0435 \u0441 \u043f\u043e\u0432\u044b\u0448\u0435\u043d\u0438\u0435\u043c \u044d\u0444\u0444\u0435\u043a\u0442\u0438\u0432\u043d\u043e\u0441\u0442\u0438 \u043f\u0435\u0440\u0435\u0434\u0430\u0447\u0438 \u043c\u0435\u043b\u043a\u0438\u0445 \u0441\u043e\u043e\u0431\u0449\u0435\u043d\u0438\u0439 \u043f\u0440\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0438 \u0430\u043b\u0433\u043e\u0440\u0438\u0442\u043c\u0430 \u041d\u0435\u0439\u0433\u043b\u0430, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0433\u043e \u043f\u043e.","og:url":"https:\/\/prohoster.info\/ro\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","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":"2024-05-10T11:52:08+00:00","article:modified_time":"2024-05-10T11:52:08+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"115667","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":"2026-02-09 17:22:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 00:03:19","updated":"2026-02-09 17:22:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/115667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=115667"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/115667\/revisions"}],"predecessor-version":[{"id":158790,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/115667\/revisions\/158790"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=115667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=115667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=115667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}