Descrizione delle unità di calcolo nel database di Azure per PostgreSQLExplaining Compute Units in Azure Database for PostgreSQL

Questo argomento spiega i concetti relativi alle unità di calcolo e ciò che accade quando il carico di lavoro raggiunge il livello massimo per le unità di calcolo.This topic explains the concept of Compute Units and what happens when your workload reaches the maximum level of Compute Units.

Cosa sono le unità di calcolo?What are Compute Units?

Le unità sono una misura della velocità effettiva di elaborazione della CPU garantita come disponibile per un singolo database di Azure per il server PostgreSQL.Compute Units are a measure of CPU processing throughput that is guaranteed to be available to a single Azure Database for PostgreSQL server. Un'unità di calcolo è una misura combinata di risorse di CPU e memoria.A Compute Unit is a blended measure of CPU and memory resources. In generale, 50 unità di calcolo equivalgono a metà di un core.In general, 50 Compute Units equate to half of a core. 100 unità di calcolo equivalgono a un core.100 Compute Units equate to one core. 2000 unità di calcolo equivalgono a 20 core di velocità effettiva di elaborazione garantita disponibile per il server.2000 Compute Units equate to 20 cores of guaranteed processing throughput available to your server.

La quantità di memoria per ogni unità di calcolo è ottimizzata per i piani tariffari Basic e Standard.The amount of memory per Compute Unit is optimized for the Basic and Standard pricing tiers. Raddoppiare le unità di calcolo aumentando il livello di prestazioni equivale a raddoppiare la quantità di CPU e memoria disponibile per quella singola istanza di Database di Azure per PostgreSQL.Doubling the Compute Units by increasing the performance level equates to doubling the amount of CPU and memory available to that single Azure Database for PostgreSQL.

Ad esempio, 800 unità di calcolo Standard offrono una velocità effettiva della CPU e una memoria maggiori di 8 volte rispetto alla configurazione di 100 unità di calcolo Standard.For example, a Standard 800 Compute Units provides 8x more CPU throughput and memory than a Standard 100 Compute Units configuration. Tuttavia, mentre 100 unità di calcolo Standard offrono la stessa velocità effettiva della CPU di 100 unità di calcolo Basic, la quantità di memoria che è già configurata nel piano tariffario Standard è il doppio della quantità di memoria configurata per il piano tariffario Basic.However, while Standard 100 Compute Units provide the same CPU throughput as does Basic 100 Compute Units, the amount of memory that is pre-configured in the Standard pricing tier is double the amount of memory configured for the Basic pricing tier. Pertanto, il piano tariffario Standard offre prestazioni migliori del carico di lavoro e una latenza delle transazioni inferiore rispetto al piano tariffario Basic con le stesse unità di calcolo selezionate.Therefore, the Standard pricing tier provides better workload performance and lower transaction latency than does the Basic pricing tier with the same Compute Units selected.

Come si determina il numero di unità di calcolo necessarie per il carico di lavoro?How can I determine the number of Compute Units needed for my workload?

Se si sta cercando di eseguire la migrazione di un server PostgreSQL esistente eseguito in locale o in una macchina virtuale, è possibile determinare il numero di unità di calcolo stimando il numero di core di velocità effettiva di elaborazione necessari per il carico di lavoro.If you are looking to migrate an existing PostgreSQL server running on-premises or on a virtual machine, you can determine the number of Compute Units by estimating how many cores of processing throughput your workload needs.

Se il server esistente nella macchina virtuale o locale sta attualmente usando 4 core, senza contare l'hyperthread CPU, è possibile iniziare configurando 400 unità di calcolo per il database di Azure per il server PostgreSQL.If your existing on-premises or virtual machine server is currently utilizing 4 cores (without counting CPU hyperthread), start by configuring 400 Compute Units for your Azure Database for PostgreSQL server. Le unità di calcolo possono essere aumentate o ridotte in modo dinamico in base alle esigenze del carico di lavoro praticamente senza tempi di inattività dell'applicazione.Compute Units can be dynamically scaled up or down depending on your workload needs with virtually no application downtime.

Monitorare il grafico delle metriche nel portale di Azure o scrivere comandi dell'interfaccia della riga di comando di Azure per misurare le unità di calcolo.Monitor the Metrics graph in the Azure portal or write Azure CLI commands to measure Compute Units. Le metriche pertinenti al monitoraggio sono la percentuale dell'unità di calcolo e il limite dell'unità di calcolo.Relevant metrics to monitor are the Compute Unit percentage and Compute Unit limit.

Importante

Se le operazioni di I/O al secondo per l'archiviazione non vengono usate al massimo, tenere sotto controllo anche l'uso delle unità di calcolo.If you find storage IOPS are not fully utilized to the maximum, consider monitoring the Compute Units utilization as well. L'aumento delle unità di calcolo potrebbe consentire una maggiore velocità effettiva di I/O riducendo il collo di bottiglia delle prestazioni a causa delle limitazioni della CPU o della memoria.Raising the Compute Units may allow for higher IO throughput by lessening the performance bottleneck due to limited CPU or memory.

Raggiungimento del numero massimo di unità di calcoloWhat happens when I hit my maximum Compute Units?

I livelli di prestazioni vengono calibrati e gestiti per offrire le risorse necessarie per eseguire il carico di lavoro del database fino ai limiti massimi consentiti per il livello di prestazioni e il piano tariffario selezionati.Performance levels are calibrated and governed to provide resources to run your database workload up to the maximum limits for the selected pricing tier and performance level.

Se il carico di lavoro raggiunge i limiti massimi per le unità di calcolo o per le operazioni di I/O al secondo con provisioning, è possibile continuare a usare le risorse al massimo livello consentito, ma probabilmente si noterà un aumento delle latenze per le query.If your workload reaches the maximum limits in either the Compute Units or provisioned IOPS, you can continue to use the resources at the maximum allowed level, but your queries are likely to see increased latencies. Con questi limiti non si verificheranno errori, ma solo un rallentamento nel carico di lavoro, a meno che il rallentamento non diventi così grave da provocare il timeout delle query.These limits do not result in any errors, but rather a slowdown in the workload, unless the slowdown becomes so severe that queries time out.

Se il carico di lavoro raggiunge i limiti massimi per quanto riguarda il numero di connessioni, vengono generati errori espliciti.If your workload reaches the maximum limits on number of connections, explicit errors are raised. Per altre informazioni sul limite delle risorse, vedere Limiti del Database di Azure per PostgreSQL.For more information on resources limits, see Limitations in Azure Database for PostgreSQL.

Passaggi successiviNext steps

Per altre informazioni, vedere Database di Azure per il piano tariffario di PostgreSQL.For more information on pricing tiers, see Azure Database for PostgreSQL pricing tiers.