{"id":1044,"date":"2015-06-15T13:20:26","date_gmt":"2015-06-15T17:20:26","guid":{"rendered":"http:\/\/www.hoplawego.com\/blog\/?p=1044"},"modified":"2015-06-15T22:06:40","modified_gmt":"2015-06-16T02:06:40","slug":"blufferbloat-kosse-ca","status":"publish","type":"post","link":"https:\/\/www.hoplawego.com\/blog\/blufferbloat-kosse-ca\/","title":{"rendered":"Bufferbloat: Koss\u00e9 ca??"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Quand on utilise les valeurs par d\u00e9faut des produits, on se bute quelques fois \u00e0 des limitations. Dans un gros environnement ou je travaille, nous sommes au prise avec du \u00ab&nbsp;bufferbloat&nbsp;\u00bb ou plus pr\u00e9cis\u00e9ment, des probl\u00e8mes de latences sporadiques dues aux mauvaises valeurs par d\u00e9faut.<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Stockage<br \/>\n<\/strong><\/p>\n<p>Si on regarde du cot\u00e9 du stockage, dans le cas qui nous int\u00e9rr\u00e8sse, du NetAPP, on voit une latence tr\u00e8s stable. Pas de gros pics ou de saturation.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa1.png\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p>Du cot\u00e9 des IO, la m\u00eame remarque peut \u00eatre faite et si on superposait la latence et les IOPS, les r\u00e9sultats suivraient les m\u00eames directions.<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa2.png\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p><strong>VMWARE<br \/>\n<\/strong><\/p>\n<p>Par contre, lorsqu&rsquo;on investigue sur une VM ou un host VMware, on voit des gros pics de performance, des lenteurs soudaines et soutenues, bref, rien n&rsquo;est stable.<\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa3.png\" alt=\"\"><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa4.png\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p><strong>Que se passe-t-il donc alors?<br \/>\n<\/strong><\/p>\n<p>Le bufferbloat est un probleme qui arrive lorsqu&rsquo;on \u00e0 assign\u00e9 trop de cache \u00e0 un endroit ou un autre d&rsquo;un r\u00e9seau switch\u00e9. Ca pourrait etre du r\u00e9seau SAN, du IP, du 3G, etc.<\/p>\n<p>Voici une explication sommaire du probl\u00e8me&nbsp;: Nous prenons un cas ou il y&rsquo;a un serveur ESX, un HBA 8Go, un Service Processor de stockage et un LUN.<\/p>\n<p>Les valeurs qui nous interressent sont celles du queue length ou d&rsquo;autres fois le \u00ab&nbsp;Execution Throttle&nbsp;\u00bb.<\/p>\n<p>Dans notre exemple les valeurs sont les suivantes&nbsp;:<\/p>\n<p>ESX&nbsp;: 64<\/p>\n<p>HBA&nbsp;: 65535<\/p>\n<p>SP&nbsp;: 64<\/p>\n<p>LUN&nbsp;: 64<\/p>\n<p>&nbsp;<\/p>\n<p>Tout ira bien dans un environnement normal mais d\u00e8s qu&rsquo;on tombe dans du gros load, les problemes arriveront.<\/p>\n<p>&nbsp;<\/p>\n<p>Le HBA va remplir tranquillement sa cache avec 65535 commandes. Une fois que ca va arriver, le ESX, lui, va continuer a envoyer des demandes parce qu&rsquo;il est 65471 commandes en retard.. Pour lui, il y a un bon moment que les 65471 autres commandes ont \u00e9t\u00e9 lanc\u00e9es\u2026 Alors, l\u00e0, il sera ralenti, la la tence de toutes la chaine va se d\u00e9teriorer\u2026 ON est en probleme\u2026<\/p>\n<p>&nbsp;<\/p>\n<p>Le bufferbloat a un pattern distinctif, le voici&nbsp;:<\/p>\n<p>Source&nbsp;: <a href=\"http:\/\/blog.malayter.com\/2012\/02\/bufferbloat-on-3g-network.html\">http:\/\/blog.malayter.com\/2012\/02\/bufferbloat-on-3g-network.html<\/a><\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa5.png\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.hoplawego.com\/blog\/wp-content\/uploads\/2015\/06\/061515_1720_Blufferbloa6.png\" alt=\"\"><\/p>\n<p>&nbsp;<\/p>\n<p><strong>On fait quoi alors?<br \/>\n<\/strong><\/p>\n<p>N&rsquo;utilisons plus les valeurs par d\u00e9faut.<\/p>\n<p>Dans VMWare, il faut valider qu&rsquo;on est bien a 64.<\/p>\n<p>Dans les HBA des serveurs ESX, il faut aller forcer le Execution Throttle \u00e0 64 commandes\u2026<\/p>\n<p>Tout red\u00e9marrer et le probl\u00e8me devrait disparaitre. Au moins, s&rsquo;il y&rsquo;a de la latence ensuite, ca sera dans le moment pr\u00e9sent.&nbsp;\ud83d\ude42<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Quand on utilise les valeurs par d\u00e9faut des produits, on se bute quelques fois \u00e0 des limitations. Dans un gros environnement ou je travaille, nous sommes au prise avec du \u00ab&nbsp;bufferbloat&nbsp;\u00bb ou plus pr\u00e9cis\u00e9ment, des probl\u00e8mes de latences sporadiques dues aux mauvaises valeurs par d\u00e9faut. &nbsp; Stockage Si on regarde du cot\u00e9 du stockage, &hellip; <\/p>\n","protected":false},"author":1,"featured_media":1062,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33,2,3,5,8],"tags":[],"class_list":["post-1044","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-stockage","category-t-i","category-vcap","category-vcdx","category-vmware","grid-sizer"],"_links":{"self":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1044","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/comments?post=1044"}],"version-history":[{"count":5,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1044\/revisions"}],"predecessor-version":[{"id":1067,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/posts\/1044\/revisions\/1067"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media\/1062"}],"wp:attachment":[{"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/media?parent=1044"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/categories?post=1044"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hoplawego.com\/blog\/wp-json\/wp\/v2\/tags?post=1044"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}