{"id":1571,"date":"2023-10-07T05:44:03","date_gmt":"2023-10-07T03:44:03","guid":{"rendered":"https:\/\/kdslabs.fr\/?p=1571"},"modified":"2023-10-07T06:12:48","modified_gmt":"2023-10-07T04:12:48","slug":"guide-nsx-t-part-1-1-troubleshoot-poor-performance","status":"publish","type":"post","link":"https:\/\/kdslabs.fr\/index.php\/2023\/10\/07\/guide-nsx-t-part-1-1-troubleshoot-poor-performance\/","title":{"rendered":"[GUIDE] [NSX-T] [PART 1.1] Troubleshoot poor performance"},"content":{"rendered":"\n<h2 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:14px\"><strong>[GUIDE] [NSX-T] [PART 1.1] Troubleshoot poor performance<\/strong> <\/h2>\n\n\n<div class=\"wp-block-image wp-duotone-unset-1\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/pcisiglogo_678x452.png\" alt=\"\" class=\"wp-image-1583\" style=\"width:149px;height:88px\" width=\"149\" height=\"88\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/pcisiglogo_678x452.png 678w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/pcisiglogo_678x452-300x177.png 300w\" sizes=\"auto, (max-width: 149px) 100vw, 149px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Sur l\u2019article pr\u00e9c\u00e9dent vous avez pu voir que je rencontre actuellement un probl\u00e8me de bande passante sur une infrastructure VxRail de 2x25Gbit\/s * 3 hosts. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">C\u2019est pendant un lab (HOL-2409-21-SDC) pour tester les nouvelles features de vSphere 8 sur la partie vNUMA que j\u2019ai pu lire une bonne pratique \u00e0 laquelle on ne pense pas toujours, et qui peut \u00eatre responsable de d\u00e9gradation de performances si l\u2019uplink physique (ou la storage card dans le cas du lab) ne serait pas sur le bon PCie \u00ab&nbsp;lane&nbsp;\u00bb et ce, peu importe la g\u00e9n\u00e9ration de PCie que l\u2019on a dans son serveur. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Dans mon cas les serveurs VxRail sont pleinement compatible \u00ab&nbsp;VMware Hardware Compatibility List&nbsp;\u00bb donc le probl\u00e8me de performance ne peut pas venir de l\u00e0 mais voyons quand m\u00eame cette notion de bande passante sur des ports PCIe. <\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-close-up-of-a-blue-and-white-text-description-a.png\" alt=\"A close-up of a blue and white text\n\nDescription automatically generated\" class=\"wp-image-1572\" style=\"width:214px;height:410px\" width=\"214\" height=\"410\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-close-up-of-a-blue-and-white-text-description-a-157x300.png 157w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-close-up-of-a-blue-and-white-text-description-a-536x1024.png 536w\" sizes=\"auto, (max-width: 214px) 100vw, 214px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:14px\"><span style=\"text-decoration: underline;\">PCie Gen 4&nbsp;: GT\/s et encodage <\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Tr\u00e8s souvent, voire presque toujours lorsque nous parlons de ports PCie nous parlons de \u00ab\u00a0PCIe lanes\u00a0\u00bb qui en g\u00e9n\u00e9ral, sont soit \u00ab\u00a0x8\u00a0\u00bb soit\/ou du \u00ab\u00a0x16\u00a0\u00bb sur nos serveurs, mais les fiches techniques des constructeurs indiquent toujours du GT\/s plut\u00f4t que du Gbps qui serait bien plus facile \u00e0 comparer \u00e0 des specs de carte r\u00e9seau par exemple. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">N.B&nbsp;: le bus\/lane peut aussi se comparer \u00e0 la fr\u00e9quence, donc 16 GT\/s serait \u00e9gal \u00e0 16 Ghz.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Tout d\u2019abord la premi\u00e8re notion \u00e0 comprendre lorsque nous parlons de PCie est l\u2019encodage qu\u2019utilise la version PCie, et c\u2019est d\u2019ailleurs en partie cet encodage qui va nous permettre de trouver les valeurs que nous allons voir par la suite. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Il faut savoir que de la version 1.X \u00e0 la version 2.X l\u2019encodage \u00e9tait fait via du 8b\/10b (ou \u00ab&nbsp;Line Code&nbsp;\u00bb sur les docs VMware Telco), puis c\u2019est qu\u2019\u00e0 partir de la Gen3 jusqu\u2019\u00e0 la Gen5 que cet encodage va \u00e9voluer pour passer \u00e0 du 128b\/130b. (<a href=\"https:\/\/www.rambus.com\/blogs\/pcie-6\/\">Sur la Gen6 l\u2019encodage passe sur de la modulation\/encodage PAM4\/FLIT<\/a>). <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Concr\u00e8tement l\u2019encodage 128b\/130b permet d\u2019avoir un taux d\u2019overhead beaucoup moins \u00e9lev\u00e9 de l\u2019ordre de 1.54% (ou 98.46% d\u2019efficacit\u00e9) contre 20% sur les g\u00e9n\u00e9rations d\u2019encodage 8b\/10b, et c\u2019est d\u2019ailleurs pour \u00e7a que 3 g\u00e9n\u00e9rations de suites utilisaient ce type d\u2019encodage et l\u2019utilisent encore sur d\u2019autres technologies telle que l\u2019USB 3.1. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:14px\"><span style=\"text-decoration: underline;\">Fonctionnement de l\u2019encodage 128b\/130b <\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">L\u2019encodage 128b\/130b une notion purement de transmission\/modulation, mais nous pouvons le voir (de fa\u00e7on tr\u00e8s br\u00e8ve) comme un mappage \u00ab&nbsp;d\u2019encode&nbsp;\u00bb d\u2019un sens puis d\u2019un \u00ab&nbsp;decode&nbsp;\u00bb dans l\u2019autre sens. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">   <br>Le sch\u00e9ma ci-dessous explique tr\u00e8s bien ce concept m\u00eame s\u2019il est appliqu\u00e9 \u00e0 du 8b\/10b. <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/8b-10b-1024x714.png\" alt=\"\" class=\"wp-image-1576\" style=\"width:525px;height:366px\" width=\"525\" height=\"366\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/8b-10b-1024x714.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/8b-10b-300x209.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/8b-10b-768x535.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/8b-10b.png 1485w\" sizes=\"auto, (max-width: 525px) 100vw, 525px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\"><a href=\"https:\/\/www.researchgate.net\/figure\/8b-10b-symbol-coding-It-describes-the-8b-10b-encoding-and-decoding-process-for-the_fig6_321267404\">https:\/\/www.researchgate.net\/figure\/8b-10b-symbol-coding-It-describes-the-8b-10b-encoding-and-decoding-process-for-the_fig6_321267404<\/a><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\"><span style=\"text-decoration: underline;\">Calcul du GT\/s et de la bande passante&nbsp;: <\/span><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">L\u2019id\u00e9e de cet article est plut\u00f4t de comprendre la relation entre la bande passante d\u2019un port PCIe et d\u2019une carte r\u00e9seau qui y est connect\u00e9e. Pour cela il faut r\u00e9cup\u00e9rer les valeurs maximales en GT\/s (GigaTransfers) que peut prendre en charge chaque \u00ab\u00a0lane\u00a0\u00bb et chaque \u00ab\u00a0GenX\u00a0\u00bb <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">N.B&nbsp;: Evidemment le concept reste le m\u00eame si vous avez affaire \u00e0 une carte GPU dans le cas d\u2019une infrastructure VDI par exemple. <\/p>\n\n\n\n<figure class=\"wp-block-image is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-blue-and-black-rectangular-box-with-white-text.png\" alt=\"A blue and black rectangular box with white text\n\nDescription automatically generated\" class=\"wp-image-1574\" style=\"width:471px;height:58px\" width=\"471\" height=\"58\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-blue-and-black-rectangular-box-with-white-text.png 1048w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-blue-and-black-rectangular-box-with-white-text-300x37.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-blue-and-black-rectangular-box-with-white-text-1024x127.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/10\/a-blue-and-black-rectangular-box-with-white-text-768x95.png 768w\" sizes=\"auto, (max-width: 471px) 100vw, 471px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Dans l\u2019exemple si nous prenons le bus \u00abx16&nbsp;\u00bb de la version 3 PCie le calcul serait le suivant&nbsp;: <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">16 GT\/s * 2 (la transmission est en full duplex) * 16 lanes = 256 GT\/s que nous divisons par 8 bits pour obtenir 64 GB\/s. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">D\u2019ailleurs sans faire le calcul nous pouvons voir qu\u2019en Gen4 il suffit d\u2019un bus x8 pour obtenir le m\u00eame d\u00e9bit, et qu\u2019avec un bus x16 en Gen4 nous pouvons obtenir jusqu\u2019\u00e0 128GB\/s. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:14px\"><span style=\"text-decoration: underline;\">Conclusion&nbsp;:<\/span><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Dans mon cas il s\u2019agit de cartes Intel E810-XXV qui se connecte sur un port PCIe Gen4 x8 (d\u00e9bit maximum de 64GB\/s) donc il est clairement impossible que le port soit en lien avec ce probl\u00e8me de performance, il est m\u00eame d\u2019ailleurs th\u00e9oriquement possible de monter des \u00ab&nbsp;uplink&nbsp;\u00bb de 100Gb sans m\u00eame saturer un tant soit peu le port. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Mais il faut aussi comprendre qu\u2019avec l\u2019arriv\u00e9e de la Gen6 sur 2023-2024 nous serons capable de monter des NIC jusqu\u2019\u00e0 800GB\/s&nbsp;! <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Comment fonctionne un port PCIe, et comment calculer sa bande passante<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7],"tags":[23,30,21],"class_list":["post-1571","post","type-post","status-publish","format-standard","hentry","category-others","tag-guide","tag-nsx","tag-vmware"],"_links":{"self":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/posts\/1571","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/comments?post=1571"}],"version-history":[{"count":0,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/posts\/1571\/revisions"}],"wp:attachment":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/media?parent=1571"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/categories?post=1571"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/tags?post=1571"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}