{"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 di CPU per Istio e Linkerd","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Benchmark del consumo di 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> abbiamo iniziato a implementare Istio come service mesh. In linea di principio, siamo soddisfatti, 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 (nuclei virtuali) ogni 1000 richieste al secondo.<\/p><\/blockquote>\n<p>Per la prima regione nella service mesh (due proxy per ogni lato della connessione), avremo 1200 nuclei solo per i proxy, calcolando un milione di richieste al secondo. Secondo il calcolatore dei costi di Google, il costo \u00e8 di circa $40\/al mese\/per nucleo per la configurazione <code>n1-standard-64<\/code>, quindi questa regione ci coster\u00e0 oltre 50 mila dollari al mese per 1 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 latenze della service mesh dell'anno scorso e ha promesso lo stesso per la memoria e la CPU, ma non \u00e8 riuscito:<\/p>\n<p><\/p>\n<blockquote><p>A quanto pare, il file values-istio-test.yaml aumenter\u00e0 notevolmente le richieste alla CPU. Se ho calcolato bene, servono circa 24 nuclei di CPU per il pannello di controllo e 0,5 CPU per ogni proxy. Non ne ho cos\u00ec tanti. Ripeter\u00f2 i test quando mi verranno dati pi\u00f9 risorse.<\/p><\/blockquote>\n<p>Volevo verificare di persona quanto siano simili le prestazioni di Istio rispetto a 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\ninstallando la versione supergloo 0.3.12\nusando 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 usato SuperGloo perch\u00e9 semplifica notevolmente l'impostazione iniziale della service mesh. Non ho dovuto fare quasi nulla. In produzione non usiamo SuperGloo, ma per un compito simile \u00e8 perfetto. Ho dovuto eseguire solo un paio di comandi su ciascuna service mesh. Ho utilizzato due cluster per l'isolamento: uno per Istio e l'altro per Linkerd.<\/p>\n<p><\/p>\n<p>L'esperimento \u00e8 stato condotto su Google Kubernetes Engine. Ho usato Kubernetes <code>1.12.7-gke.7<\/code> e un pool di nodi <code>n1-standard-4<\/code> con ridimensionamento automatico dei nodi (minimo 4, massimo 16).<\/p>\n<p><\/p>\n<p>Poi ho installato entrambe le service mesh dalla riga di comando.<\/p>\n<p><\/p>\n<p>Per prima cosa 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 | In attesa | abilitato: vero            |\n|         |              |         | versione: stable-2.3.0     |\n|         |              |         | namespace: linkerd        |\n|         |              |         | mtls abilitato: vero      |\n|         |              |         | auto inject abilitato: vero |\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 | In attesa | abilitato: vero            |\n|         |            |         | versione: 1.0.6            |\n|         |            |         | namespace: istio-system   |\n|         |            |         | mtls abilitato: vero      |\n|         |            |         | auto inject abilitato: vero |\n|         |            |         | grafana abilitato: vero   |\n|         |            |         | prometheus abilitato: vero |\n|         |            |         | jaeger abilitato: vero    |\n+---------+------------+---------+---------------------------+<\/code><\/pre>\n<p><\/p>\n<p>Il crash-loop ha preso alcuni minuti, e poi i pannelli di controllo si sono stabilizzati.<\/p>\n<p><\/p>\n<p><em>(Nota. SuperGloo supporta attualmente 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>Per far s\u00ec che Istio installi il sidecar Envoy, utilizziamo il sidecar-injector \u2014 <code>MutatingAdmissionWebhook<\/code>. Non ne parleremo in questo articolo. Dir\u00f2 solo che \u00e8 un controllore che monitora l'accesso di tutti i nuovi pod e aggiunge dinamicamente sidecar e initContainer, che si occupa dei compiti <code>iptables<\/code>.<\/p>\n<p><\/p>\n<p>In Shopify abbiamo scritto il nostro controllore di accesso per l'iniezione dei sidecar, ma in questo benchmark ho utilizzato il controllore fornito con Istio. Il controllore di default inietta i sidecar quando nel namespace \u00e8 presente l'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\">Impostazione dell'iniezione automatica di Linkerd<\/h3>\n<p><\/p>\n<p>Per configurare l'iniezione 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: Attivo<\/code><\/pre>\n<p><\/p>\n<h3 id=\"simulyator-otkazoustoychivosti-istio\">Simulatore di tolleranza ai guasti di Istio<\/h3>\n<p><\/p>\n<p>Abbiamo sviluppato un simulatore di resilienza di Istio per sperimentare traffico specifico per Shopify. Avevamo bisogno di uno strumento per creare una topologia arbitraria che rappresentasse una parte specifica del grafo del nostro servizio, con impostazioni dinamiche per modellare carichi di lavoro specifici.<\/p>\n<p><\/p>\n<p>L'infrastruttura di Shopify subisce una grande pressione durante le vendite lampo. In questo contesto, Shopify <noindex><a rel=\"nofollow\" href=\"https:\/\/www.shopify.com\/enterprise\/flash-sale\">consiglia ai venditori di effettuare vendite lampo pi\u00f9 spesso<\/a><\/noindex>. I grandi clienti a volte avvisano in anticipo riguardo a vendite lampo programmati. Altri le effettuano inaspettatamente, a qualsiasi ora del giorno e della notte.<\/p>\n<p><\/p>\n<p>Volevamo che il nostro simulatore di resilienza modellasse i flussi di lavoro che corrispondevano a topologie e carichi di lavoro che in passato avevano causato sovraccarichi all'infrastruttura di Shopify. L'obiettivo principale nell'utilizzare un service mesh \u00e8 che abbiamo bisogno di affidabilit\u00e0 e resilienza a livello di rete, ed \u00e8 importante per noi che il service mesh gestisca efficacemente i carichi che in passato hanno compromesso il funzionamento dei servizi.<\/p>\n<p><\/p>\n<p>Al centro del simulatore di resilienza c'\u00e8 un nodo di lavoro che funge da nodo del service mesh. Il nodo di lavoro pu\u00f2 essere configurato staticamente all'avvio o dinamicamente tramite REST API. Utilizziamo la configurazione dinamica dei nodi di lavoro per creare flussi di lavoro come test di regressione.<\/p>\n<p><\/p>\n<p>Ecco un esempio di tale processo:<\/p>\n<p><\/p>\n<ul>\n<li>Avviamo 10 server come <code>bar<\/code> un servizio che restituisce una risposta <code>200\/OK<\/code> dopo 100 ms.<\/li>\n<li>Avviamo 10 client, ognuno 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 ciclo di lavoro, analizziamo i log e le metriche per verificare se il test \u00e8 stato superato. In questo modo, scopriamo le prestazioni del nostro service mesh e eseguiamo un test di regressione per confermare le nostre ipotesi sulla resilienza.<\/p>\n<p><\/p>\n<p><em>(Nota. Stiamo pensando di aprire il codice sorgente del simulatore di resilienza 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 resilienza di Istio per il benchmark del service mesh<\/h3>\n<p><\/p>\n<p>Stiamo configurando diversi nodi di lavoro del 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 di traffico stabile tra 9 punti finali. I sidecar in <code>irs-client-loadgen<\/code> e <code>irs-server<\/code> ricevono 100 richieste al secondo, e <code>irs-client<\/code> \u2014 200 (in entrata e in uscita).<\/p>\n<p><\/p>\n<p>Monitoriamo l'utilizzo delle risorse tramite <noindex><a rel=\"nofollow\" href=\"https:\/\/www.datadoghq.com\/\">DataDog<\/a><\/noindex>, perch\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 studiato 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 di 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 miliardi<\/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 di 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 miliardi<\/em><\/p>\n<p><\/p>\n<p>Il pannello di controllo Istio utilizza circa <strong>35 volte pi\u00f9 risorse della CPU<\/strong>, rispetto a Linkerd. Ovviamente, tutto \u00e8 impostato di default e molte risorse della CPU sono consumate da istio-telemetry (pu\u00f2 essere disattivato rinunciando ad alcune funzionalit\u00e0). Anche rimuovendo questo componente, otteniamo ancora pi\u00f9 di 100 miliardi, 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 verificato l'utilizzo del proxy. Qui dovrebbe esserci una relazione lineare con il 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 di CPU per Istio e Linkerd\" src=\"\/wp-content\/uploads\/deb802e6660b9b76da355d078b2fe88e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><br \/>\n<em>Linkerd: ~100 miliardi per irs-client, ~50 miliardi 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 per il 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 di 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>Vediamo risultati simili per i sidecar di Istio.<\/p>\n<p><\/p>\n<p>Ma nel complesso, il proxy Istio\/Envoy consuma <strong>circa il 50% in pi\u00f9 di risorse della CPU<\/strong>, rispetto a Linkerd.<\/p>\n<p><\/p>\n<p>La stessa tendenza \u00e8 visibile 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 di 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 di 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% in pi\u00f9 di risorse della CPU<\/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 workload simulata. Il pannello di controllo Linkerd consuma molto meno risorse rispetto a Istio, soprattutto per quanto riguarda i componenti principali.<\/p>\n<p><\/p>\n<p>Stiamo ancora pensando a 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 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\/it\/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=\"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.\" \/>\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 di CPU per Istio e Linkerd | ProHoster","description":"Introduzione Siamo in.","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.","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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"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}]}}