"Performance" ha molti aspetti. Gli n00bs misurano il tempo di avvio di un sistema operativo e dicono ad esempio che Windows 2012 è davvero fantastico perché si avvia in 12 secondi su HD reale, forse 1 secondo su SSD.
Ma questo tipo di misura non è molto utile: le prestazioni sono uguali al tempo di avvio del sistema operativo, ma il sistema operativo si avvia una volta al mese in modo da ottimizzare che non ha molto senso.
Perché è la mia attività quotidiana, potrei sottolineare le 4 parti seguenti che compongono la "performance"
Carico della CPU
Questo dovrebbe essere comparabile, nel senso che un'attività che richiede 1000 ms su bare metal verrà eseguita in 1000 ms di tempo di processo e probabilmente 1050 ms di tempo di clock in un ambiente VM inattivo sullo stesso hardware (alcuni dettagli in seguito). Google MSDN per processtime e queryperformancecounter e tu puoi fare qualcosa che può mostrare quanto la VM consuma il tuo tempo CPU.
Prestazioni SQL
Le prestazioni SQL dipendono fortemente da IO per l'archivio dati in cui sono archiviati i dati SQL. Ho visto una differenza del 300% tra ISCSI di prima generazione che potresti trovare sul NAS di Buffalo, quindi ISCSI con DCE e un vero ambiente FC di vecchia scuola, a tutti i livelli. Oggi l'FC vince ancora, perché la latenza dell'FC è l'archiviazione lowesst che porta a una "copia" del protocollo FC per i miglioramenti del data center TCP / IP. Qui IOps e latenza sono fondamentali ma anche larghezza di banda IO dal processo del server ai media - dipende se l'app tende a No-SQL o al datawarehousing o è nel mezzo come sistemi ERP ... Sage KHK per le piccole imprese, SAP per quelli enormi.
Accesso al filesystem
Alcune applicazioni, come lo streaming video, si basano su una larghezza di banda minima garantita, altre si affidano alla massima velocità di trasmissione IO, come ad esempio l'apertura di file di grandi dimensioni in un editor esadecimale, il caricamento di un progetto video nel tuo film preferito che crea prog. Non è una situazione tipica su un vm .... gli IOps possono anche essere importanti per gli sviluppatori. Gli sviluppatori fanno spesso uso di macchine virtuali perché gli ambienti di sviluppo sono molto sensibili e quindi la tentazione di farlo in una macchina virtuale è alta. Compilare un grande progetto spesso significa leggere tonnellate di piccoli file, fare le cose del compilatore e costruire un EXE e i componenti che lo accompagnano.
Latenza di rete verso il client
Qui l'usabilità dei prog WYSIWIG come word 2010, Openoffice Writer, LaTEX, GSView e altri si basa molto sulla velocità: la velocità con cui un'azione del mouse arriva dal client al server. Soprattutto nelle app CAD questo è importante .... ma non è un problema LAN, è l'accesso remoto su WAN dove questo è importante.
Ma - e parlo dal punto di vista di anni di consulenza - ci sono utenti che hanno la password dell'amministratore (e spesso sono dipendenti di una GRANDE azienda con un GRANDE budget e un GRANDE portafoglio) che lamentano questo e quello, ma deve essere chiarito quale componente delle prestazioni è importante per loro e quale è importante dal punto di vista dell'applicazione che utilizzano.
Molto probabilmente non è un blocco note, ma un'applicazione altamente sofisticata per progettare questo e quello, che era anche molto costoso e dovrebbe essere spostato su VMware, HyperV o Xenapp e non funziona come previsto.
Ma non hanno in mente che potrebbe funzionare su Xeon da 1,5 GHz su blade non realizzati per prestazioni CPU pure, sono costruiti in media, diciamo "ottimizzati per $ per ciclo CPU" o "cicli CPU per Watt" .
E quando parliamo di compromessi ed economizzazioni, ciò porta principalmente a sovraccarichi. I sovraccarichi portano alla mancanza di risorse in cui la CPU può essere gestita abbastanza bene, ma la mancanza di memoria porta al paging, la mancanza di I / O nei router core porta ad un aumento dei tempi di risposta su tutto e il sovraccarico transazionale su qualsiasi tipo di archiviazione potrebbe arrestare ogni app utile di rispondere troppo velocemente. Qui è richiesto il monitoraggio, ma molti fornitori di software non sono in grado di fornire tali informazioni .... d'altra parte un host con risorse di 3 server fisici può molto probabilmente gestire 8 macchine virtuali dello stesso layout come quelle fisiche ...
I compromessi della CPU sui sistemi inattivi spesso portano a sistemi con prestazioni del 50% più lente rispetto ai sistemi fisici, d'altra parte nessuno è in grado di installare il sistema operativo "reale" e l'app "mondo reale" che i ragazzi IT del cliente vogliono spostare nella VM scatola. E ci vogliono giorni (forse settimane ma sicuramente 42 riunioni) per chiarire che la tecnologia VM può offrire flessibilità scambiando la pura velocità della CPU. Questo è appena integrato nelle CPU di questi sistemi blade che ospitano oggigiorno ambienti VM più grandi. Inoltre la memoria non sarà comparabile, si applicano anche alcuni compromessi. DDR3 1600 CL10 avrà una larghezza di banda di memoria maggiore rispetto a DDR2 800 ECC LLR - e tutti sanno che le CPU Intel ne traggono vantaggio in un modo diverso rispetto a cpus AMD. Ma sono usati raramente in ambienti produttivi, più nei whitebox o nei data center ospitati in paesi del terzo mondo che offrono un servizio di datacenter al 10% del prezzo che un datacenter nella propria patria può fatturare. Grazie a Citrx un datacenter può essere ovunque se è inferiore a 150 ms di latenza tra l'utente finale e il datacenter.
E la prospettiva degli utenti domestici ....
Ultimo ma non meno importante, alcune persone vogliono buttare via Win7 o XP e scambiarlo con un Linux, e poi sorge la domanda di gioco perché in realtà sono disponibili solo pochi giochi per Linux e Windows. Il gioco si basa fortemente sull'accelerazione 3D. VMWare 6.5 Workstation e il lettore gratuito connesso possono gestire DirectX 9, il che significa che un Doom3 in una VM può essere eseguito sulla scheda grafica host a schermo intero. I giochi sono principalmente app a 32 bit, quindi non consumano più di 3 GB e per lo più non più di 3 CPU (visto su Crysis). I lettori VM e WS più recenti sono in grado di gestire versioni DirectX superiori e probabilmente anche OpenGL ... Ho utilizzato UT e UT2004 su VMware 6.5, l'host aveva un ATI Radeon 2600 mobile e una CPU T5440. Era stabile a 1280x800 e giocabile anche su giochi di rete ....