Prestazioni e affidabilità

Cos'è il CPU steal time e perché è importante?

Risposta breve

Il steal time è la percentuale di tempo in cui la tua CPU virtuale era pronta a eseguire ma l'hypervisor ha dato il core fisico a qualcun altro. Appare come colonna "st" in top. Qualsiasi valore costantemente sopra il 2–3% significa che stai competendo per il core, ed è la causa usuale di picchi di latenza inspiegabili su un'istanza con vCPU condivise.

Il steal time è invisibile alla tua applicazione: il codice gira a piena velocità quando gira, semplicemente non ha sempre la possibilità di girare. Ecco perché si manifesta come latenza di coda piuttosto che come throughput lento, e perché i tempi di risposta medi possono sembrare buoni mentre il 99° percentile è pessimo.

La soluzione è vCPU dedicate, dove un thread fisico è riservato a te e nessun altro tenant viene schedulato su di esso. Due core dedicati superano regolarmente quattro core condivisi per qualsiasi cosa sensibile alla latenza.

Vedi anche: Hypervisor · vCPU