{"id":932,"date":"2023-04-23T19:51:29","date_gmt":"2023-04-23T17:51:29","guid":{"rendered":"https:\/\/kdslabs.fr\/?p=932"},"modified":"2023-04-23T20:34:24","modified_gmt":"2023-04-23T18:34:24","slug":"article-comment-optimiser-ses-workloads-vnuma-sur-vsphere-7-0-u3","status":"publish","type":"post","link":"https:\/\/kdslabs.fr\/index.php\/2023\/04\/23\/article-comment-optimiser-ses-workloads-vnuma-sur-vsphere-7-0-u3\/","title":{"rendered":"[GUIDE] Comment optimiser ses workloads vNUMA sur vSphere 7.0 U3"},"content":{"rendered":"\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color has-medium-font-size\"><u>[GUIDE] Comment optimiser ses workloads vNUMA sur vSphere 7.0 U3<\/u><\/h4>\n\n\n\n<p class=\"has-colibri-color-6-color has-text-color wp-block-paragraph\" style=\"font-size:14px\"><strong>Cet article a \u00e9t\u00e9 r\u00e9dig\u00e9 pour Metanext vous pouvez le retrouver, ainsi que d&#8217;autres articles techniques sur <a rel=\"noreferrer noopener\" href=\"https:\/\/www.metanext.com\/blog\/\" target=\"_blank\">Blog &#8211; Metanext<\/a><\/strong> <\/p>\n\n\n\n<p class=\"has-small-font-size wp-block-paragraph\"><em><span style=\"color: #000000;\">Chapitre 1: Introduction<\/span><br><span style=\"color: #000000;\">Chapitre 2: Qu&#8217;est-ce que le vNUMA, et comment une VM se comporte&nbsp;face \u00e0 cette topologie ?<\/span><br><span style=\"color: #000000;\">Chapitre 3: Comportement des OS face \u00e0 vNUMA<\/span><br><span style=\"color: #000000;\">Chapitre 4&nbsp;: benchmark des VMs avec modification du vCPU et de la valeur Core per Socket (CPS).<\/span><br><span style=\"color: #000000;\">Sp\u00e9cification d\u2019une VM 16 vCPU \/ 128Go RAM.<\/span><br><span style=\"color: #000000;\">Bonus&nbsp;: Qu\u2019est-ce que le param\u00e8tre \u00ab&nbsp;PreferHT&nbsp;\u00bb et comment interf\u00e8re-t-il sur les performances&nbsp;?<\/span><\/em><br><em>Conclusion<\/em><\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Chapitre 1: Introduction<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Vaste sujet deep dive de nombreux passionn\u00e9s VMware qu&#8217;est le vNUMA. Il a longtemps \u00e9t\u00e9 un sujet complexe pour de nombreux architectes VMware mais aujourd&#8217;hui avec les optimisations effectu\u00e9es par la R&amp;D VMware il est plus simple et moins contraignant de g\u00e9rer le vNUMA, et ce depuis la version vSphere 6.7 (sans compter vSphere 8 qui a totalement aboli le fameux &#8220;Cores per socket&#8221; et qui l&#8217;a remplac\u00e9 par \u00ab&nbsp;assigned at power on&nbsp;\u00bb.) <br>A ce sujet un post complet pourrait lui \u00eatre d\u00e9di\u00e9. <br><br>Dans le billet d&#8217;aujourd&#8217;hui nous allons donc d\u00e9montrer ces optimisations sur la version vSphere 7.0 U3 \u00e0 travers vCloud Director qui, d&#8217;ailleurs lui aussi apporte son lot d&#8217;optimisations vCPU pour g\u00e9rer au mieux son capacity planning avec la notion de \u00ab&nbsp;vCPU Speed.&nbsp;\u00bb <br><br>Ce billet sera d\u00e9compos\u00e9 en deux parties. <br>La premi\u00e8re partie sera consacr\u00e9e \u00e0 vNUMA et sa topologie au sein des VMs, et la seconde partie sera quant \u00e0 elle consacr\u00e9e \u00e0 vCloud Director et ses optimisations\/sp\u00e9cificit\u00e9s. <\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Chapitre 2: Qu&#8217;est-ce que le vNUMA, et comment une VM se comporte&nbsp;face \u00e0 cette topologie ?<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Le vNuma est une topologie qui est connue depuis un bon nombre d\u2019ann\u00e9e, et c\u2019est d\u2019ailleurs parce que \u00e7a \u00e9t\u00e9 un \u00ab&nbsp;casse-t\u00eate&nbsp;\u00bb pour les architectes VMware qui devait optimiser au mieux leurs workloads que cette topologie est connue.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Rentrons maintenant dans le vif du sujet, un \u00ab&nbsp;Numa Node&nbsp;\u00bb est l\u2019association d\u2019un processeur physique et de ses slots m\u00e9moire au sein d\u2019une carte-m\u00e8re.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Un exemple concret&nbsp;d\u2019un n\u0153ud VxRail V670F : <br>&#8211; Intel(R) Xeon(R) Gold 6354 CPU @ 3.00GHz (2x CPU physique) <br>&#8211; Cores per socket : 18 <br>&#8211; Logical Processors: 72 <br>&#8211; Hyperthreading enabled <br>&#8211; RAM: 1024Go (\u00e0 diviser par deux, 512Go par socket)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Il faut comprendre que chaque \u00ab&nbsp;Numa Node&nbsp;\u00bb est en r\u00e9alit\u00e9 compos\u00e9 d\u2019un CPU physique Intel Gold 6354 de 18 \u00ab&nbsp;Cores per socket&nbsp;\u00bb et de 512Go pour un total de \u00ab&nbsp;2 Numa Node&nbsp;\u00bb sur la carte-m\u00e8re. Nous avons donc 36 Cores per socket&nbsp;et 1024Go RAM. <br>((18 Cores per socket * 2 CPU physiques) + (512Go RAM * 2)).<\/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\/04\/word-image-932-1.jpeg\" alt=\"\" class=\"wp-image-933\" width=\"314\" height=\"276\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-1.jpeg 694w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-1-300x264.jpeg 300w\" sizes=\"auto, (max-width: 314px) 100vw, 314px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:12px\"><em>Repr\u00e9sentation logique de vNUMA au sein d\u2019une carte m\u00e8re<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Avec cet exemple nous pouvons d\u2019ores et d\u00e9j\u00e0 d\u00e9terminer plusieurs limitations, et ce sans m\u00eame rentrer dans les d\u00e9tails si une VM venaient \u00e0 avoir 32 vCPU et 768Go de RAM (elle serait r\u00e9partie physiquement sur les 2 sockets pour la partie CPU et RAM). <br><br>Parmi les limitations nous pouvons citer le <em>QuickPath Interconnect<\/em> qui est devenu le <em>Ultra Path Interconnect<\/em> avec la g\u00e9n\u00e9ration <em>Skylake<\/em> (passage \u00e0 10.4 GT\/s sur les liaisons point-\u00e0-point entre les 2 processeurs), la latence m\u00e9moire entre les 2 processeurs, et le mauvais mappage des Numa Node qui est propre au monde de la virtualisation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Petite apart\u00e9&nbsp;pour les expert VMware&nbsp;: <br>Nous sommes totalement d\u2019accord pour dire que dans ce cas-l\u00e0 il n\u2019y a presque aucun int\u00e9r\u00eat, mais attention je dis bien \u00ab&nbsp;presque&nbsp;\u00bb parce qu\u2019il y aura toujours des avantages \u00e0 faire de la virtualisation avec des workloads qui pourraient prendre 80% de RAM et qui pourraient prendre toute la charge CPU plut\u00f4t que du baremetal, ne serait-ce que pour la partie \u00ab&nbsp;reserved CPU\/Memory&nbsp;\u00bb pour le HA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Alors oui les chiffres sont d\u00e9mesur\u00e9s mais c\u2019est pour l\u2019exemple afin d\u2019apercevoir les limitations c\u00f4t\u00e9 ESXi (limitation, qui je le rappelle ont \u00e9t\u00e9 grandement optimis\u00e9e aujourd\u2019hui).<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Chapitre 3: Comportement des OS face \u00e0 vNUMA<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Tout d&#8217;abord notons une chose assez importante qui va vous \u00eatre utile pour comprendre la suite de ce chapitre. <br>Par d\u00e9faut <a href=\"https:\/\/kb.vmware.com\/s\/article\/2040375\">la topologie vNUMA est pr\u00e9sent\u00e9e \u00e0 l&#8217;OS \u00e0 partir de 8 vCPU seulement<\/a> <br>Les commandes de bases permettant de v\u00e9rifier la topologie vNUMA sont&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">Linux&nbsp;: \u00ab&nbsp;lscpu&nbsp;\u00bb pour Linux<\/li>\n\n\n\n<li style=\"font-size:14px\">ESXi&nbsp;: \u00ab&nbsp;sched-stats -t numa-clients&nbsp;\u00bb et \u00ab&nbsp;vmdumper&nbsp;\u00bb pour l\u2019ESXi\n<ul class=\"wp-block-list\">\n<li>Voire \u00ab&nbsp;esxtop&nbsp;\u00bb en mode \u00ab&nbsp;m&nbsp;\u00bb + les param\u00e8tres vNUMA<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"font-size:14px\">Windows \u00e0 plusieurs choix possibles.\n<ul class=\"wp-block-list\">\n<li>Soit utiliser des outils tiers tel que coreinfo, CPU-Z,..<\/li>\n\n\n\n<li>Soit utiliser la partie \u00ab&nbsp;Task Manager&nbsp;\u00bb int\u00e9gr\u00e9 \u00e0 Windows via&nbsp;\u00ab&nbsp;taskmgr&nbsp;\u00bb puis \u00ab&nbsp;performance&nbsp;\u00bb <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Linux&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2137\" height=\"1097\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4.png\" alt=\"Text\n\nDescription automatically generated\" class=\"wp-image-934\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4.png 2137w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4-300x154.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4-1024x526.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4-768x394.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4-1536x788.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-4-2048x1051.png 2048w\" sizes=\"auto, (max-width: 2137px) 100vw, 2137px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">ESXi&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"380\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-1024x380.png\" alt=\"\" class=\"wp-image-982\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-1024x380.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-300x111.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-768x285.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-1536x571.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture1-2-2048x761.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"alignleft size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"101\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-1024x101.png\" alt=\"\" class=\"wp-image-984\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-1024x101.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-300x30.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-768x76.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-1536x152.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture2-2048x203.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n<\/div>\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Windows&nbsp;:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Ici nous pouvons voir qu\u2019une VM sous Windows comprend qu\u2019elle a 1 socket avec 32 vCPU. <br><img loading=\"lazy\" decoding=\"async\" width=\"595\" height=\"474\" class=\"wp-image-937\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/table-description-automatically-generated-5.png\" alt=\"Table\n\nDescription automatically generated\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/table-description-automatically-generated-5.png 595w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/table-description-automatically-generated-5-300x239.png 300w\" sizes=\"auto, (max-width: 595px) 100vw, 595px\" \/><\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Coreinfo: <\/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\/04\/text-description-automatically-generated-5.png\" alt=\"Text\n\nDescription automatically generated\" class=\"wp-image-938\" width=\"277\" height=\"384\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-5.png 842w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-5-217x300.png 217w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-5-740x1024.png 740w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-5-768x1063.png 768w\" sizes=\"auto, (max-width: 277px) 100vw, 277px\" \/><figcaption class=\"wp-element-caption\">Repr\u00e9sentation logique des c\u0153urs sous \u00ab&nbsp;Coreinfo&nbsp;\u00bb<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Pour rappel depuis la version vSphere 6.7 le comportement des VMs face \u00e0 la topologie vNUMA a totalement \u00e9t\u00e9 am\u00e9lior\u00e9e, et aujourd\u2019hui le param\u00e8tre \u00ab&nbsp;Cores per Socket&nbsp;\u00bb n\u2019a plus aucune influence sur la pr\u00e9sentation de Numa sur la VM. C\u2019est d\u2019ailleurs ce que nous allons d\u00e9montrer ci-dessous et sur le prochain chapitre consacr\u00e9 aux perfs VMs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">VM ayant une configuration de \u00ab&nbsp;16 vCPU&nbsp;\u00bb \/ \u00ab&nbsp;2 Cores per Socket&nbsp;\u00bb et \u00ab&nbsp;128Go RAM&nbsp;\u00bb aura sa repr\u00e9sentation vNuma telle que pr\u00e9sent\u00e9e :<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"2160\" height=\"528\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6.png\" alt=\"Text\n\nDescription automatically generated\" class=\"wp-image-939\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6.png 2160w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6-300x73.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6-1024x250.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6-768x188.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6-1536x375.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/text-description-automatically-generated-6-2048x501.png 2048w\" sizes=\"auto, (max-width: 2160px) 100vw, 2160px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"85\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-1024x85.png\" alt=\"\" class=\"wp-image-986\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-1024x85.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-300x25.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-768x63.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-1536x127.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture3-1-2048x169.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Les informations importantes la commande \u00ab&nbsp;sched-stats -t numa-clients&nbsp;\u00bb sont&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">groupName<\/li>\n\n\n\n<li style=\"font-size:14px\">homeNode<\/li>\n\n\n\n<li style=\"font-size:14px\">nWorlds<\/li>\n\n\n\n<li style=\"font-size:14px\">vmWorlds<\/li>\n\n\n\n<li style=\"font-size:14px\">localMem<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Nous avons donc une VM qui tourne sur le \u00ab&nbsp;Numa Node 1&nbsp;\u00bb avec 16 vCPU, si le vCPU ou la RAM d\u00e9passerait la valeur physique de l\u2019ESXi il y aurait une seconde ligne avec le m\u00eame groupName mais voyons cela de plus pr\u00e8s avec, cette fois-ci, une VM qui d\u00e9passe tr\u00e8s largement le sizing CPU &amp; RAM que peut g\u00e9rer un processeur physique.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Une VM ayant une configuration de \u00ab&nbsp;32 vCPU&nbsp;\u00bb \/ \u00ab&nbsp;32 Cores per Socket&nbsp;\u00bb et \u00ab&nbsp;768Go RAM&nbsp;\u00bb aura sa repr\u00e9sentation vNuma telle que pr\u00e9sent\u00e9e :<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"394\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-1024x394.png\" alt=\"\" class=\"wp-image-989\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-1024x394.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-300x115.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-768x295.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-1536x591.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture5-1-2048x788.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"70\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-1024x70.png\" alt=\"\" class=\"wp-image-991\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-1024x70.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-300x20.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-768x52.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-1536x104.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture4-2-2048x139.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Ici nous voyons bien les deux groupName identiques ce qui veut dire que la VM est distribu\u00e9e sur les 2 Numa Node de la carte-m\u00e8re. C\u2019est ce qu\u2019on appelle une \u00ab&nbsp;Wide VM&nbsp;\u00bb dans une topologie vNUMA.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Une VM peut \u00eatre \u00ab&nbsp;Wide\u00bb pour principalement 2 raisons, c\u2019est soit parce qu\u2019elle d\u00e9passe la configuration physique CPU soit parce qu\u2019elle d\u00e9passe la configuration physique de la RAM.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Pour rappel notre infrastructure de test est compos\u00e9e de deux socket de 18 CPU et 512Go de RAM chacune. En chiffre, une VM peut donc \u00eatre configur\u00e9e avec maximum 18 vCPU et 512Go, dans le cas contraire elle sera forc\u00e9ment consid\u00e9r\u00e9e comme \u00ab&nbsp;Wide VM&nbsp;\u00bb.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Mais est-ce qu\u2019une Wide VM est moins performante qu\u2019une VM \u00ab&nbsp;non Wide&nbsp;\u00bb&nbsp;? Il est temps de passer au chapitre suivant pour le savoir.<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Chapitre 4&nbsp;: benchmark des VMs avec modification du vCPU et de la valeur Core per Socket (CPS)<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Au chapitre pr\u00e9c\u00e9dent nous avons vu comment v\u00e9rifier la topologie sur les clients, nous pouvons donc passer aux tests : <br>les modifications vCPU et les benchmarks <br>Les sp\u00e9cifications des benchmarks&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">L\u2019ensemble de ces tests ont \u00e9t\u00e9 effectu\u00e9s sur un ESXi d\u00e9di\u00e9 d\u2019un cluster de 3 n\u0153uds VxRail en version 7.0.400<\/li>\n\n\n\n<li style=\"font-size:14px\">Aucune autre VM mis \u00e0 part le vCLS ne tournait<\/li>\n\n\n\n<li style=\"font-size:14px\">L\u2019hyperthreading a \u00e9t\u00e9 activ\u00e9\n<ul class=\"wp-block-list\">\n<li>Nous ne sommes pas dans une configuration SCAv1 ni SCAv2\n<ul class=\"wp-block-list\">\n<li>VMkernel.Boot.hyperthreadingMitigation =&gt; false<\/li>\n\n\n\n<li>VMkernel.Boot.hyperthreadingMitigationIntraVM =&gt; true<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li style=\"font-size:14px\">L\u2019EVC d\u00e9sactiv\u00e9<\/li>\n\n\n\n<li style=\"font-size:14px\">Le \u00ab&nbsp;Performance Mode&nbsp;\u00bb de l\u2019ESXi est en High Performance<\/li>\n\n\n\n<li style=\"font-size:14px\">Le \u00ab&nbsp;CPU Hot Add&nbsp;\u00bb et le \u00ab&nbsp;Memory Hot Add&nbsp;\u00bb ont bien \u00e9t\u00e9 d\u00e9sactiv\u00e9s<\/li>\n\n\n\n<li style=\"font-size:14px\">La VM \u00e9tait une Windows 21H2 (OS Build 20348.707)\n<ul class=\"wp-block-list\">\n<li>AIDA 64 Extreme v6.85.6300<\/li>\n\n\n\n<li>Passmark PerformanceTest 10.2<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\"><a id=\"post-932-_Toc133085402\"><\/a>Globalement nous pouvons nous apercevoir que les scores sont plus ou moins identiques, en tout cas il n\u2019y a pas d\u2019\u00e9cart consid\u00e9rable entre les 3 configurations, mais Il est \u00e0 noter tout de m\u00eame que le \u00ab&nbsp;CPU Scheduler&nbsp;\u00bb g\u00e8re mieux la majorit\u00e9 des uses case lorsque la VM est align\u00e9e sur la configuration physique (16 vCPU \/ 1 CPS).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"691\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-1024x691.png\" alt=\"\" class=\"wp-image-998\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-1024x691.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-300x202.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-768x518.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-1536x1036.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture6-3-2048x1382.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Sp\u00e9cification d\u2019une VM 16 vCPU \/ 128Go RAM.<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Sur les benchmarks pr\u00e9c\u00e9dents, une VM ayant 16 vCPU et 128Go de RAM est une VM dite \u00ab&nbsp;non Wide&nbsp;\u00bb, et qui tourne sur le \u00ab&nbsp;Numa Node 0&nbsp;\u00bb car elle a 16 vCPU contre 18 CPU physique et 128Go de RAM alors que le Numa Node 0 en compte 512.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Sur les premiers chiffres qui sortent on peut voir que les scores global CPU de Passmark sont plus ou moins identiques (les variations sont tr\u00e8s certainement dues aux charges au sein de l\u2019ESXi \u00e0 l\u2019instant t)&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">14039 pour la 16 vCPU \/ 1 CPS<\/li>\n\n\n\n<li style=\"font-size:14px\">13410 pour la 16 vCPU \/ 2 CPS<\/li>\n\n\n\n<li style=\"font-size:14px\">13708 pour la 16 vCPU \/ 16 CPS<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Et concernant le score global RAM nous somme sur du&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">2757 pour la 16 vCPU \/ 1 CPS<\/li>\n\n\n\n<li style=\"font-size:14px\">2704 pour la 16 vCPU \/ 2 CPS<\/li>\n\n\n\n<li style=\"font-size:14px\">2694 pour la 16 vCPU \/ 16 CPS<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Nous pouvons donc en conclure que la topologie vNUMA n\u2019a vraiment plus aucun impact \u00e0 l\u2019heure o\u00f9 nous utilisons majoritairement du vSphere 7.0 \u00e0 minima (oui oui j\u2019esp\u00e8re que c\u2019est bien le cas&nbsp;\ud83d\ude0aet surtout parce que le EoGS de vSphere 6.7 \u00e9tait au 15 octobre 2022). Le vNUMA n\u2019est donc aujourd\u2019hui qu\u2019une question de licence par socket au sein des VMs et non de performance pure, il y a d\u2019ailleurs beaucoup de clients qui consomme des services au sein de cloud provider (ou On-Premises) qui peuvent faire des \u00e9conomies de licences en jouant encore sur ce param\u00e8tre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">A ce sujet, il y aura un second billet d\u00e9di\u00e9 \u00e0 l\u2019optimisation d\u2019une infrastructure full stack VMware (VCF, vSAN,NSX-T,\u2026) au sein d\u2019un Cloud Provider qui utilise vCloud Director. <\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Bonus&nbsp;: Qu\u2019est-ce que le param\u00e8tre \u00ab&nbsp;PreferHT&nbsp;\u00bb et comment interf\u00e8re-t-il sur les performances&nbsp;?<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">En r\u00e9digeant ce billet je suis tomb\u00e9 sur un \u00ab&nbsp;Advanced parameter c\u00f4t\u00e9 VM <a href=\"https:\/\/kb.vmware.com\/s\/article\/2003582\">qui date de plusieurs ann\u00e9es<\/a> mais qui est encore d\u2019actualit\u00e9&nbsp;: le \u00ab&nbsp;PreferHT&nbsp;\u00bb. <br>J\u2019ai donc d\u00e9cid\u00e9 de v\u00e9rifier son impact sur les workloads de diff\u00e9rentes fa\u00e7ons&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li style=\"font-size:14px\">Ceux qui sont consid\u00e9r\u00e9 \u00ab&nbsp;Non Wide&nbsp;\u00bb<\/li>\n\n\n\n<li style=\"font-size:14px\">Ceux qui sont consid\u00e9r\u00e9 \u00ab&nbsp;Wide VM&nbsp;\u00bb\n<ul class=\"wp-block-list\">\n<li>D\u00e9passement par le vCPU<\/li>\n\n\n\n<li>D\u00e9passement par la RAM <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Qu\u2019est-ce que le PreferHT&nbsp;? D\u2019apr\u00e8s VMware sur <a href=\"https:\/\/blogs.vmware.com\/vsphere\/2014\/03\/perferht-use-2.html\">un blog de 2014<\/a> il ne s\u2019agit pas d\u2019exposer les c\u0153urs logiques aux VMs comme l\u2019on pourrait le penser mais plut\u00f4t de profiter du cache L3 du processeur tout en \u00e9tant sur un m\u00eame Numa Node. Techniquement ce param\u00e8tre va prendre le dessus sur l\u2019automatisation du Scheduler vNUMA en bypassant la r\u00e9partition sur les Numa Node.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">En soit il n\u2019y a pas vraiment de documentation officielle sur le sujet, mais les use cases associ\u00e9s \u00e0 ce type de configuration serait li\u00e9e aux VMs ayant plus de RAM configur\u00e9e que de vCPU, ce qui forcera le Scheduler \u00e0 prendre un maximum de RAM au sein d\u2019un seul n\u0153ud NUMA, et ainsi \u00e9viter l\u2019inter-link entre les deux sockets (QPI \/ UPI) qui pourrait engendrer de la latence par exemple.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Exemple concret, si une VM \u00e0 768Go de RAM sur notre infrastructure d\u2019exemple elle sera r\u00e9partie \u00e9quitablement de 384Go sur le Numa Node 0 et 384Go sur le Numa Node 1, seulement si elle n\u2019a pas de \u00ab&nbsp;PreferHT&nbsp;\u00bb dans ses Advanced Parameters.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"3140\" height=\"305\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24.png\" alt=\"\" class=\"wp-image-956\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24.png 3140w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24-300x29.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24-1024x99.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24-768x75.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24-1536x149.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-24-2048x199.png 2048w\" sizes=\"auto, (max-width: 3140px) 100vw, 3140px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">NHN&nbsp;: 0\/1 (HomeNuma 0 &amp; HomeNuma 1) <br>GST_ND0&nbsp;: 394192 Mo <br>GST_ND1: 392192 Mo <br>Le Scheduler a donc bien fait le travail en divisant \u00e9quitablement la RAM en 2 (384Go par Numa Node).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Si nous prenons une VM qui cette fois-ci est configur\u00e9e avec le param\u00e8tre PreferHT elle ne sera plus r\u00e9partie \u00e9quitablement mais elle sera plac\u00e9e de mani\u00e8re \u00e0 prendre le maximum de ressource sur le NumaNode 0 tel que&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"599\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-25.png\" alt=\"\" class=\"wp-image-957\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-25.png 1376w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-25-300x131.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-25-1024x446.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-25-768x334.png 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"3147\" height=\"295\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26.png\" alt=\"\" class=\"wp-image-958\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26.png 3147w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26-300x28.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26-1024x96.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26-768x72.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26-1536x144.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/word-image-932-26-2048x192.png 2048w\" sizes=\"auto, (max-width: 3147px) 100vw, 3147px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Nous avons donc NHN 1 avec ~260Go et 0Go sur le NHN 0 mais il y a un point int\u00e9ressant sur cette r\u00e9partition NHN. <br>Tant qu\u2019un processus RAM ne va pas consommer au-del\u00e0 du NumaNode 0 la VM restera sur ce NumaNode, mais d\u00e8s qu\u2019un processus d\u00e9passe le seuil de ~260Go (exemple un test OCCT) elle basculera en NHN 0\/1 mais toujours en privil\u00e9giant le maximum de RAM sur le NHN 1. Autre fait int\u00e9ressant c\u2019est que la VM sera toujours indiqu\u00e9e en NHN 0\/1 m\u00eame apr\u00e8s l\u2019arr\u00eat du processus et que la seule action qui la refait basculer sur le NHN 1 est un \u00ab&nbsp;PowerOff&nbsp;\u00bb (un reboot n\u2019a aucun effet sur le Numa dans ce contexte).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Threads c\u00f4t\u00e9 Windows&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1905\" height=\"285\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2.png\" alt=\"Graphical user interface, application\n\nDescription automatically generated\" class=\"wp-image-959\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2.png 1905w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2-300x45.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2-1024x153.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2-768x115.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/graphical-user-interface-application-description-2-1536x230.png 1536w\" sizes=\"auto, (max-width: 1905px) 100vw, 1905px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Apr\u00e8s charge OCCT&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"99\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-1024x99.png\" alt=\"\" class=\"wp-image-999\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-1024x99.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-300x29.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-768x74.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-1536x148.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture7-2-2048x198.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Nous voyons ici qu\u2019apr\u00e8s la charge OCCT la VM bascule bien en NHN 0\/1 avec 468Go sur le NHN1 qui est son NumaNode pr\u00e9f\u00e9r\u00e9 et 263Go sur NHN 0, passons maintenant aux performances.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"314\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-1024x314.png\" alt=\"\" class=\"wp-image-1001\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-1024x314.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-300x92.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-768x236.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-1536x471.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture8-1-2048x629.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Sans surprise le param\u00e8tre PreferHT n\u2019est pas du tout avantageux pour les workload c\u00f4t\u00e9 RAM parce que nous avons jusqu\u2019\u00e0 12,31% de perte sur les Database Operations,<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"231\" src=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-1024x231.png\" alt=\"\" class=\"wp-image-1002\" srcset=\"https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-1024x231.png 1024w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-300x68.png 300w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-768x173.png 768w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-1536x346.png 1536w, https:\/\/kdslabs.fr\/wp-content\/uploads\/2023\/04\/Picture9-1-2048x462.png 2048w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">C\u00f4t\u00e9 CPU, c\u2019est une toute autre histoire et nous voyons tr\u00e8s clairement l\u2019avantage du PreferHT avec jusqu\u2019\u00e0 99,67% de gain&nbsp;!<\/p>\n\n\n\n<h4 class=\"wp-block-heading has-colibri-color-1-color has-text-color\" style=\"font-size:17px\"><u>Conclusion:<\/u><\/h4>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"font-size:14px\">Mes tests se sont tous d\u00e9roul\u00e9s sur un ESXi d\u2019un cluster de 3 n\u0153uds mais qui ne contiennent aucun workload autre que ma seule VM de test. Il y a un gain de performance non n\u00e9gligeable en activant ce param\u00e8tre, mais sur un cluster constitu\u00e9 de heavy et light workload les gains devraient \u00eatre d\u2019approximativement ~20% en moyenne et non 40,69% comme ci-dessus.<\/p>\n\n\n\n<p class=\"has-colibri-color-6-color has-text-color wp-block-paragraph\" style=\"font-size:14px\">En r\u00e9sum\u00e9 le conseil que j\u2019ai \u00e0 vous donner&nbsp;:<strong> testez avant d\u2019activer. <\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>vNUMA dans un contexte vSphere 7.0 U3<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,15,18],"tags":[25,21],"class_list":["post-932","post","type-post","status-publish","format-standard","hentry","category-7-0","category-vmware","category-vsphere-7-0","tag-article","tag-vmware"],"_links":{"self":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/posts\/932","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=932"}],"version-history":[{"count":0,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/posts\/932\/revisions"}],"wp:attachment":[{"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/media?parent=932"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/categories?post=932"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kdslabs.fr\/index.php\/wp-json\/wp\/v2\/tags?post=932"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}