{"id":5616,"date":"2023-02-16T12:58:18","date_gmt":"2023-02-16T07:28:18","guid":{"rendered":"https:\/\/trysiteprice.com\/blog\/?p=5616"},"modified":"2023-02-16T12:58:18","modified_gmt":"2023-02-16T07:28:18","slug":"linux-configuring-rx-polling-napi","status":"publish","type":"post","link":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/","title":{"rendered":"Linux: Configuring RX POLLING (NAPI)"},"content":{"rendered":"<p>In Linux, Receive Side Scaling (RSS) and Network Adapter Poll Mode (NAPI) are two techniques that can be used to improve the performance of network I\/O on multi-core systems. NAPI, in particular, allows for more efficient handling of network traffic by reducing the overhead associated with interrupt handling.<\/p>\n<p>To configure NAPI, you can follow these steps:<\/p>\n<ol>\n<li>Identify the network interface that you want to configure. You can do this by running the <code>ifconfig<\/code> command, which will display a list of all network interfaces that are currently available on the system.<\/li>\n<li>Check whether NAPI is currently enabled for the network interface. You can do this by running the <code>ethtool<\/code> command with the name of the network interface as an argument. For example:\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo ethtool -k eth0<br \/>\n<\/code><\/div>\n<\/div>\n<p>This will display a list of offload options that are currently enabled for the interface. Look for the <code>rx-usecs<\/code> option, which controls the polling interval for NAPI.<\/li>\n<li>Enable NAPI by setting the <code>rx-usecs<\/code> option to a value of 0. This will cause the network driver to use NAPI instead of interrupt-driven I\/O. You can set this option using the <code>ethtool<\/code> command with the <code>-C<\/code> option. For example:\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo ethtool -C eth0 rx-usecs 0<br \/>\n<\/code><\/div>\n<\/div>\n<p>Note that not all network drivers support NAPI, so this option may not be available for all interfaces.<\/li>\n<li>Verify that NAPI is working by monitoring the interrupt rate for the network interface. You can do this using the <code>sar<\/code> command, which is part of the <code>sysstat<\/code> package. For example:\n<div class=\"bg-black mb-4 rounded-md\">\n<div class=\"flex items-center relative text-gray-200 bg-gray-800 px-4 py-2 text-xs font-sans\"><\/div>\n<div class=\"p-4 overflow-y-auto\"><code class=\"!whitespace-pre hljs\">sudo sar -n DEV 1<br \/>\n<\/code><\/div>\n<\/div>\n<p>This will display a real-time view of network statistics, including the interrupt rate for each network interface. Look for a decrease in the interrupt rate for the interface that you configured with NAPI.<\/li>\n<\/ol>\n<p>After completing these steps, NAPI should be enabled for the network interface, which should help to improve the performance of network I\/O on multi-core systems. However, be aware that enabling NAPI may have some implications for certain network applications, as it may change the timing and order in which packets are delivered to the application.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In Linux, Receive Side Scaling (RSS) and Network Adapter Poll Mode (NAPI) are two techniques that can be used to improve the performance of network I\/O on multi-core systems. NAPI, in particular, allows for more efficient handling of network traffic by reducing the overhead associated with interrupt handling. To configure NAPI, you can follow these &#8230; <a title=\"Linux: Configuring RX POLLING (NAPI)\" class=\"read-more\" href=\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\" aria-label=\"Read more about Linux: Configuring RX POLLING (NAPI)\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5616","post","type-post","status-publish","format-standard","hentry","category-best-tutorial"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Linux: Configuring RX POLLING (NAPI) - TrySitePrice<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Linux: Configuring RX POLLING (NAPI) - TrySitePrice\" \/>\n<meta property=\"og:description\" content=\"In Linux, Receive Side Scaling (RSS) and Network Adapter Poll Mode (NAPI) are two techniques that can be used to improve the performance of network I\/O on multi-core systems. NAPI, in particular, allows for more efficient handling of network traffic by reducing the overhead associated with interrupt handling. To configure NAPI, you can follow these ... Read more\" \/>\n<meta property=\"og:url\" content=\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\" \/>\n<meta property=\"og:site_name\" content=\"TrySitePrice\" \/>\n<meta property=\"article:published_time\" content=\"2023-02-16T07:28:18+00:00\" \/>\n<meta name=\"author\" content=\"Rahul Sahu\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\"},\"author\":{\"name\":\"Rahul Sahu\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\"},\"headline\":\"Linux: Configuring RX POLLING (NAPI)\",\"datePublished\":\"2023-02-16T07:28:18+00:00\",\"dateModified\":\"2023-02-16T07:28:18+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\"},\"wordCount\":324,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"articleSection\":[\"Best\/Tutorial\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\",\"name\":\"Linux: Configuring RX POLLING (NAPI) - TrySitePrice\",\"isPartOf\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\"},\"datePublished\":\"2023-02-16T07:28:18+00:00\",\"dateModified\":\"2023-02-16T07:28:18+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/trysiteprice.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Linux: Configuring RX POLLING (NAPI)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#website\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"name\":\"TrySitePrice\",\"description\":\"Free Website Value Calculator Tool\",\"publisher\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#organization\",\"name\":\"TrySitePrice\",\"url\":\"https:\/\/trysiteprice.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"contentUrl\":\"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png\",\"width\":395,\"height\":268,\"caption\":\"TrySitePrice\"},\"image\":{\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4\",\"name\":\"Rahul Sahu\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g\",\"caption\":\"Rahul Sahu\"},\"sameAs\":[\"https:\/\/trysiteprice.com\/blog\"],\"url\":\"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Linux: Configuring RX POLLING (NAPI) - TrySitePrice","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/","og_locale":"en_US","og_type":"article","og_title":"Linux: Configuring RX POLLING (NAPI) - TrySitePrice","og_description":"In Linux, Receive Side Scaling (RSS) and Network Adapter Poll Mode (NAPI) are two techniques that can be used to improve the performance of network I\/O on multi-core systems. NAPI, in particular, allows for more efficient handling of network traffic by reducing the overhead associated with interrupt handling. To configure NAPI, you can follow these ... Read more","og_url":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/","og_site_name":"TrySitePrice","article_published_time":"2023-02-16T07:28:18+00:00","author":"Rahul Sahu","twitter_card":"summary_large_image","schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#article","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/"},"author":{"name":"Rahul Sahu","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4"},"headline":"Linux: Configuring RX POLLING (NAPI)","datePublished":"2023-02-16T07:28:18+00:00","dateModified":"2023-02-16T07:28:18+00:00","mainEntityOfPage":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/"},"wordCount":324,"commentCount":0,"publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"articleSection":["Best\/Tutorial"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/","url":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/","name":"Linux: Configuring RX POLLING (NAPI) - TrySitePrice","isPartOf":{"@id":"https:\/\/trysiteprice.com\/blog\/#website"},"datePublished":"2023-02-16T07:28:18+00:00","dateModified":"2023-02-16T07:28:18+00:00","breadcrumb":{"@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/trysiteprice.com\/blog\/linux-configuring-rx-polling-napi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/trysiteprice.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Linux: Configuring RX POLLING (NAPI)"}]},{"@type":"WebSite","@id":"https:\/\/trysiteprice.com\/blog\/#website","url":"https:\/\/trysiteprice.com\/blog\/","name":"TrySitePrice","description":"Free Website Value Calculator Tool","publisher":{"@id":"https:\/\/trysiteprice.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/trysiteprice.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/trysiteprice.com\/blog\/#organization","name":"TrySitePrice","url":"https:\/\/trysiteprice.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","contentUrl":"https:\/\/trysiteprice.com\/blog\/wp-content\/uploads\/2021\/12\/cropped-trysiteprice-logo.png","width":395,"height":268,"caption":"TrySitePrice"},"image":{"@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/358e04eeea4281deacad2f30c58e67f4","name":"Rahul Sahu","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/trysiteprice.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/51f0f95f7b95665f62baed2211572165?s=96&d=mm&r=g","caption":"Rahul Sahu"},"sameAs":["https:\/\/trysiteprice.com\/blog"],"url":"https:\/\/trysiteprice.com\/blog\/author\/rsahu4242_trysiteprice\/"}]}},"_links":{"self":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5616","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/comments?post=5616"}],"version-history":[{"count":1,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5616\/revisions"}],"predecessor-version":[{"id":5619,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/posts\/5616\/revisions\/5619"}],"wp:attachment":[{"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/media?parent=5616"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/categories?post=5616"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/trysiteprice.com\/blog\/wp-json\/wp\/v2\/tags?post=5616"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}