{"id":34335,"date":"2019-10-31T21:57:43","date_gmt":"2019-10-31T18:57:43","guid":{"rendered":"https:\/\/prohoster.info\/blog\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu\/"},"modified":"2019-10-31T21:57:43","modified_gmt":"2019-10-31T18:57:43","slug":"analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu","status":"publish","type":"post","link":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu","title":{"rendered":"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/0c077a1754c2e32c1f339999ceacf03a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSe gestisci un'infrastruttura virtuale basata su VMware vSphere (o su qualsiasi altra tecnologia), sicuramente sentirai spesso dagli utenti lamentele del tipo: \u00abLa macchina virtuale \u00e8 lenta!\u00bb. In questo ciclo di articoli analizzer\u00f2 le metriche delle prestazioni e spiegher\u00f2 cosa e perch\u00e9 \u00abrallenta\u00bb e come risolvere il problema.<\/p>\n<p>Considerer\u00f2 i seguenti aspetti delle prestazioni delle macchine virtuali:<\/p>\n<ul>\n<li>CPU,<\/li>\n<li>RAM,<\/li>\n<li>DISCO,<\/li>\n<li>Rete.<\/li>\n<\/ul>\n<p>\nInizier\u00f2 con la CPU.<\/p>\n<p>Per analizzare le prestazioni avremo bisogno di:<\/p>\n<ul>\n<li><b>Contatori delle prestazioni di vCenter<\/b> \u2013 i contatori delle prestazioni, i cui grafici possono essere visualizzati tramite il vSphere Client. Le informazioni relative a questi contatori sono disponibili in qualsiasi versione del client (il client \u201cfat\u201d in C#, client web in Flex e client web in HTML5). In questi articoli utilizzeremo screenshot dal client C#, solo perch\u00e9 si vedono meglio nelle miniature :)<\/li>\n<li><b>ESXTOP<\/b> \u2013 uno strumento che si avvia da riga di comando su ESXi. Con esso \u00e8 possibile ottenere i valori dei contatori delle prestazioni in tempo reale o esportare questi valori per un certo periodo in un file .csv per ulteriori analisi. In seguito parler\u00f2 di questo strumento in modo pi\u00f9 dettagliato e fornir\u00f2 alcuni link utili alla documentazione e agli articoli sull'argomento.<\/li>\n<\/ul>\n<p>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h3>Un po' di teoria<\/h3>\n<p>\n<img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/bc415aace7653c45850d26b7104483c9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIn ESXi, ogni vCPU (nucleo della macchina virtuale) \u00e8 gestito da un processo separato \u2013 world nella terminologia VMware. Ci sono anche processi di servizio, ma ai fini dell'analisi delle prestazioni delle VM sono meno interessanti.<\/p>\n<p>Un processo in ESXi pu\u00f2 trovarsi in uno dei quattro stati:<\/p>\n<ul>\n<li><b>Esegui<\/b> \u2013 il processo sta eseguendo un lavoro utile.<\/li>\n<li><b>Aspetta<\/b> \u2013 il processo non sta eseguendo alcun lavoro (idle) o sta aspettando operazioni di input\/output.<\/li>\n<li><b>Costop<\/b> \u2013 una condizione che si verifica nelle macchine virtuali multicore. Si verifica quando lo scheduler CPU del hypervisor (ESXi CPU Scheduler) non riesce a pianificare l'esecuzione simultanea su core fisici del server di tutti i core attivi della macchina virtuale. Nel mondo fisico, tutti i core del processore lavorano in parallelo, il sistema operativo guest all'interno della VM si aspetta un comportamento analogo, pertanto l'hypervisor deve rallentare i core della VM che hanno la possibilit\u00e0 di completare il ciclo pi\u00f9 rapidamente. Nelle versioni moderne di ESXi, lo scheduler CPU utilizza un meccanismo chiamato co-scheduling rilassato: l'hypervisor considera la differenza tra il core della macchina virtuale pi\u00f9<\/li>\n<li><b>Pronto<\/b> \u2013 il processo entra in questo stato quando l'hypervisor non \u00e8 in grado di allocare risorse per la sua esecuzione. Valori elevati di ready possono causare problemi di prestazioni alla VM.<\/li>\n<\/ul>\n<p><\/p>\n<h3>I principali contatori di prestazioni della CPU della macchina virtuale<\/h3>\n<p>\n<b>Uso della CPU, %.<\/b> Mostra la percentuale di utilizzo della CPU su un dato periodo.<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/7a5da7dcd45329c3aae8e394c5d35a30.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Come analizzare?<\/b> Se la VM utilizza stabilmente la CPU al 90% o ci sono picchi fino al 100%, abbiamo un problema. I problemi possono manifestarsi non solo con un funzionamento 'lento' dell'applicazione all'interno della VM, ma anche con la mancanza di accesso alla VM tramite rete. Se il sistema di monitoraggio mostra che la VM si disconnette periodicamente, fai attenzione ai picchi nel grafico dell'uso della CPU.<\/p>\n<p>C'\u00e8 un allerta standard che mostra il carico della CPU della macchina virtuale:<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/9bfd9bb5b43b9b02e8bbfac307d6c9f9.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Cosa fare?<\/b> Se la VM ha costantemente un utilizzo della CPU che supera le aspettative, \u00e8 opportuno considerare l'aumento del numero di vCPU (sfortunatamente, ci\u00f2 non sempre aiuta) o il trasferimento della VM su un server con processori pi\u00f9 performanti.<\/p>\n<h3>Uso della CPU in Mhz<\/h3>\n<p>\nNei grafici di vCenter, l'uso in % pu\u00f2 essere visualizzato solo per l'intera macchina virtuale, mentre non ci sono grafici per singoli core (in Esxtop i valori in % per i core ci sono). Per ogni core si pu\u00f2 vedere l'uso in MHz.<\/p>\n<p><b>Come analizzare?<\/b> Capita che l'applicazione non sia ottimizzata per un'architettura multi-core: utilizza al 100% solo un core, mentre gli altri rimangono inattivi. Ad esempio, con le impostazioni predefinite di backup, MS SQL avvia il processo solo su un core. Di conseguenza, il backup richiede tempo non a causa della lenta velocit\u00e0 dei dischi (\u00e8 su questo che l'utente si \u00e8 inizialmente lamentato), ma perch\u00e9 il processore non riesce a gestire il carico. Il problema \u00e8 stato risolto modificando i parametri: il backup \u00e8 stato avviato in parallelo in pi\u00f9 file (di conseguenza, in pi\u00f9 processi).<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/d1bce5fe5ef89a69c31a6a8f043d5d24.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Esempio di carico non uniforme dei core.<\/i><\/p>\n<p>Pu\u00f2 anche capitare (come nel grafico sopra) che i core siano caricati in modo non uniforme e che alcuni di essi presentino picchi del 100%. Come per il caricamento di un solo core, l'allerta per l'utilizzo della CPU non scatta (\u00e8 su tutta la VM), ma ci saranno problemi di prestazioni.<\/p>\n<p><b>Cosa fare? <\/b>Se il software nella macchina virtuale carica i core in modo non uniforme (utilizza solo un core o alcuni core), non ha senso aumentare il numero di core. In tal caso, \u00e8 meglio spostare la VM su un server con processori pi\u00f9 potenti.<\/p>\n<p>Inoltre, si pu\u00f2 provare a controllare le impostazioni di alimentazione nel BIOS del server. Molti amministratori attivano nel BIOS la modalit\u00e0 High Performance disattivando le tecnologie di risparmio energetico C-states e P-states. Nei moderni processori Intel si utilizza la tecnologia Turbo Boost, che aumenta la frequenza di alcuni core del processore a scapito di altri core. Tuttavia, questa funzionalit\u00e0 funziona solo se le tecnologie di risparmio energetico sono attive. Se le disattiviamo, il processore non pu\u00f2 ridurre il consumo energetico dei core che non sono sotto carico. <\/p>\n<p>VMware raccomanda di non disattivare le tecnologie di risparmio energetico sui server, ma di scegliere modalit\u00e0 che restituiscano al hypervisor il massimo controllo sul consumo energetico. In tal modo, nelle impostazioni di alimentazione dell'hypervisor si deve scegliere la modalit\u00e0 High Performance. <\/p>\n<p>Se nella vostra infrastruttura ci sono VM (o core di VM) che richiedono una maggiore frequenza della CPU, una corretta configurazione dell'alimentazione pu\u00f2 migliorare significativamente le loro prestazioni.<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/59aec2b77fa87e413d90371a11388629.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>CPU Ready (Prontezza) <\/h3>\n<p>\nSe il core della VM (vCPU) \u00e8 nello stato di Ready, non sta svolgendo lavoro utile. Questo stato si verifica quando l'hypervisor non trova un core fisico libero a cui assegnare il processo vCPU della macchina virtuale.<\/p>\n<p><b>Come analizzare?<\/b> Di solito, se i core della macchina virtuale rimangono in stato di Ready per oltre il 10% del tempo, noterai problemi di prestazioni. In termini semplici, oltre il 10% del tempo la VM attende la disponibilit\u00e0 delle risorse fisiche.<\/p>\n<p>In vCenter puoi visualizzare 2 contatori legati alla CPU Ready:<\/p>\n<ul>\n<li>Readiness,<\/li>\n<li>Ready.<\/li>\n<\/ul>\n<p>\nI valori di entrambi i contatori possono essere visualizzati sia per l'intera VM che per i singoli core.<br \/>\nLa Readiness mostra il valore immediatamente in percentuale, ma solo in tempo reale (dati dell'ultima ora, intervallo di misurazione di 20 secondi). Questo contatore \u00e8 meglio utilizzato solo per la ricerca di problemi \"sul momento\".<\/p>\n<p>I valori del contatore Ready possono essere visualizzati anche in prospettiva storica. Questo \u00e8 utile per identificare schemi e fare un'analisi pi\u00f9 approfondita del problema. Ad esempio, se una macchina virtuale inizia a riscontrare problemi di prestazioni in un certo momento, \u00e8 possibile confrontare gli intervalli di valore elevato della CPU Ready con il carico complessivo del server su cui opera tale VM e adottare misure per ridurre il carico (se DRS non ha funzionato).<\/p>\n<p>A differenza della Readiness, il Ready non \u00e8 mostrato in percentuali, ma in millisecondi. Questo \u00e8 un contatore di tipo Summation, ovvero mostra quanto tempo durante il periodo di misurazione la VM \u00e8 stata in stato di Ready. \u00c8 possibile convertire questo valore in percentuali con una formula semplice:<\/p>\n<p>(valore di somma CPU ready \/ (intervallo di aggiornamento predefinito della chart in secondi * 1000)) * 100 = % CPU ready<\/p>\n<p>Ad esempio, per la VM nel grafico qui sotto, il valore massimo di Ready per l'intera macchina virtuale sar\u00e0 il seguente: <\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/3e2df8bca55b572502d88b838cbc306e.jpg\" style=\"display:block;margin: 0 auto;\" \/> <\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/f0371c9cd655c1e4785e90debde61dc8.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQuando si calcola il valore di Ready in percentuali, \u00e8 importante prestare attenzione a due aspetti:<\/p>\n<ul>\n<li>Il valore di Ready per l'intera VM \u00e8 la somma di Ready per i core.<\/li>\n<li>Intervallo di misurazione. Per il tempo reale, \u00e8 di 20 secondi, mentre, ad esempio, nei grafici giornalieri, \u00e8 di 300 secondi.<\/li>\n<\/ul>\n<p>\nDurante il troubleshooting attivo, \u00e8 facile trascurare questi semplici aspetti e spendere tempo prezioso nella risoluzione di problemi inesistenti. <\/p>\n<p>Calcoliamo il valore di Ready sulla base dei dati del grafico sottostante. (324474\/(20*1000))*100 = 1622% per l'intera VM. Se consideriamo il numero di core, risulta meno allarmante: 1622\/64 = 25% per core. In questo caso, rilevare un inganno \u00e8 abbastanza semplice: il valore di Ready \u00e8 irrealistico. Ma se si parla di un 10-20% per l'intera VM con pi\u00f9 core, per ogni core il valore pu\u00f2 rientrare nella norma.<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/703ab2b1f1fab8bda10aad781c2cef78.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Cosa fare? <\/b>Un valore elevato di Ready indica che il server non ha sufficienti risorse di CPU per far funzionare correttamente le macchine virtuali. In questa situazione, l'unica soluzione \u00e8 ridurre il sovraccarico della CPU (vCPU:pCPU). \u00c8 ovvio che ci\u00f2 pu\u00f2 essere ottenuto riducendo i parametri delle VM esistenti o migrando parte delle VM su altri server.<\/p>\n<h3>Co-stop<\/h3>\n<p>\n<b>Come analizzare?<\/b> Questo contatore ha anch'esso un tipo di Somma e viene tradotto in percentuali in modo analogo a Ready:<\/p>\n<p>(valore della somma co-stop CPU \/ (intervallo di aggiornamento predefinito del grafico in secondi * 1000)) * 100 = percentuale di co-stop CPU<\/p>\n<p>Qui \u00e8 necessario prestare attenzione al numero di core sulla VM e all'intervallo di misurazione.<br \/>\nIn uno stato di co-stop, il core non svolge lavoro utile. Con una corretta selezione delle dimensioni della VM e un carico normale sul server, il contatore co-stop dovrebbe essere vicino a zero.<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/e226afbf91155c2d5d3fdc4571e7383a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>In questo caso, il carico \u00e8 chiaramente anormale :)<\/i><\/p>\n<p><b>Cosa fare?<\/b> Se su un hypervisor operano pi\u00f9 VM con un gran numero di core e c'\u00e8 un sovraccarico della CPU, il contatore co-stop pu\u00f2 aumentare, comportando problemi di prestazioni per queste VM. <\/p>\n<p>Anche il co-stop aumenter\u00e0 se per i core attivi di una VM vengono utilizzati thread su un solo core fisico del server con hyper-threading attivato. Questa situazione pu\u00f2 verificarsi, ad esempio, se la VM ha pi\u00f9 core di quanti fisicamente presenti sul server in cui opera, oppure se per la VM \u00e8 abilitata l'impostazione \u00abpreferHT\u00bb. Informazioni su questa impostazione possono essere lette <noindex><a rel=\"nofollow\" href=\"https:\/\/blogs.vmware.com\/vsphere\/2014\/03\/perferht-use-2.html\">qui<\/a><\/noindex>. <\/p>\n<p>Per evitare problemi di prestazioni della VM a causa di un elevato co-stop, scegliete le dimensioni della VM secondo le raccomandazioni del fornitore del software in esecuzione su questa VM e in base alle capacit\u00e0 del server fisico che esegue la VM. <\/p>\n<p>Non aggiungete core per riserva, in quanto ci\u00f2 potrebbe causare problemi di prestazioni non solo alla VM stessa, ma anche alle sue vicine sul server.<\/p>\n<h3>Altre metriche utili della CPU<\/h3>\n<p>\n<b>Esegui<\/b> \u2013 quanto tempo (ms) durante il periodo di misurazione la vCPU si \u00e8 trovata in stato di RUN, cio\u00e8 ha effettivamente eseguito lavoro utile.<\/p>\n<p><b>Idle<\/b> \u2013 quanto tempo (ms) il vCPU \u00e8 stato in stato di inattivit\u00e0 durante il periodo di misurazione. Valori elevati di Idle non sono un problema, semplicemente il vCPU non aveva \u00abnulla da fare\u00bb.<\/p>\n<p><b>Aspetta<\/b> \u2013 quanto tempo (ms) il vCPU \u00e8 stato in stato di attesa durante il periodo di misurazione. Poich\u00e9 in questo contatore \u00e8 incluso l'IDLE, valori elevati di Wait non indicano necessariamente un problema. Tuttavia, se IDLE \u00e8 basso mentre Wait \u00e8 alto, significa che la VM stava aspettando il completamento delle operazioni di input\/output, il che pu\u00f2 indicare un problema con le prestazioni del disco rigido o di alcuni dispositivi virtuali della VM.<\/p>\n<p><b>Max limitato<\/b> \u2013 quanto tempo (ms) il vCPU \u00e8 stato in stato di Pronto a causa di un limite impostato sulle risorse. Se le prestazioni sono inspiegabilmente basse, \u00e8 utile controllare il valore di questo contatore e il limite della CPU nelle impostazioni della VM. Potrebbero essere stati impostati limiti sulla VM di cui non sei a conoscenza. Ad esempio, ci\u00f2 accade quando la VM \u00e8 stata clonata da un modello in cui era imposto un limite sulla CPU.<\/p>\n<p><b>Attesa di swap<\/b> \u2013 quanto tempo durante il periodo di misurazione il vCPU ha atteso operazioni con VMkernel Swap. Se i valori di questo contatore sono superiori a zero, significa sicuramente che la VM ha problemi di prestazioni. Parleremo pi\u00f9 dettagliatamente dello SWAP nell'articolo sui contatori della memoria.<\/p>\n<h3>ESXTOP<\/h3>\n<p>\nSe i contatori di prestazioni in vCenter sono utili per analizzare dati storici, un'analisi operativa del problema \u00e8 meglio effettuata in ESXTOP. Qui tutti i valori sono presentati in forma pronta (non \u00e8 necessario tradurre nulla), e il periodo di misurazione minimo \u00e8 di 2 secondi.<br \/>\nLo schermo ESXTOP per CPU viene richiamato premendo il tasto \u00abc\u00bb e appare come segue:<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/f4f3611bc383007bdbaa0948001923c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer comodit\u00e0, \u00e8 possibile lasciare solo i processi delle macchine virtuali premendo Shift-V.<br \/>\nPer visualizzare le metriche per i singoli core della VM, premi \u00abe\u00bb e inserisci il GID della VM di interesse (30919 nello screenshot qui sotto):<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/5f2c0226cee6e4e43128537bd4da843f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPasser\u00f2 brevemente in rassegna le colonne presenti di default. Colonne aggiuntive possono essere aggiunte premendo \u00abf\u00bb.<\/p>\n<p><b>NWLD (Numero di Mondi)<\/b> \u2013 numero di processi nel gruppo. Per espandere il gruppo e vedere le metriche per ogni processo (ad esempio, per ogni core di una VM multicore), premi \u00abe\u00bb. Se nel gruppo ci sono pi\u00f9 di un processo, i valori delle metriche per il gruppo sono pari alla somma delle metriche per i singoli processi.<\/p>\n<p><b>%USED<\/b> \u2013 quanti cicli CPU il server utilizza per il processo o il gruppo di processi.<\/p>\n<p><b>%RUN<\/b> \u2013 quanto tempo durante il periodo di misurazione il processo \u00e8 stato in stato RUN, ovvero ha svolto lavoro utile. Si differenzia da %USED in quanto non tiene conto dell'hyper-threading, dello scaling della frequenza e del tempo speso per attivit\u00e0 di sistema (%SYS).<\/p>\n<p><b>%SYS<\/b> \u2013 tempo speso per attivit\u00e0 di sistema, ad esempio: gestione delle interruzioni, input\/output, lavoro di rete, ecc. Il valore pu\u00f2 essere alto se la VM ha un elevato input\/output.<\/p>\n<p><b>%OVRLP<\/b> \u2013 quanto tempo il nucleo fisico su cui viene eseguito il processo VM ha speso per compiti di altri processi.<\/p>\n<p>Queste metriche sono correlate tra loro nel seguente modo:<\/p>\n<p>%USED = %RUN + %SYS \u2014 %OVRLP.<\/p>\n<p>Di solito, la metrica %USED \u00e8 pi\u00f9 informativa.<\/p>\n<p><b>%WAIT<\/b> \u2013 quanto tempo durante il periodo di misurazione il processo \u00e8 stato in stato Wait. Comprende IDLE.<\/p>\n<p><b>%IDLE<\/b> \u2013 quanto tempo durante il periodo di misurazione il processo \u00e8 stato in stato IDLE.<\/p>\n<p><b>%SWPWT<\/b> \u2013 quanto tempo durante il periodo di misurazione la vCPU ha atteso operazioni con VMkernel Swap.<\/p>\n<p><b>%VMWAIT<\/b> \u2013 quanto tempo durante il periodo di misurazione la vCPU \u00e8 stata in attesa di un evento (di solito input\/output). Non esiste un contatore analogo in vCenter. Valori elevati indicano problemi di input\/output sulla VM.<\/p>\n<p>%WAIT = %VMWAIT + %IDLE + %SWPWT.<\/p>\n<p>Se la VM non utilizza VMkernel Swap, allora nell'analisi dei problemi di prestazioni \u00e8 utile osservare il %VMWAIT, poich\u00e9 questa metrica non tiene conto del tempo in cui la VM non ha fatto nulla (%IDLE).<\/p>\n<p><b>%RDY<\/b> \u2013 quanto tempo durante il periodo di misurazione il processo \u00e8 stato in stato Ready.<\/p>\n<p><b>%CSTP<\/b> \u2013 quanto tempo durante il periodo di misurazione il processo \u00e8 stato in stato costop.<\/p>\n<p><b>%MLMTD<\/b> \u2013 quanto tempo durante il periodo di misurazione la vCPU \u00e8 stata in stato Ready a causa di un limite di risorse impostato.<\/p>\n<p>%WAIT + %RDY + %CSTP + %RUN = 100% \u2013 il nucleo della VM \u00e8 sempre in uno di questi quattro stati.<\/p>\n<h3>CPU sull'iper-v<\/h3>\n<p>\nIn vCenter ci sono anche contatori delle prestazioni della CPU per l'iper-v, ma non offrono nulla di interessante: sono semplicemente la somma dei contatori per tutte le VM sul server.<br \/>\n\u00c8 pi\u00f9 facile osservare lo stato della CPU sul server nella scheda Riepilogo:<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/15b6b9a6da136d892fbaf7f80fc206c1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nPer il server, come per la macchina virtuale, esiste un allerta standard:<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/c3ae19ce3acd55cfff40d71437ee3a08.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nCon un alto carico sulla CPU del server, le VM che girano su di esso iniziano ad avere problemi di prestazioni.<\/p>\n<p>In ESXTOP, i dati sul caricamento della CPU del server sono visualizzati nella parte superiore dello schermo. Oltre al carico standard della CPU, che \u00e8 poco informativo per i hypervisor, ci sono altre tre metriche:<\/p>\n<p><b>CORE UTIL(%)<\/b> \u2013 utilizzo del core del server fisico. Questo contatore mostra quanto tempo, nel periodo di misurazione, il core ha eseguito lavoro.<\/p>\n<p><b>PCPU UTIL(%)<\/b> \u2013 se l'hyper-threading \u00e8 abilitato, ogni core fisico ha due thread (PCPU) associati. Questa metrica mostra quanto tempo ogni thread ha eseguito lavoro.<\/p>\n<p><b>PCPU USED(%)<\/b> \u2013 equivalente a PCPU UTIL(%), ma tiene conto dello scaling della frequenza (riduzione della frequenza del core per risparmio energetico o aumento della frequenza del core tramite tecnologia Turbo Boost) e dell'hyper-threading.<\/p>\n<p>PCPU_USED% = PCPU_UTIL% * frequenza efficace del core \/ frequenza nominale del core.<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/dd8562ea91bee55bbf630358df26c217.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>In questo screenshot, per alcuni core, a causa del funzionamento del Turbo Boost, il valore USED supera il 100%, poich\u00e9 la frequenza del core \u00e8 superiore a quella nominale.<\/i><\/p>\n<p>Due parole su come viene considerato l'hyper-threading. Se i processi vengono eseguiti al 100% del tempo su entrambi i thread del core fisico del server, e il core funziona alla frequenza nominale, allora:<\/p>\n<ul>\n<li>CORE UTIL per il core sar\u00e0 100%,<\/li>\n<li>PCPU UTIL per entrambi i thread sar\u00e0 100%,<\/li>\n<li>PCPU USED per entrambi i thread sar\u00e0 50%.<\/li>\n<\/ul>\n<p>\nSe entrambi i thread non hanno lavorato al 100% del tempo nel periodo di misurazione, nei momenti in cui i thread hanno lavorato in parallelo, PCPU USED per i core viene diviso a met\u00e0.<\/p>\n<p>In ESXTOP c'\u00e8 anche uno schermo con i parametri di consumo energetico della CPU del server. Qui puoi vedere se il server utilizza tecnologie di risparmio energetico: C-states e P-states. Attivato dal tasto \u00abp\u00bb:<\/p>\n<p><img decoding=\"async\" alt=\"Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU\" src=\"\/wp-content\/uploads\/2019\/05\/531bf847b99f86bec0bd90e005919c79.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Problemi standard di prestazioni della CPU<\/h3>\n<p>\nPer finire, vorrei rivedere le ragioni tipiche delle problematiche di prestazioni della CPU delle VM e dare brevi consigli su come risolverle:<\/p>\n<p><b>Mancanza di frequenza del core.<\/b> Se non \u00e8 possibile trasferire la VM a core pi\u00f9 potenti, si pu\u00f2 provare a modificare le impostazioni di consumo energetico per far funzionare meglio il Turbo Boost.<\/p>\n<p><b>Misurazione errata della VM (troppi pochi\/core).<\/b> Se si assegnano pochi core, l'utilizzo della CPU della VM sar\u00e0 elevato. Se troppi, si verificher\u00e0 un alto co-stop.<\/p>\n<p><b>Eccessiva sottoscrizione della CPU sul server.<\/b> Se sulla VM c'\u00e8 un alto valore di Ready, riduci la sottoscrizione della CPU.<\/p>\n<p><b>Topologia NUMA scorretta su VM di grandi dimensioni.<\/b> La topologia NUMA vista dalla VM (vNUMA) deve corrispondere alla topologia NUMA del server (pNUMA). Per la diagnostica e le possibili soluzioni a questo problema, \u00e8 scritto, ad esempio, nel libro <noindex><a rel=\"nofollow\" href=\"https:\/\/pages.rubrik.com\/host-resources-deep-dive_request.html\">\u00abVMware vSphere 6.5 Host Resources Deep Dive\u00bb<\/a><\/noindex>. Se non vuoi approfondire e non hai limitazioni di licenza sul sistema operativo installato sulla VM, crea sulla VM molti socket virtuali con un singolo core. Non perderai molto \ud83d\ude42<\/p>\n<p>Qui finisco sul CPU. Fai domande. Nella prossima parte parler\u00f2 della memoria RAM.<\/p>\n<p><b class=\"spoiler_title\">Link utili<\/b><noindex><a rel=\"nofollow\" href=\"http:\/\/virtual-red-dot.info\/vm-cpu-counters-vsphere\/\">http:\/\/virtual-red-dot.info\/vm-cpu-counters-vsphere\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/kb.vmware.com\/kb\/1017926\">https:\/\/kb.vmware.com\/kb\/1017926<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"http:\/\/www.yellow-bricks.com\/2012\/07\/17\/why-is-wait-so-high\/\">http:\/\/www.yellow-bricks.com\/2012\/07\/17\/why-is-wait-so-high\/<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/communities.vmware.com\/docs\/DOC-9279\">https:\/\/communities.vmware.com\/docs\/DOC-9279<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.vmware.com\/content\/dam\/digitalmarketing\/vmware\/en\/pdf\/techpaper\/performance\/whats-new-vsphere65-perf.pdf\">https:\/\/www.vmware.com\/content\/dam\/digitalmarketing\/vmware\/en\/pdf\/techpaper\/performance\/whats-new-vsphere65-perf.pdf<\/a><\/noindex><br \/>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/pages.rubrik.com\/host-resources-deep-dive_request.html\">https:\/\/pages.rubrik.com\/host-resources-deep-dive_request.html<\/a><\/noindex><br \/>\n<br \/>Fonte: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/dataline\/blog\/452884\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0430\u0434\u043c\u0438\u043d\u0438\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443 \u043d\u0430 \u0431\u0430\u0437\u0435 VMware vSphere (\u0438\u043b\u0438 \u043b\u044e\u0431\u043e\u0433\u043e \u0434\u0440\u0443\u0433\u043e\u0433\u043e \u0441\u0442\u0435\u043a\u0430 \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0439), \u0442\u043e \u043d\u0430\u0432\u0435\u0440\u043d\u044f\u043a\u0430 \u0447\u0430\u0441\u0442\u043e \u0441\u043b\u044b\u0448\u0438\u0442\u0435 \u043e\u0442 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439 \u0436\u0430\u043b\u043e\u0431\u044b: \u00ab\u0412\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0430\u044f \u043c\u0430\u0448\u0438\u043d\u0430 \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e!\u00bb. \u0412 \u044d\u0442\u043e\u043c \u0446\u0438\u043a\u043b\u0435 \u0441\u0442\u0430\u0442\u0435\u0439 \u0440\u0430\u0437\u0431\u0435\u0440\u0443 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0438 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443, \u0447\u0442\u043e \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u00ab\u0442\u043e\u0440\u043c\u043e\u0437\u0438\u0442\u00bb \u0438 \u043a\u0430\u043a \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043d\u0435 \u00ab\u0442\u043e\u0440\u043c\u043e\u0437\u0438\u043b\u043e\u00bb. \u0411\u0443\u0434\u0443 \u0440\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0442\u044c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0430\u0441\u043f\u0435\u043a\u0442\u044b \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d: CPU, RAM, DISK, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":25892,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-34335","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\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\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu\" \/>\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\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 1: CPU | ProHoster\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu\" \/>\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:43+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T18:57:43+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\udd47Analisi delle prestazioni della macchina virtuale in VMware vSphere. Parte 1: CPU | ProHoster","description":"","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu","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\u0410\u043d\u0430\u043b\u0438\u0437 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b \u0432 VMware vSphere. \u0427\u0430\u0441\u0442\u044c 1: CPU | ProHoster","og:url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/analiz-proizvoditelnosti-virtualnoj-mashiny-v-vmware-vsphere-chast-1-cpu","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:43+00:00","article:modified_time":"2019-10-31T18:57:43+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"34335","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:48:19","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 02:23:17","updated":"2026-01-21 18:48: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\/34335","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=34335"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/34335\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/25892"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=34335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=34335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=34335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}