{"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\/it\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","title":{"rendered":"Benchmark del consumo della CPU per Istio e Linkerd","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/d176b132a69c09195803a1398df64637.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<h2 id=\"vvedenie\">Introduzione<\/h2>\n<p><\/p>\n<p>Noi di <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shopify.ca\/\">Shopify<\/a><\/noindex> ci siamo occupati dell'implementazione di Istio come service mesh. In linea generale, tutto va bene, tranne per una cosa: <strong>\u00e8 costoso<\/strong>.<\/p>\n<p><\/p>\n<p>In <noindex><a rel=\"nofollow\" href=\"https:\/\/istio.io\/docs\/concepts\/performance-and-scalability\/#cpu-and-memory\">benchmark pubblicati<\/a><\/noindex> per Istio si dice:<\/p>\n<p><\/p>\n<blockquote><p>Con Istio 1.1, il proxy consuma circa 0,6 vCPU (core virtuali) per 1000 richieste al secondo.<\/p><\/blockquote>\n<p>Per la prima regione nel service mesh (2 proxy da ciascun lato della connessione) avremo bisogno di 1200 core solo per i proxy, basandoci su un milione di richieste al secondo. Secondo il calcolatore dei costi di Google, circa $40\/mese\/core per la configurazione <code>n1-standard-64<\/code>, il che significa che questa regione ci coster\u00e0 pi\u00f9 di 50.000 dollari al mese per un milione di richieste al secondo.<\/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\">ha confrontato visivamente<\/a><\/noindex> le latenza della service mesh dell'anno scorso e ha promesso lo stesso per memoria e CPU, ma non ci \u00e8 riuscito:<\/p>\n<p><\/p>\n<blockquote><p>Sembra che values-istio-test.yaml aumenter\u00e0 notevolmente le richieste alla CPU. Se ho calcolato correttamente, servono circa 24 core per il pannello di controllo e 0,5 CPU per ogni proxy. Non ho cos\u00ec tante risorse. Ripeter\u00f2 i test quando ricever\u00f2 pi\u00f9 risorse.<\/p><\/blockquote>\n<p>Volevo vedere di persona quanto i risultati di Istio somigliassero ad un'altra service mesh open source: <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\">Installazione della service mesh<\/h3>\n<p><\/p>\n<p>Per prima cosa, ho installato nel cluster <noindex><a rel=\"nofollow\" href=\"https:\/\/supergloo.solo.io\/\">SuperGloo<\/a><\/noindex>:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ supergloo init\ninstallazione della versione 0.3.12 di supergloo\nutilizzando l'uri del chart https:\/\/storage.googleapis.com\/supergloo-helm\/charts\/supergloo-0.3.12.tgz\nconfigmap\/sidecar-injection-resources creato\nserviceaccount\/supergloo creato\nserviceaccount\/discovery creato\nserviceaccount\/mesh-discovery creato\nclusterrole.rbac.authorization.k8s.io\/discovery creato\nclusterrole.rbac.authorization.k8s.io\/mesh-discovery creato\nclusterrolebinding.rbac.authorization.k8s.io\/supergloo-role-binding creato\nclusterrolebinding.rbac.authorization.k8s.io\/discovery-role-binding creato\nclusterrolebinding.rbac.authorization.k8s.io\/mesh-discovery-role-binding creato\ndeployment.extensions\/supergloo creato\ndeployment.extensions\/discovery creato\ndeployment.extensions\/mesh-discovery creato\ninstallazione riuscita!<\/code><\/pre>\n<p><\/p>\n<p>Ho utilizzato SuperGloo perch\u00e9 semplifica notevolmente il setup iniziale del service mesh. Non ho dovuto fare quasi nulla. In produzione, non usiamo SuperGloo, ma per compiti come questo \u00e8 perfetto. Ho dovuto utilizzare letteralmente un paio di comandi per ogni service mesh. Ho utilizzato due cluster per l'isolamento \u2014 uno per Istio e uno per Linkerd.<\/p>\n<p><\/p>\n<p>L'esperimento \u00e8 stato condotto su Google Kubernetes Engine. Ho utilizzato Kubernetes <code>1.12.7-gke.7<\/code> e un pool di nodi <code>n1-standard-4<\/code> con scaling automatico dei nodi (minimo 4, massimo 16).<\/p>\n<p><\/p>\n<p>Dopo, ho installato entrambe le service mesh dalla riga di comando.<\/p>\n<p><\/p>\n<p>Prima 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>Poi 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>Il crash-loop ha impiegato diversi minuti, poi i pannelli di controllo si sono stabilizzati.<\/p>\n<p><\/p>\n<p><em>(Nota. SuperGloo attualmente supporta solo Istio 1.0.x. Ho ripetuto l'esperimento con Istio 1.1.3, ma non ho notato alcuna differenza significativa.)<\/em><\/p>\n<p><\/p>\n<h3 id=\"nastroyka-avtomaticheskogo-vnedreniya-istio\">Impostazione dell'iniezione automatica di Istio<\/h3>\n<p><\/p>\n<p>Perch\u00e9 Istio installi il sidecar Envoy, utilizziamo l'iniettore di sidecar \u2014 <code>MutatingAdmissionWebhook<\/code>. Non ne parleremo in questo articolo. Dico solo che \u00e8 un controller che monitora l'accesso di tutti i nuovi pod e aggiunge dinamicamente sidecar e initContainer, il quale \u00e8 responsabile delle operazioni <code>iptables<\/code>.<\/p>\n<p><\/p>\n<p>Noi di Shopify abbiamo scritto il nostro controller di accesso per l'inserimento dei sidecar, ma in questo benchmark ho utilizzato il controller fornito con Istio. Il controller di default inserisce i sidecar quando nell'namespace c'\u00e8 un'etichetta <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 etichettato\n\n$ kubectl label namespace irs-server-dev istio-injection=enabled\nnamespace\/irs-server-dev etichettato<\/code><\/pre>\n<p><\/p>\n<h3 id=\"nastroyka-avtomaticheskogo-vnedreniya-linkerd\">Configurazione dell'inserimento automatico di Linkerd<\/h3>\n<p><\/p>\n<p>Per configurare l'inserimento dei sidecar di Linkerd, utilizziamo le annotazioni (le ho aggiunte manualmente tramite <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 modificato\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\">Simulatore di resilienza di Istio<\/h3>\n<p><\/p>\n<p>Abbiamo creato un simulatore di tolleranza ai guasti di Istio per sperimentare con il traffico specifico per Shopify. Avevamo bisogno di uno strumento per creare topologie arbitrarie che rappresentassero una parte specifica del grafo del nostro servizio con configurazioni dinamiche per simulare carichi di lavoro specifici.<\/p>\n<p><\/p>\n<p>L'infrastruttura di Shopify subisce un grande carico durante le vendite flash. In questo contesto, Shopify <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shopify.com\/enterprise\/flash-sale\">raccomanda ai venditori di organizzare pi\u00f9 spesso tali vendite<\/a><\/noindex>. Grandi clienti talvolta avvisano di una vendita flash programmata. Altri le organizzano inaspettatamente, in qualsiasi momento della giornata e della notte.<\/p>\n<p><\/p>\n<p>Volevamo che il nostro simulatore di tolleranza ai guasti riproducesse flussi di lavoro che corrispondessero a topologie e carichi di lavoro che in passato avevano causato sovraccarichi all'infrastruttura di Shopify. L'obiettivo principale dell'uso del service mesh \u00e8 garantire la resilienza e la tolleranza ai guasti a livello di rete, ed \u00e8 importante che il service mesh gestisca efficacemente i carichi che in precedenza avevano disturbato il funzionamento dei servizi.<\/p>\n<p><\/p>\n<p>Alla base del simulatore di tolleranza agli errori c'\u00e8 un nodo di lavoro che agisce come nodo di service mesh. Il nodo di lavoro pu\u00f2 essere configurato staticamente all'avvio o dinamicamente tramite API REST. Utilizziamo la configurazione dinamica dei nodi di lavoro per creare flussi di lavoro sotto forma di test regressivi.<\/p>\n<p><\/p>\n<p>Ecco un esempio di questo processo:<\/p>\n<p><\/p>\n<ul>\n<li>Avviamo 10 server come <code>bar<\/code> servizio che restituisce una risposta <code>200\/OK<\/code> dopo 100 ms.<\/li>\n<li>Avviamo 10 client, ciascuno dei quali invia 100 richieste al secondo a <code>bar<\/code>.<\/li>\n<li>Ogni 10 secondi rimuoviamo 1 server e monitoriamo gli errori <code>5xx<\/code> sul client.<\/li>\n<\/ul>\n<p><\/p>\n<p>Alla fine del flusso di lavoro, esaminiamo i log e le metriche e verifichiamo se il test \u00e8 stato superato. In questo modo possiamo valutare le performance della nostra service mesh e condurre un test regressivo per verificare le nostre ipotesi sulla tolleranza agli errori.<\/p>\n<p><\/p>\n<p><em>(Nota. Stiamo pensando di rendere pubblico il codice sorgente del simulatore di tolleranza agli errori di Istio, ma non siamo ancora pronti per farlo.)<\/em><\/p>\n<p><\/p>\n<h3 id=\"simulyator-otkazoustoychivosti-istio-dlya-benchmarka-service-mesh\">Simulatore di tolleranza agli errori di Istio per il benchmarking della service mesh<\/h3>\n<p><\/p>\n<p>Configuriamo diversi nodi di lavoro per il simulatore:<\/p>\n<p><\/p>\n<ul>\n<li><code>irs-client-loadgen<\/code>: 3 repliche che inviano 100 richieste al secondo a <code>irs-client<\/code>.<\/li>\n<li><code>irs-client<\/code>: 3 repliche che ricevono la richiesta, attendono 100 ms e reindirizzano la richiesta a <code>irs-server<\/code>.<\/li>\n<li><code>irs-server<\/code>: 3 repliche che restituiscono <code>200\/OK<\/code> dopo 100 ms.<\/li>\n<\/ul>\n<p><\/p>\n<p>Con questa configurazione, possiamo misurare un flusso stabile di traffico tra 9 endpoint. I sidecar in <code>irs-client-loadgen<\/code> e <code>irs-server<\/code> ricevono 100 richieste al secondo, mentre <code>irs-client<\/code> \u2014 200 (in ingresso e in uscita).<\/p>\n<p><\/p>\n<p>Monitoriamo l'uso delle risorse tramite <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">DataDog<\/a><\/noindex>, poich\u00e9 non abbiamo un cluster Prometheus.<\/p>\n<p><\/p>\n<h2 id=\"rezultaty\">Risultati<\/h2>\n<p><\/p>\n<h3 id=\"paneli-upravleniya\">Pannelli di controllo<\/h3>\n<p><\/p>\n<p>Inizialmente, abbiamo esaminato il consumo della 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=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/ff1e892762132bd49e00fb319201c92f.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Pannello di controllo Linkerd ~22 millisecondi<\/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=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/dc5e80d4abd81168cd944dc183882d9d.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Pannello di controllo Istio: ~750 millisecondi<\/em><\/p>\n<p><\/p>\n<p>Il pannello di controllo Istio utilizza circa <strong>35 volte pi\u00f9 risorse di CPU<\/strong>, rispetto a Linkerd. Ovviamente, tutto \u00e8 impostato per default e molto delle risorse CPU sono consumate da istio-telemetry (che pu\u00f2 essere disattivato rinunciando ad alcune funzionalit\u00e0). Anche senza questo componente, si ottiene comunque pi\u00f9 di 100 millisecondi, cio\u00e8 <strong>4 volte di pi\u00f9<\/strong>, rispetto a Linkerd.<\/p>\n<p><\/p>\n<h3 id=\"sidecar-proksi\">Proxy sidecar<\/h3>\n<p><\/p>\n<p>Poi abbiamo controllato l'uso del proxy. Qui dovrebbe esserci una dipendenza lineare dal numero di richieste, ma per ogni sidecar ci sono alcune spese generali che influenzano la curva.<\/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=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/deb802e6660b9b76da355d078b2fe88e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Linkerd: ~100 millisecondi per irs-client, ~50 millisecondi per irs-client-loadgen<\/em><\/p>\n<p><\/p>\n<p>I risultati sembrano logici, poich\u00e9 il proxy client riceve il doppio del traffico rispetto al proxy loadgen: per ogni richiesta in uscita da loadgen, ci sono una richiesta in entrata e una in uscita da parte del client.<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/81\/wh\/lo\/81whlom3ym23hp7cisg3tsgu8qs.png\"><img decoding=\"async\" alt=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/99705fa2396694d3314839dd3c6a39fb.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Istio\/Envoy: ~155 miliardi per irs-client, ~75 miliardi per irs-client-loadgen<\/em><\/p>\n<p><\/p>\n<p>Osserviamo risultati simili per i sidecar di Istio.<\/p>\n<p><\/p>\n<p>Tuttavia, in generale, il proxy Istio\/Envoy consuma <strong>circa il 50% di risorse CPU in pi\u00f9<\/strong>, rispetto a Linkerd.<\/p>\n<p><\/p>\n<p>La stessa situazione si verifica sul lato server:<\/p>\n<p><\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/habrastorage.org\/webt\/ou\/xl\/bw\/ouxlbwvtilchju4qykltpesfz58.png\"><img decoding=\"async\" alt=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/cb235290b27fed8c24f9b9be381b3d91.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Linkerd: ~50 miliardi per 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=\"Benchmark del consumo della CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/2a087237c7d0f13907e836849cd953b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Istio\/Envoy: ~80 miliardi per irs-server<\/em><\/p>\n<p><\/p>\n<p>Sul lato server, il sidecar Istio\/Envoy consuma <strong>circa il 60% di risorse CPU in pi\u00f9<\/strong>, rispetto a Linkerd.<\/p>\n<p><\/p>\n<h3 id=\"zaklyuchenie\">Conclusione<\/h3>\n<p><\/p>\n<p>Il proxy Istio Envoy consuma oltre il 50% di CPU in pi\u00f9 rispetto a Linkerd, sulla nostra simulazione di carico di lavoro. La dashboard di Linkerd utilizza molte meno risorse rispetto a Istio, in particolare per quanto riguarda i componenti principali.<\/p>\n<p><\/p>\n<p>Stiamo ancora valutando come ridurre questi costi. Se hai idee, condividile!<\/p>\n<p>Fonte: <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 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\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 \u043d\u0430\u0441\" \/>\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\/it\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"it_IT\" \/>\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 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 \u043d\u0430\u0441\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/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 del consumo CPU per Istio e Linkerd | ProHoster","description":"Introduzione Abbiamo implementato Istio come service mesh su Shopify. Fondamentalmente, siamo soddisfatti di tutto, tranne che per una cosa: \u00e8 costoso. Nei benchmark pubblicati per Istio si afferma: Con Istio 1.1, il proxy consuma circa 0,6 vCPU (nuclei virtuali) per 1000 richieste al secondo. Per la prima regione nel service mesh (con 2 proxy da ogni lato della connessione) abbiamo","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/benchmark-potrebleniya-tsp-dlya-istio-i-linkerd","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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 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 \u043d\u0430\u0441","og:url":"https:\/\/prohoster.info\/it\/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"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34366","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=34366"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34366\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34366"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34366"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34366"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}