Gestire i costi e le prestazioni
I pool DevOps gestiti offrono diverse opzioni per configurare le prestazioni del pool. Questo articolo descrive le opzioni per la corrispondenza delle prestazioni del pool alle esigenze del carico di lavoro, aumentando o riducendo le prestazioni e i costi dei pool.
Configurare le prestazioni dell'agente
Quando si configura il pool devOps gestito, sono disponibili opzioni diverse per configurare le prestazioni e i costi del pool. Le sezioni seguenti descrivono alcune scelte che è possibile effettuare per configurare le prestazioni del pool.
- Tipi di disco
- Scegliere le dimensioni e il tipo di agente corretti
- Co-località dell'area del pool
- Pre-provisioning con agenti standby
Tipi di disco
Quando si crea il pool devOps gestito, è possibile scegliere SSD Standard o SSD Premium anziché il tipo di disco del sistema operativo Standard predefinito. Il tipo di disco del sistema operativo determina il tipo di disco usato per l'unità del sistema operativo. La directory di lavoro dell'agente è per impostazione predefinita nell'unità temporanea o D:\, pertanto non è possibile trarre vantaggio da un tipo di disco del sistema operativo costoso. Confrontare le prestazioni del carico di lavoro con diversi tipi di dischi del sistema operativo, comprendere i costi coinvolti e scegliere un tipo di disco del sistema operativo in modo appropriato.
Se la velocità effettiva del carico di lavoro supera il livello del livello standard, è possibile ottenere un miglioramento delle prestazioni nel carico di lavoro eseguendo l'aggiornamento a un tipo di disco con prestazioni più elevate. Per altre informazioni sui tipi di disco e sulle prestazioni, vedere Tipi di dischi gestiti di Azure.
Invece di modificare il tipo di disco del sistema operativo o passare a uno SKU più grande per più spazio su disco, è consigliabile configurare un disco dati per il pool. È possibile configurare una dimensione e un tipo di disco che soddisfi i requisiti del carico di lavoro e configurare i pool per l'uso di questa unità come directory di lavoro dell'agente, per fornire una maggiore archiviazione usando il tipo di disco del sistema operativo predefinito e una dimensione di macchina virtuale potenzialmente meno costosa.
Scegliere le dimensioni e il tipo di agente corretti
Le dimensioni dell'agente nei pool di DevOps gestiti specificano le dimensioni della macchina virtuale di Azure da usare per l'hosting degli agenti dei pool di DevOps gestiti. È possibile modificare le dimensioni dell'agente per il pool per fornire più core CPU, maggiore memoria e più spazio su disco. L'uso di una dimensione di macchina virtuale più potente aumenterà anche la fattura di Azure, quindi scegliere questa opzione solo se si determina che l'uso di una dimensione di macchina virtuale più potente aumenterà le prestazioni del carico di lavoro.
Architettura della CPU della macchina virtuale
Le dimensioni delle macchine virtuali basate su AMD sono spesso fino al 40% meno costose rispetto alle dimensioni delle macchine virtuali basate su Intel, con le stesse prestazioni o prestazioni migliori. L'uso delle dimensioni delle macchine virtuali basate su AMD offre l'opportunità di ridurre la spesa di Azure.
Dimensioni della VM
Assicurarsi di usare le dimensioni corrette della macchina virtuale di Azure. Se si usa attualmente una dimensione di 8 core della macchina virtuale di Azure, assicurarsi che il carico di lavoro sia in grado di usare tutti i 8 core. È possibile eseguire il carico di lavoro in dimensioni diverse delle macchine virtuali e verificare le prestazioni del carico di lavoro. È possibile effettuare il downgrade delle dimensioni di una macchina virtuale per ridurre cogS, mantenendo al tempo stesso le prestazioni del carico di lavoro.
Tipo di macchina virtuale
Diverse serie di macchine virtuali di Azure sono progettate per carichi di lavoro con caratteristiche specifiche per ottenere prestazioni migliori. Acquisire familiarità con diverse serie di SKU di Azure in modo da poter scegliere una serie più adatta al carico di lavoro. Esempio: se l'applicazione non usa tanto core quanto la memoria, è possibile scegliere una dimensione della macchina virtuale dalla famiglia di dimensioni ottimizzata per la memoria.
Esaminare i diversi tipi di macchine virtuali di Azure per comprendere i vantaggi. Ad esempio, se il carico di lavoro richiede più core e meno memoria, è possibile usare dimensioni ottimizzate per il calcolo. Se il carico di lavoro richiede più spazio su disco, ma gli stessi core/memoria, è possibile selezionare un tipo di macchina virtuale di Azure con un rapporto di calcolo più elevato invece di aumentare le dimensioni di uno SKU oppure è possibile usare un disco dati collegato.
Generazione del tipo di macchina virtuale
La generazione più recente di un tipo di macchina virtuale di Azure potrebbe risultare più efficiente rispetto alla versione precedente. Ad esempio, D2dsV4 e D2dsV5 hanno lo stesso prezzo e hanno le stesse specifiche, ma è probabile che V5 sia più veloce rispetto alla V4.
Co-località dell'area del pool
Provare a raggruppare l'area di Azure del pool nell'area in cui sono presenti le dipendenze del carico di lavoro CI/CD. Questa prossimità riduce la latenza di rete e rende i carichi di lavoro relativamente più efficienti. È possibile trovare l'area dell'organizzazione di Azure DevOps e individuare il pool DevOps gestito nella stessa area.
Pre-provisioning con agenti standby
Per impostazione predefinita, ogni volta che si accoda una pipeline, viene creato un agente da zero. È possibile scegliere di abilitare gli agenti di standby, in modo che le pipeline non passino tempo in attesa. Se gli agenti di standby sono stati attivati in modalità manuale, è possibile esaminare l'utilizzo cronologico degli agenti di standby e decidere se si vuole ridurre il numero di agenti di standby. È anche possibile decidere di disattivare completamente il pre-provisioning se i flussi di lavoro non sono critici per il tempo e possono attendere 5-10 minuti affinché gli agenti vengano creati su richiesta.
Un'opzione per migliorare le prestazioni dell'agente senza usare agenti standby consiste nell'usare agenti con stato con un breve periodo di tolleranza. Quando gli agenti con stato con un periodo di tolleranza completano un processo, rimangono online per la durata specificata dal periodo di tolleranza e attendono i processi. Se il carico di lavoro entra in picchi, è possibile configurare un periodo di tolleranza che mantiene gli agenti online quando i processi sono stabili e li avvia da zero durante periodi più lenti.
Per altre informazioni, vedere Agenti standby e pool con stato.