{"id":34911,"date":"2024-08-22T15:18:42","date_gmt":"2024-08-22T08:18:42","guid":{"rendered":"http:\/\/jupitek.maudemo.vip\/index.php\/2024\/08\/22\/configure-multi-queue-nics-on-compute-instances\/"},"modified":"2024-08-22T15:18:42","modified_gmt":"2024-08-22T08:18:42","slug":"configure-multi-queue-nics-on-compute-instances","status":"publish","type":"post","link":"https:\/\/jupitek.maudemo.vip\/index.php\/2024\/08\/22\/configure-multi-queue-nics-on-compute-instances\/","title":{"rendered":"C\u1ea5u h\u00ecnh multi-queue NICs tr\u00ean Compute Instances"},"content":{"rendered":"<p>NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i (th\u1ebb giao di\u1ec7n m\u1ea1ng) \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n c\u00f3 2 l\u00f5i CPU (vCPU) tr\u1edf l\u00ean. T\u00ednh n\u0103ng n\u00e0y cung c\u1ea5p nhi\u1ec1u h\u00e0ng \u0111\u1ee3i nh\u1eadn (RX) v\u00e0 truy\u1ec1n (TX), g\u00e1n ch\u00fang cho c\u00e1c ng\u1eaft m\u1ea1ng kh\u00e1c nhau v\u00e0 c\u00e2n b\u1eb1ng ch\u00fang tr\u00ean nhi\u1ec1u vCPU. Tr\u01b0\u1edbc \u0111\u00e2y, l\u01b0u l\u01b0\u1ee3ng truy c\u1eadp n\u00e0y \u0111\u1ec1u \u0111\u01b0\u1ee3c x\u1eed l\u00fd b\u1edfi m\u1ed9t l\u00f5i vCPU. T\u00f9y thu\u1ed9c v\u00e0o kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c c\u1ee7a m\u00e1y ch\u1ee7 v\u00e0 l\u01b0u l\u01b0\u1ee3ng m\u1ea1ng, nhi\u1ec1u h\u00e0ng \u0111\u1ee3i c\u00f3 th\u1ec3 n\u00e2ng cao hi\u1ec7u su\u1ea5t m\u1ea1ng m\u1ed9t c\u00e1ch \u0111\u00e1ng k\u1ec3. \u0110\u1ed1i v\u1edbi h\u1ea7u h\u1ebft c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n \u0111\u01b0\u1ee3c tri\u1ec3n khai sau ng\u00e0y 2 th\u00e1ng 6 n\u0103m 2021, b\u1ea1n kh\u00f4ng c\u1ea7n th\u1ef1c hi\u1ec7n h\u00e0nh \u0111\u1ed9ng n\u00e0o \u0111\u1ec3 k\u00edch ho\u1ea1t NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i. N\u1ebfu Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n c\u1ee7a b\u1ea1n \u0111\u01b0\u1ee3c tri\u1ec3n khai tr\u01b0\u1edbc ng\u00e0y \u0111\u00f3 th\u00ec c\u00f3 th\u1ec3 c\u1ea7n ph\u1ea3i kh\u1edfi \u0111\u1ed9ng l\u1ea1i. Tr\u00ean c\u00e1c b\u1ea3n ph\u00e2n ph\u1ed1i Linux c\u0169 h\u01a1n, ch\u1eb3ng h\u1ea1n nh\u01b0 Debian 8 v\u00e0 9, c\u1ea7n ph\u1ea3i b\u1eadt NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i theo c\u00e1ch th\u1ee7 c\u00f4ng b\u1eb1ng c\u00e1ch l\u00e0m theo h\u01b0\u1edbng d\u1eabn trong h\u01b0\u1edbng d\u1eabn n\u00e0y.<\/p>\n<p><strong>X\u00e1c \u0111\u1ecbnh xem nhi\u1ec1u h\u00e0ng \u0111\u1ee3i c\u00f3 \u0111\u01b0\u1ee3c b\u1eadt hay kh\u00f4ng<\/strong><\/p>\n<p>Ki\u1ec3m tra xem ch\u1ebf \u0111\u1ed9 \u0111a h\u00e0ng \u0111\u1ee3i \u0111\u00e3 \u0111\u01b0\u1ee3c b\u1eadt tr\u00ean thi\u1ebft b\u1ecb m\u1ea1ng c\u1ee7a b\u1ea1n ch\u01b0a b\u1eb1ng c\u00e1ch s\u1eed d\u1ee5ng c\u00f4ng c\u1ee5 d\u00f2ng l\u1ec7nh ethtool.<\/p>\n<ul>\n<li>Xem l\u1ea1i s\u1ed1 l\u00f5i CPU (vCPU) kh\u1ea3 d\u1ee5ng tr\u00ean Compute Instance c\u1ee7a b\u1ea1n b\u1eb1ng c\u00e1ch t\u00ecm g\u00f3i c\u1ee7a b\u1ea1n trong trang gi\u00e1 ho\u1eb7c b\u1eb1ng c\u00e1ch \u0111\u0103ng nh\u1eadp v\u00e0o Cloud Manager, ch\u1ecdn Compute Instance c\u1ee7a b\u1ea1n v\u00e0 xem l\u1ea1i gi\u00e1 tr\u1ecb CPU Cores trong m\u1ee5c Summary.<\/li>\n<\/ul>\n<ul>\n<li>\u0110\u0103ng nh\u1eadp v\u00e0o Compute Instance c\u1ee7a b\u1ea1n th\u00f4ng qua Lish ho\u1eb7c SSH.<\/li>\n<\/ul>\n<ul>\n<li>C\u00e0i \u0111\u1eb7t ti\u1ec7n \u00edch ethtool n\u1ebfu ch\u01b0a c\u00e0i \u0111\u1eb7t.<\/li>\n<\/ul>\n<p><strong>Ubuntu v\u00e0 Debian:<\/strong><\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get update\nsudo apt-get install ethtool\n<\/code><\/pre>\n<p><strong>Fedora, CentOS, v\u00e0 c\u00e1c h\u1ec7 \u0111i\u1ec1u h\u00e0nh kh\u00e1c, v\u00ed d\u1ee5 nh\u01b0 AlmaLinux v\u00e0 Rocky Linux:<\/strong><\/p>\n<pre class=\"wp-block-code\"><code>sudo yum install ethtool<\/code><\/pre>\n<ul>\n<li>Ch\u1ea1y l\u1ec7nh sau, thay th\u1ebf eth0 n\u1ebfu b\u1ea1n \u0111\u00e3 \u0111\u1ecbnh c\u1ea5u h\u00ecnh thi\u1ebft b\u1ecb m\u1ea1ng kh\u00f4ng ph\u1ea3i eth0.<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>ethtool -l eth0<\/code><\/pre>\n<p>\u0110i\u1ec1u n\u00e0y s\u1ebd d\u1eabn \u0111\u1ebfn k\u1ebft qu\u1ea3 \u0111\u1ea7u ra t\u01b0\u01a1ng t\u1ef1 nh\u01b0 sau:<\/p>\n<p>Output<\/p>\n<pre class=\"wp-block-code\"><code>Channel parameters for eth0:\nPre-set maximums:\nRX:             0\nTX:             0\nOther:          0\nCombined:       8\nCurrent hardware settings:\nRX:             0\nTX:             0\nOther:          0\nCombined:       2<\/code><\/pre>\n<ul>\n<li>\u1ede \u0111\u1ea7u ra \u1edf tr\u00ean, x\u00e1c \u0111\u1ecbnh gi\u00e1 tr\u1ecb K\u1ebft h\u1ee3p trong ph\u1ea7n C\u00e0i \u0111\u1eb7t ph\u1ea7n c\u1ee9ng hi\u1ec7n t\u1ea1i. \u0110i\u1ec1u n\u00e0y cho bi\u1ebft s\u1ed1 l\u01b0\u1ee3ng h\u00e0ng \u0111\u1ee3i c\u00f3 hi\u1ec7u l\u1ef1c. N\u1ebfu nhi\u1ec1u h\u00e0ng \u0111\u1ee3i \u0111\u01b0\u1ee3c b\u1eadt ho\u00e0n to\u00e0n, gi\u00e1 tr\u1ecb n\u00e0y s\u1ebd b\u1eb1ng s\u1ed1 l\u01b0\u1ee3ng vCPU \u0111\u01b0\u1ee3c trang b\u1ecb tr\u00ean Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n c\u1ee7a b\u1ea1n (\u0111\u01b0\u1ee3c x\u00e1c \u0111\u1ecbnh b\u1edfi lo\u1ea1i v\u00e0 g\u00f3i phi\u00ean b\u1ea3n c\u1ee7a b\u1ea1n).<\/li>\n<\/ul>\n<p><strong>K\u00edch ho\u1ea1t nhi\u1ec1u h\u00e0ng \u0111\u1ee3i tr\u00ean c\u00e1c thi\u1ebft b\u1ecb m\u1ea1ng<\/strong><\/p>\n<p>N\u1ebfu nhi\u1ec1u h\u00e0ng \u0111\u1ee3i kh\u00f4ng \u0111\u01b0\u1ee3c b\u1eadt v\u00e0 kh\u1edfi \u0111\u1ed9ng l\u1ea1i kh\u00f4ng t\u1ef1 \u0111\u1ed9ng b\u1eadt, b\u1ea1n c\u00f3 th\u1ec3 b\u1eadt th\u1ee7 c\u00f4ng t\u00ednh n\u0103ng n\u00e0y th\u00f4ng qua c\u00e1c h\u01b0\u1edbng d\u1eabn sau.<\/p>\n<ul>\n<li>Xem l\u1ea1i s\u1ed1 l\u00f5i vCPU kh\u1ea3 d\u1ee5ng tr\u00ean Compute Instance c\u1ee7a b\u1ea1n b\u1eb1ng c\u00e1ch t\u00ecm g\u00f3i c\u1ee7a b\u1ea1n trong trang gi\u00e1 ho\u1eb7c b\u1eb1ng c\u00e1ch \u0111\u0103ng nh\u1eadp v\u00e0o Cloud Manager, ch\u1ecdn Compute Instance c\u1ee7a b\u1ea1n v\u00e0 xem l\u1ea1i gi\u00e1 tr\u1ecb CPU Cores trong T\u00f3m t\u1eaft.<\/li>\n<\/ul>\n<ul>\n<li>Ch\u1ea1y l\u1ec7nh sau \u0111\u1ec3 b\u1eadt nhi\u1ec1u h\u00e0ng \u0111\u1ee3i, thay th\u1ebf [cpu-count] b\u1eb1ng s\u1ed1 vCPU tr\u00ean Compute Instance c\u1ee7a b\u1ea1n.<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>ethtool -L eth0 combined &#91;cpu-count]<\/code><\/pre>\n<ul>\n<li>X\u00e1c minh r\u1eb1ng t\u00ednh n\u0103ng n\u00e0y \u0111\u01b0\u1ee3c b\u1eadt b\u1eb1ng c\u00e1ch l\u00e0m theo l\u1ea1i c\u00e1c h\u01b0\u1edbng d\u1eabn trong ph\u1ea7n X\u00e1c \u0111\u1ecbnh xem nhi\u1ec1u h\u00e0ng \u0111\u1ee3i c\u00f3 \u0111\u01b0\u1ee3c b\u1eadt kh\u00f4ng \u1edf tr\u00ean.<\/li>\n<\/ul>\n<p><strong>V\u00f4 hi\u1ec7u h\u00f3a nhi\u1ec1u h\u00e0ng \u0111\u1ee3i tr\u00ean thi\u1ebft b\u1ecb m\u1ea1ng<\/strong><\/p>\n<p>N\u1ebfu b\u1ea1n b\u1eaft \u0111\u1ea7u th\u1ea5y c\u00e1c v\u1ea5n \u0111\u1ec1 v\u1ec1 hi\u1ec7u su\u1ea5t, ch\u1eb3ng h\u1ea1n nh\u01b0 CPU \u200b\u200bt\u0103ng \u0111\u1ed9t bi\u1ebfn li\u00ean quan \u0111\u1ebfn l\u01b0u l\u01b0\u1ee3ng m\u1ea1ng \u1ea3nh h\u01b0\u1edfng \u0111\u1ebfn ph\u1ea7n m\u1ec1m kh\u00e1c tr\u00ean m\u00e1y ch\u1ee7 c\u1ee7a b\u1ea1n, b\u1ea1n c\u00f3 th\u1ec3 t\u1eaft NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i n\u1ebfu mu\u1ed1n.<\/p>\n<ul>\n<li>Ch\u1ea1y l\u1ec7nh sau tr\u00ean Compute Instance c\u1ee7a b\u1ea1n \u0111\u1ec3 t\u1eaft nhi\u1ec1u h\u00e0ng \u0111\u1ee3i:<\/li>\n<\/ul>\n<pre class=\"wp-block-code\"><code>ethtool -L eth0 combined 1<\/code><\/pre>\n<ul>\n<li>X\u00e1c minh r\u1eb1ng t\u00ednh n\u0103ng n\u00e0y \u0111\u00e3 b\u1ecb t\u1eaft b\u1eb1ng c\u00e1ch l\u00e0m theo h\u01b0\u1edbng d\u1eabn trong ph\u1ea7n X\u00e1c \u0111\u1ecbnh xem nhi\u1ec1u h\u00e0ng \u0111\u1ee3i c\u00f3 \u0111\u01b0\u1ee3c b\u1eadt hay kh\u00f4ng \u1edf tr\u00ean.<\/li>\n<\/ul>\n<p><strong>C\u00e0i \u0111\u1eb7t m\u1ea5t c\u00e2n b\u1eb1ng<\/strong><\/p>\n<p>M\u1eb7c d\u00f9 c\u00e1c ng\u1eaft m\u1ea1ng s\u1ebd \u0111\u01b0\u1ee3c c\u00e2n b\u1eb1ng tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c vCPU sau khi b\u1eadt NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i, nh\u01b0ng b\u1ea1n c\u0169ng c\u00f3 th\u1ec3 mu\u1ed1n c\u00e0i \u0111\u1eb7t ti\u1ec7n \u00edch m\u1ea5t c\u00e2n b\u1eb1ng n\u1ebfu \u0111\u00e3 quen s\u1eed d\u1ee5ng ti\u1ec7n \u00edch n\u00e0y ho\u1eb7c mu\u1ed1n c\u00f3 c\u00e1c t\u00f9y ch\u1ecdn c\u1ea5u h\u00ecnh b\u1ed5 sung. Ti\u1ec7n \u00edch b\u1ed5 sung n\u00e0y l\u00e0 kh\u00f4ng b\u1eaft bu\u1ed9c v\u00e0 trong kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c c\u1ee7a ch\u00fang t\u00f4i, ch\u00fang t\u00f4i kh\u00f4ng nh\u1eadn th\u1ea5y s\u1ef1 kh\u00e1c bi\u1ec7t v\u1ec1 hi\u1ec7u su\u1ea5t. \u0110\u1ec3 c\u00e0i \u0111\u1eb7t Irqbalance, h\u00e3y ch\u1ea1y c\u00e1c l\u1ec7nh sau tr\u00ean Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n c\u1ee7a b\u1ea1n:<\/p>\n<p><strong>Ubuntu v\u00e0 Debian:<\/strong><\/p>\n<pre class=\"wp-block-code\"><code>sudo apt-get update\nsudo apt-get install irqbalance\n<\/code><\/pre>\n<p><strong>Fedora, CentOS, v\u00e0o AlmaLinux and Rocky Linux:<\/strong><\/p>\n<pre class=\"wp-block-code\"><code>sudo yum install irqbalance<\/code><\/pre>\n<p>Ngu\u1ed3n: https:\/\/techdocs.akamai.com\/cloud-computing\/docs\/multi-queue-nics<\/p>\n","protected":false},"excerpt":{"rendered":"<p>NIC nhi\u1ec1u h\u00e0ng \u0111\u1ee3i (th\u1ebb giao di\u1ec7n m\u1ea1ng) \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 tr\u00ean t\u1ea5t c\u1ea3 c\u00e1c Phi\u00ean b\u1ea3n \u0111i\u1ec7n to\u00e1n c\u00f3 2 l\u00f5i CPU (vCPU) tr\u1edf l\u00ean. T\u00ednh n\u0103ng n\u00e0y cung c\u1ea5p nhi\u1ec1u h\u00e0ng \u0111\u1ee3i nh\u1eadn (RX) v\u00e0 truy\u1ec1n (TX), g\u00e1n ch\u00fang cho c\u00e1c ng\u1eaft m\u1ea1ng kh\u00e1c nhau v\u00e0 c\u00e2n b\u1eb1ng ch\u00fang tr\u00ean nhi\u1ec1u vCPU. Tr\u01b0\u1edbc<\/p>\n","protected":false},"author":1,"featured_media":35673,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[87],"tags":[],"class_list":["post-34911","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-networking-compute"],"_links":{"self":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/comments?post=34911"}],"version-history":[{"count":0,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/posts\/34911\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media\/35673"}],"wp:attachment":[{"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/media?parent=34911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/categories?post=34911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jupitek.maudemo.vip\/index.php\/wp-json\/wp\/v2\/tags?post=34911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}