{"id":34366,"date":"2019-10-31T21:57:56","date_gmt":"2019-10-31T18:57:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd\/"},"modified":"2019-10-31T21:57:56","modified_gmt":"2019-10-31T18:57:56","slug":"benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","title":{"rendered":"Zestawienie zu\u017cycia CPU dla Istio i Linkerd","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/d176b132a69c09195803a1398df64637.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"vvedenie\">Wprowadzenie<\/h2>\n<p><\/p>\n<p>My w <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shopify.ca\/\">Shopify<\/a><\/noindex> rozpocz\u0119li\u015bmy wdra\u017canie Istio jako service mesh. Generalnie wszystko nam odpowiada, z wyj\u0105tkiem jednej rzeczy: <strong>to kosztuje du\u017co<\/strong>.<\/p>\n<p><\/p>\n<p>W <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/docs\/concepts\/performance-and-scalability\/#cpu-and-memory\">publikowanych benchmarkach<\/a><\/noindex> dla Istio m\u00f3wi si\u0119:<\/p>\n<p><\/p>\n<blockquote><p>Z Istio 1.1 proxy zu\u017cywa oko\u0142o 0,6 vCPU (wirtualnych rdzeni) na 1000 \u017c\u0105da\u0144 na sekund\u0119.<\/p><\/blockquote>\n<p>Dla pierwszego regionu w service mesh (po 2 proxy z ka\u017cdej strony po\u0142\u0105czenia) b\u0119dziemy potrzebowa\u0107 1200 rdzeni tylko dla proxy, zak\u0142adaj\u0105c jeden milion \u017c\u0105da\u0144 na sekund\u0119. Zgodnie z kalkulatorem koszt\u00f3w od Google wychodzi oko\u0142o 40$\/miesi\u0105c\/rdze\u0144 dla konfiguracji <code>n1-standard-64<\/code>, co oznacza, \u017ce ten region b\u0119dzie nas kosztowa\u0107 ponad 50 tys. dolar\u00f3w miesi\u0119cznie za 1 milion \u017c\u0105da\u0144 na sekund\u0119.<\/p>\n<p><\/p>\n<p>Ivan Sim (<noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@ihcsim\">Ivan Sim<\/a><\/noindex>) <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@ihcsim\/linkerd-2-0-and-istio-performance-benchmark-df290101c2bb\">wizualnie por\u00f3wna\u0142<\/a><\/noindex> op\u00f3\u017anienia service mesh w zesz\u0142ym roku i obieca\u0142 to samo dla pami\u0119ci i procesora, ale si\u0119 nie uda\u0142o:<\/p>\n<p><\/p>\n<blockquote><p>Wygl\u0105da na to, \u017ce values-istio-test.yaml powa\u017cnie zwi\u0119kszy wykorzystanie procesora. Je\u015bli dobrze to policzy\u0142em, potrzebuj\u0119 oko\u0142o 24 rdzeni procesora dla panelu sterowania i 0,5 CPU dla ka\u017cdego proxy. Nie mam tyle. Powt\u00f3rz\u0119 testy, kiedy przydziel\u0105 mi wi\u0119cej zasob\u00f3w.<\/p><\/blockquote>\n<p>Chcia\u0142em sam si\u0119 przekona\u0107, jak wska\u017aniki Istio maj\u0105 si\u0119 do innej service mesh z otwartym kodem: <noindex><a rel=\"nofollow\" href=\"https:\/\/linkerd.io\/\">Linkerd<\/a><\/noindex>.<\/p>\n<p><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3 id=\"ustanovka-service-mesh\">Instalacja service mesh<\/h3>\n<p><\/p>\n<p>Na pocz\u0105tku zainstalowa\u0142em w klastrze <noindex><a rel=\"nofollow\" href=\"https:\/\/supergloo.solo.io\/\">SuperGloo<\/a><\/noindex>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ supergloo init\ninstalacja supergloo w wersji 0.3.12\nu\u017cywaj\u0105c chart uri https:\/\/storage.googleapis.com\/supergloo-helm\/charts\/supergloo-0.3.12.tgz\nconfigmap\/sidecar-injection-resources utworzony\nserviceaccount\/supergloo utworzony\nserviceaccount\/discovery utworzony\nserviceaccount\/mesh-discovery utworzony\nclusterrole.rbac.authorization.k8s.io\/discovery utworzony\nclusterrole.rbac.authorization.k8s.io\/mesh-discovery utworzony\nclusterrolebinding.rbac.authorization.k8s.io\/supergloo-role-binding utworzony\nclusterrolebinding.rbac.authorization.k8s.io\/discovery-role-binding utworzony\nclusterrolebinding.rbac.authorization.k8s.io\/mesh-discovery-role-binding utworzony\ndeployment.extensions\/supergloo utworzony\ndeployment.extensions\/discovery utworzony\ndeployment.extensions\/mesh-discovery utworzony\ninstalacja zako\u0144czona sukcesem!<\/code><\/pre>\n<p><\/p>\n<p>U\u017cy\u0142em SuperGloo, poniewa\u017c znacznie u\u0142atwia on wst\u0119pne wdra\u017canie service mesh. Prawie nic nie musia\u0142em robi\u0107. W produkcji nie korzystamy z SuperGloo, ale do tego zadania jest idealny. Musia\u0142em wyda\u0107 dos\u0142ownie kilka polece\u0144 dla ka\u017cdej service mesh. U\u017cy\u0142em dw\u00f3ch klastr\u00f3w do izolacji - po jednym dla Istio i Linkerd.<\/p>\n<p><\/p>\n<p>Eksperyment przeprowadzono na Google Kubernetes Engine. U\u017cy\u0142em Kubernetes <code>1.12.7-gke.7<\/code> i puli w\u0119z\u0142\u00f3w <code>n1-standard-4<\/code> z automatycznym skalowaniem w\u0119z\u0142\u00f3w (minimum 4, maksimum 16).<\/p>\n<p><\/p>\n<p>Nast\u0119pnie zainstalowa\u0142em obie service mesh z linii polece\u0144.<\/p>\n<p><\/p>\n<p>Na pocz\u0105tku Linkerd:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ supergloo install linkerd --name linkerd\n+---------+--------------+---------+---------------------------+\n| INSTALL |     TYPE     | STATUS  |          DETAILS          |\n+---------+--------------+---------+---------------------------+\n| linkerd | Linkerd Mesh | Pending | enabled: true             |\n|         |              |         | version: stable-2.3.0     |\n|         |              |         | namespace: linkerd        |\n|         |              |         | mtls enabled: true        |\n|         |              |         | auto inject enabled: true |\n+---------+--------------+---------+---------------------------+<\/code><\/pre>\n<p><\/p>\n<p>Nast\u0119pnie Istio:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ supergloo install istio --name istio --installation-namespace istio-system --mtls=true --auto-inject=true\n+---------+------------+---------+---------------------------+\n| INSTALL |    TYPE    | STATUS  |          DETAILS          |\n+---------+------------+---------+---------------------------+\n| istio   | Istio Mesh | Pending | enabled: true             |\n|         |            |         | version: 1.0.6            |\n|         |            |         | namespace: istio-system   |\n|         |            |         | mtls enabled: true        |\n|         |            |         | auto inject enabled: true |\n|         |            |         | grafana enabled: true     |\n|         |            |         | prometheus enabled: true  |\n|         |            |         | jaeger enabled: true      |\n+---------+------------+---------+---------------------------+<\/code><\/pre>\n<p><\/p>\n<p>P\u0119tla awarii trwa\u0142a kilka minut, a nast\u0119pnie pulpit nawigacyjny stabilizowa\u0142 si\u0119.<\/p>\n<p><\/p>\n<p><em>(Uwaga. SuperGloo obs\u0142uguje obecnie tylko Istio 1.0.x. Powt\u00f3rzy\u0142em eksperyment z Istio 1.1.3, ale nie zauwa\u017cy\u0142em \u017cadnych znacz\u0105cych r\u00f3\u017cnic.)<\/em><\/p>\n<p><\/p>\n<h3 id=\"nastroyka-avtomaticheskogo-vnedreniya-istio\">Konfiguracja automatycznego wprowadzania Istio<\/h3>\n<p><\/p>\n<p>Aby Istio zainstalowa\u0142o sidecar Envoy, u\u017cywamy wstrzykiwacza sidecar \u2014 <code>MutatingAdmissionWebhook<\/code>. Nie b\u0119dziemy o nim m\u00f3wi\u0107 w tym artykule. Powiem tylko, \u017ce to kontroler, kt\u00f3ry monitoruje dost\u0119p do wszystkich nowych pod\u00f3w i dynamicznie dodaje sidecar i initContainer, kt\u00f3ry odpowiada za zadania <code>iptables<\/code>.<\/p>\n<p><\/p>\n<p>W Shopify napisali\u015bmy w\u0142asny kontroler dost\u0119pu do wprowadzenia sidecar\u00f3w, ale w tym benchmarku wzi\u0105\u0142em kontroler, kt\u00f3ry jest dostarczany z Istio. Domy\u015blny kontroler wprowadza sidecary, gdy w przestrzeni nazw jest etykieta <code>istio-injection: enabled<\/code>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ kubectl label namespace irs-client-dev istio-injection=enabled\nnamespace\/irs-client-dev labeled\n\n$ kubectl label namespace irs-server-dev istio-injection=enabled\nnamespace\/irs-server-dev labeled<\/code><\/pre>\n<p><\/p>\n<h3 id=\"nastroyka-avtomaticheskogo-vnedreniya-linkerd\">Konfiguracja automatycznego wprowadzania Linkerd<\/h3>\n<p><\/p>\n<p>Aby skonfigurowa\u0107 wprowadzenie sidecar\u00f3w Linkerd, u\u017cywamy adnotacji (doda\u0142em je r\u0119cznie przez <code>kubectl edit<\/code>):<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">metadata:\n  annotations:\n    linkerd.io\/inject: enabled<\/code><\/pre>\n<p><\/p>\n<pre><code class=\"plaintext\">$ k edit ns irs-server-dev \nnamespace\/irs-server-dev edited\n\n$ k get ns irs-server-dev -o yaml\napiVersion: v1\nkind: Namespace\nmetadata:\n  annotations:\n    linkerd.io\/inject: enabled\n  name: irs-server-dev\nspec:\n  finalizers:\n  - kubernetes\nstatus:\n  phase: Active<\/code><\/pre>\n<p><\/p>\n<h3 id=\"simulyator-otkazoustoychivosti-istio\">Symulator odporno\u015bci Istio<\/h3>\n<p><\/p>\n<p>Stworzyli\u015bmy symulator odporno\u015bci Istio, aby eksperymentowa\u0107 z ruchem specyficznym dla Shopify. Potrzebowali\u015bmy narz\u0119dzia, kt\u00f3re pozwoli\u0142oby nam tworzy\u0107 dowoln\u0105 topologi\u0119, reprezentuj\u0105c\u0105 okre\u015blon\u0105 cz\u0119\u015b\u0107 grafu naszych us\u0142ug z dynamicznymi ustawieniami do modelowania konkretnych obci\u0105\u017ce\u0144 roboczych.<\/p>\n<p><\/p>\n<p>Infrastruktura Shopify do\u015bwiadcza du\u017cych obci\u0105\u017ce\u0144 podczas flash sale. W tym czasie Shopify <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shopify.com\/enterprise\/flash-sale\">zaleca sprzedawcom cz\u0119stsze organizowanie takich wyprzeda\u017cy<\/a><\/noindex>. Duzi klienci czasami informuj\u0105 o planowanej flash sale. Inni przeprowadzaj\u0105 je niespodziewanie, o ka\u017cdej porze dnia i nocy.<\/p>\n<p><\/p>\n<p>Chcieli\u015bmy, aby nasz symulator odporno\u015bci modelowa\u0142 przep\u0142ywy robocze, kt\u00f3re odpowiadaj\u0105 topologiom i obci\u0105\u017ceniom, kt\u00f3re w przesz\u0142o\u015bci prowadzi\u0142y do przeci\u0105\u017cenia infrastruktury Shopify. G\u0142\u00f3wnym celem zastosowania service mesh jest zapewnienie niezawodno\u015bci i odporno\u015bci na poziomie sieci, a dla nas istotne jest, aby service mesh skutecznie radzi\u0142a sobie z obci\u0105\u017ceniami, kt\u00f3re wcze\u015bniej zak\u0142\u00f3ca\u0142y dzia\u0142anie us\u0142ug.<\/p>\n<p><\/p>\n<p>Na bazie symulatora odporno\u015bci znajduje si\u0119 w\u0119ze\u0142 roboczy, kt\u00f3ry dzia\u0142a jako w\u0119ze\u0142 service mesh. W\u0119ze\u0142 roboczy mo\u017cna skonfigurowa\u0107 statycznie przy uruchamianiu lub dynamicznie przez REST API. U\u017cywamy dynamicznej konfiguracji w\u0119z\u0142\u00f3w roboczych do tworzenia przep\u0142yw\u00f3w roboczych w formie regresywnych test\u00f3w.<\/p>\n<p><\/p>\n<p>Oto przyk\u0142ad takiego procesu:<\/p>\n<p><\/p>\n<ul>\n<li>Uruchamiamy 10 serwer\u00f3w jako <code>bar<\/code> us\u0142ug\u0119, kt\u00f3ra zwraca odpowied\u017a <code>200 \/ OK<\/code> po 100 ms.<\/li>\n<li>Uruchamiamy 10 klient\u00f3w \u2014 ka\u017cdy wysy\u0142a 100 zapyta\u0144 na sekund\u0119 do <code>bar<\/code>.<\/li>\n<li>Co 10 sekund usuwamy 1 serwer, monitorujemy b\u0142\u0119dy <code>5xx<\/code> po stronie klienta.<\/li>\n<\/ul>\n<p><\/p>\n<p>Na koniec procesu roboczego analizujemy logi i metryki oraz sprawdzamy, czy test zosta\u0142 zaliczony. W ten spos\u00f3b dowiadujemy si\u0119 o wydajno\u015bci naszej service mesh i przeprowadzamy regresyjny test, aby sprawdzi\u0107 nasze za\u0142o\u017cenia o odporno\u015bci na awarie.<\/p>\n<p><\/p>\n<p><em>(Uwaga. Rozwa\u017camy otwarcie kodu \u017ar\u00f3d\u0142owego symulatora odporno\u015bci Istio, ale jeszcze nie jeste\u015bmy na to gotowi.)<\/em><\/p>\n<p><\/p>\n<h3 id=\"simulyator-otkazoustoychivosti-istio-dlya-benchmarka-service-mesh\">Symulator odporno\u015bci Istio do benchmarking service mesh<\/h3>\n<p><\/p>\n<p>Konfigurujemy kilka w\u0119z\u0142\u00f3w roboczych symulatora:<\/p>\n<p><\/p>\n<ul>\n<li><code>irs-client-loadgen<\/code>: 3 repliki, kt\u00f3re wysy\u0142aj\u0105 po 100 zapyta\u0144 na sekund\u0119 do <code>irs-client<\/code>.<\/li>\n<li><code>irs-client<\/code>: 3 repliki, kt\u00f3re otrzymuj\u0105 zapytanie, czekaj\u0105 100 ms i przekierowuj\u0105 zapytanie do <code>irs-server<\/code>.<\/li>\n<li><code>irs-server<\/code>: 3 repliki, kt\u00f3re zwracaj\u0105 <code>200 \/ OK<\/code> po 100 ms.<\/li>\n<\/ul>\n<p><\/p>\n<p>Z tak\u0105 konfiguracj\u0105 mo\u017cemy zmierzy\u0107 stabilny przep\u0142yw ruchu mi\u0119dzy 9 punktami ko\u0144cowymi. Sidecar-y w <code>irs-client-loadgen<\/code> i <code>irs-server<\/code> otrzymuj\u0105 po 100 zapyta\u0144 na sekund\u0119, a <code>irs-client<\/code> \u2014 200 (przychodz\u0105cych i wychodz\u0105cych).<\/p>\n<p><\/p>\n<p>Monitorujemy u\u017cycie zasob\u00f3w przez <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">DataDog<\/a><\/noindex>, poniewa\u017c nie mamy klastra Prometheus.<\/p>\n<p><\/p>\n<h2 id=\"rezultaty\">Wyniki<\/h2>\n<p><\/p>\n<h3 id=\"paneli-upravleniya\">Panele zarz\u0105dzania<\/h3>\n<p><\/p>\n<p>Najpierw zbadali\u015bmy zu\u017cycie CPU.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/wd\/bb\/md\/wdbbmdzr0sx8tlfhmyinyglsr0i.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/ff1e892762132bd49e00fb319201c92f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Panel sterowania Linkerd ~22 miliardy<\/em><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/nr\/1p\/ag\/nr1pagqdpichos1evmok6jafn7w.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/dc5e80d4abd81168cd944dc183882d9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Panel sterowania Istio: ~750 miliard\u00f3w<\/em><\/p>\n<p><\/p>\n<p>Panel sterowania Istio u\u017cywa oko\u0142o <strong>35 razy wi\u0119cej zasob\u00f3w procesora<\/strong>, ni\u017c Linkerd. Oczywi\u015bcie wszystko jest ustawione domy\u015blnie, a wiele zasob\u00f3w procesora poch\u0142ania istio-telemetry (mo\u017cna to wy\u0142\u0105czy\u0107, rezygnuj\u0105c z niekt\u00f3rych funkcji). Nawet je\u015bli usuniemy ten komponent, i tak otrzymujemy ponad 100 miliard\u00f3w, czyli <strong>4 razy wi\u0119cej<\/strong>, ni\u017c w przypadku Linkerd.<\/p>\n<p><\/p>\n<h3 id=\"sidecar-proksi\">Proxy sidecar<\/h3>\n<p><\/p>\n<p>Nast\u0119pnie sprawdzili\u015bmy u\u017cycie proxy. Powinno tu by\u0107 liniowe zale\u017cno\u015b\u0107 od liczby zapyta\u0144, ale dla ka\u017cdego sidecara istniej\u0105 pewne koszty ukryte, kt\u00f3re wp\u0142ywaj\u0105 na krzyw\u0105.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ve\/ky\/bw\/vekybwloc_ffg8_pmrm6cf56tqq.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/deb802e6660b9b76da355d078b2fe88e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Linkerd: ~100 miliard\u00f3w dla irs-client, ~50 miliard\u00f3w dla irs-client-loadgen<\/em><\/p>\n<p><\/p>\n<p>Wyniki wygl\u0105daj\u0105 logicznie, poniewa\u017c proxy client otrzymuje dwa razy wi\u0119cej ruchu, ni\u017c proxy loadgen: na ka\u017cde wychodz\u0105ce zapytanie od loadgen przypada jedno przychodz\u0105ce i jedno wychodz\u0105ce.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/81\/wh\/lo\/81whlom3ym23hp7cisg3tsgu8qs.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/99705fa2396694d3314839dd3c6a39fb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Istio\/Envoy: ~155 miliard\u00f3w dla irs-client, ~75 miliard\u00f3w dla irs-client-loadgen<\/em><\/p>\n<p><\/p>\n<p>Widzimy podobne wyniki dla sidecar\u00f3w Istio.<\/p>\n<p><\/p>\n<p>Jednak og\u00f3lnie proxy Istio\/Envoy zu\u017cywa <strong>oko\u0142o 50% wi\u0119cej zasob\u00f3w procesora<\/strong>, ni\u017c Linkerd.<\/p>\n<p><\/p>\n<p>Podobny schemat widzimy po stronie serwera:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ou\/xl\/bw\/ouxlbwvtilchju4qykltpesfz58.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/cb235290b27fed8c24f9b9be381b3d91.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Linkerd: ~50 miliard\u00f3w dla irs-server<\/em><\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/cd\/1p\/ia\/cd1pia4q2sniccgybpy-uipuubu.png\"><img decoding=\"async\" alt=\"Zestawienie zu\u017cycia CPU dla Istio i Linkerd\" src=\"\/wp-content\/uploads\/2a087237c7d0f13907e836849cd953b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Istio\/Envoy: ~80 miliard\u00f3w dla irs-server<\/em><\/p>\n<p><\/p>\n<p>Po stronie serwera sidecar Istio\/Envoy zu\u017cywa <strong>oko\u0142o 60% wi\u0119cej zasob\u00f3w procesora<\/strong>, ni\u017c Linkerd.<\/p>\n<p><\/p>\n<h3 id=\"zaklyuchenie\">Podsumowanie<\/h3>\n<p><\/p>\n<p>Proxy Istio Envoy zu\u017cywa o 50+% wi\u0119cej CPU, ni\u017c Linkerd, w naszej symulowanej obci\u0105\u017ceniach pracy. Panel sterowania Linkerd zu\u017cywa znacznie mniej zasob\u00f3w, ni\u017c Istio, szczeg\u00f3lnie w odniesieniu do g\u0142\u00f3wnych komponent\u00f3w.<\/p>\n<p><\/p>\n<p>Wci\u0105\u017c my\u015blimy, jak zredukowa\u0107 te koszty. Je\u015bli masz jakie\u015b pomys\u0142y, podziel si\u0119!<\/p>\n<p>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/southbridge\/blog\/452956\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041c\u044b \u0432 Shopify \u0437\u0430\u043d\u044f\u043b\u0438\u0441\u044c \u0440\u0430\u0437\u0432\u0435\u0440\u0442\u044b\u0432\u0430\u043d\u0438\u0435\u043c Istio \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 service mesh. \u0412 \u043f\u0440\u0438\u043d\u0446\u0438\u043f\u0435 \u0432\u0441\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u0435\u0442, \u043a\u0440\u043e\u043c\u0435 \u043e\u0434\u043d\u043e\u0439 \u0432\u0435\u0449\u0438: \u044d\u0442\u043e \u0434\u043e\u0440\u043e\u0433\u043e. \u0412 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u043d\u044b\u0445 \u0431\u0435\u043d\u0447\u043c\u0430\u0440\u043a\u0430\u0445 \u0434\u043b\u044f Istio \u0433\u043e\u0432\u043e\u0440\u0438\u0442\u0441\u044f: \u0421 Istio 1.1 \u043f\u0440\u043e\u043a\u0441\u0438 \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u044f\u0435\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u043d\u043e 0,6 vCPU (\u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u044f\u0434\u0435\u0440) \u043d\u0430 1000 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443. \u0414\u043b\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u0435\u0433\u0438\u043e\u043d\u0430 \u0432 service mesh (\u043f\u043e 2 \u043f\u0440\u043e\u043a\u0441\u0438 \u0441 \u043a\u0430\u0436\u0434\u043e\u0439 \u0441\u0442\u043e\u0440\u043e\u043d\u044b \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f) \u0443 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34366","post","type-post","status-publish","format-standard","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041c\u044b \u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0426\u041f \u0434\u043b\u044f Istio \u0438 Linkerd | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041c\u044b \u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T18:57:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:57:56+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Benchmark zu\u017cycia CPU dla Istio i Linkerd | ProHoster","description":"Wprowadzenie Jeste\u015bmy w.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0435\u043d\u0447\u043c\u0430\u0440\u043a \u043f\u043e\u0442\u0440\u0435\u0431\u043b\u0435\u043d\u0438\u044f \u0426\u041f \u0434\u043b\u044f Istio \u0438 Linkerd | ProHoster","og:description":"\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435 \u041c\u044b \u0432.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T18:57:56+00:00","article:modified_time":"2019-10-31T18:57:56+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34366","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-21 18:56:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:23:16","updated":"2026-01-21 18:56:19","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=34366"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/34366\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=34366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=34366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=34366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}