Una vCPU è un thread di un processore fisico messo a disposizione della sua macchina virtuale. La parola è la stessa presso ogni fornitore; quello che ci ottiene no, e la differenza si vede solo quando è sotto carico.

I tre tipi

  • Condivisa. Il thread è condiviso con altri clienti. Costa poco e basta per un sito quasi sempre fermo - ma quando un vicino lavora, lei rallenta, e dalla sua parte non c'è nulla che lo spieghi.
  • Burstable. Una base garantita più crediti per andarci sopra. Ottima per un traffico a picchi; se il picco dura, i crediti finiscono e si ricade sulla base, che spesso è molto più bassa di quanto lei immaginasse.
  • Dedicata. Il thread è suo. Costa di più ed è l'unica in cui il numero comprato è il numero che ha sempre.

Quante gliene servono

Le richieste al secondo contano meno di quel che ciascuna richiesta fa. Una pagina da cache non costa quasi nulla; una ricerca su un catalogo grande costa parecchio. Misuri la sua pagina peggiore invece di leggere una tabella.

uptime
nproc
# load sustained near or above nproc means you are out of CPU

Quando più vCPU NON è la risposta

Se il carico è alto per attesa del disco - %wa alto in top - aggiungere CPU non cambia nulla. I processi stanno aspettando, non calcolando, e il rimedio è una query, un indice o un'archiviazione più veloce.

Lo steal time le racconta dei vicini

top -b -n 1 | head -3
# look at %st

Lo steal time è CPU che la sua macchina voleva e che l'host ha dato a qualcun altro. Restare sopra qualche punto percentuale su un piano condiviso è l'effetto del vicino rumoroso reso visibile, ed è un argomento a favore di core dedicati, non di più core condivisi.

I piani EGPHP dichiarano di che tipo sono. Se un piano non lo dice, è condiviso - e per un sito che non deve rallentare nella sua ora di punta quello è il prodotto sbagliato, per quanto buono sia il prezzo.