{"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\/it\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","title":{"rendered":"Proposta di abilitare la modalit\u00e0 TCP_NODELAY per impostazione predefinita","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Marc Brooker, ingegnere presso Amazon Web Services (AWS), ha chiarito alcune idee sbagliate relative al miglioramento dell'efficienza nella trasmissione di piccoli messaggi utilizzando l'algoritmo di Nagle, impiegato di default nel stack TCP\/IP. Le raccomandazioni si riducono a disabilitare di default l'algoritmo di Nagle, cosa che, nel contesto di applicazioni specifiche, pu\u00f2 essere realizzata impostando l'opzione TCP_NODELAY per i socket di rete tramite la chiamata setsockopt, una pratica gi\u00e0 adottata in progetti come Node.js e curl.     <\/p>\n<p>L'algoritmo di Nagle consente di aggregare piccoli messaggi per ridurre il traffico \u2014 sospende l'invio di nuovi segmenti TCP fino a ricevere conferma della ricezione dei dati precedentemente inviati. Ad esempio, senza l'uso dell'aggregazione, quando si invia 1 byte, vengono inviati ulteriori 40 byte con le intestazioni TCP e IP del pacchetto. Nelle moderne condizioni, l'uso dell'algoritmo di Nagle porta a un aumento significativo dei ritardi, inaccettabili per applicazioni interattive e distribuite.     <\/p>\n<p>Vengono forniti tre principali argomenti a favore dell'utilizzo di default dell'opzione TCP_NODELAY, che disabilita l'algoritmo di Nagle:  <\/p>\n<ul>\n<li class=\"l\"> L'incompatibilit\u00e0 dell'algoritmo di Nagle con l'ottimizzazione 'delayed ACK', in cui la risposta ACK non viene inviata immediatamente, ma solo dopo la ricezione dei dati di risposta. Il problema \u00e8 che nell'algoritmo di Nagle la ricezione del pacchetto ACK \u00e8 un segnale per inviare i dati aggregati, ma se il pacchetto ACK non arriva, l'invio avviene al verificarsi di un timeout. In questo modo, si crea un circolo vizioso, e il pacchetto ACK come segnale non funziona, poich\u00e9 l'altra parte non riceve dati a causa del loro accumulo da parte del mittente, mentre il mittente non li invia fino al timeout, poich\u00e9 non riceve il pacchetto ACK.\n<li class=\"l\"> Il RFC per l'algoritmo di Nagle \u00e8 stato adottato nel 1984 e non \u00e8 stato progettato per le caratteristiche delle moderne reti ad alta velocit\u00e0 e <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/it\/server\/\"   title=\"server\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1546\">server<\/a> nei data center, il che porta a problemi di reattivit\u00e0. Il ritardo tra l'invio della richiesta e la ricezione della risposta (RTT) nelle reti moderne \u00e8 di 0,5 ms + alcuni millisecondi per lo scambio di dati tra i data center in una stessa regione + fino a cento millisecondi per le comunicazioni in tutto il mondo. Durante questi millisecondi, un server moderno \u00e8 in grado di svolgere un enorme volume di lavoro.\n<li class=\"l\"> Le moderne applicazioni distribuite non inviano pi\u00f9 singoli byte di dati, e l'aggregazione di piccoli dati \u00e8 solitamente realizzata a livello di applicazione. Anche se la dimensione dei dati utili \u00e8 di pochi byte, di norma, la dimensione effettiva delle informazioni inviate aumenta notevolmente dopo l'applicazione della serializzazione, l'uso di API in JSON e la trasmissione con crittografia TLS. Risparmiare 40 byte non \u00e8 pi\u00f9 cos\u00ec rilevante.      <\/ul>\n<p>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=61145\">opennet.ru<\/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.1.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\/it\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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\/it\/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\udd47Proposta di attivare la modalit\u00e0 TCP_NODELAY per impostazione predefinita | ProHoster","description":"Marc Brooker, ingegnere di Amazon Web Services (AWS), ha messo in discussione le convinzioni errate relative all'aumento dell'efficienza nella trasmissione di piccoli messaggi utilizzando l'algoritmo di Nagle.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/news\/predlozhenie-po-vklyucheniyu-rezhima-tcp_nodelay-po-umolchaniyu","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/115667","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=115667"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/115667\/revisions"}],"predecessor-version":[{"id":158790,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/115667\/revisions\/158790"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=115667"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=115667"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=115667"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}