La mia applicazione fa molti inserimenti nel database, quindi l'I / O del disco è una parte importante del carico di lavoro. Il QA esegue quasi tutti i test su VM. Sono preoccupato che i test intesi a rilevare regressioni di prestazioni non forniscano risultati ripetibili validi in un ambiente VM, dal momento che altre attività sulla macchina fisica influenzeranno le prestazioni dell'applicazione.
Si tratta di una preoccupazione legittima, oppure i moderni ambienti virtuali hanno un modo per isolare veramente l'ambiente di un'applicazione che consentirebbe di eseguire test delle prestazioni ripetibili?
Voglio mettere la mia applicazione e il mio database su una "macchina", eseguire un test e annotare quanto tempo è occorso (che sarà un numero di ore / minuti, non secondi / millisecondi). Più avanti nel mio ciclo di sviluppo, voglio eseguire lo stesso test e verificare se le prestazioni sono regredite a causa di modifiche al codice. Quando si esegue su una macchina fisica dedicata, ottengo risultati ragionevolmente coerenti. La mia domanda è: se eseguo questo test su una macchina virtuale, potrei ottenere differenze significative nel tempo di esecuzione a causa del lavoro svolto da altre VM sulla stessa casella fisica? C'è un modo per configurare la VM per controllare per questo, considerando che l'I / O del disco è una parte importante del carico di lavoro?