Azure Database for PostgreSQL のコンピューティング ユニットについてExplaining Compute Units in Azure Database for PostgreSQL

このトピックでは、コンピューティング ユニットの概念と、ワークロードが最大コンピューティング ユニット レベルに達した場合に何が起こるかについて説明します。This topic explains the concept of Compute Units and what happens when your workload reaches the maximum level of Compute Units.

コンピューティング ユニットとはWhat are Compute Units?

コンピューティング ユニットは、単一の Azure Database for PostgreSQL サーバーで使用できることが保証される CPU 処理スループットの測定値で、Compute Units are a measure of CPU processing throughput that is guaranteed to be available to a single Azure Database for PostgreSQL server. CPU とメモリ リソースを組み合わせた測定値です。A Compute Unit is a blended measure of CPU and memory resources. 一般に、50 個のコンピューティング ユニットは、コアの半分と同等です。In general, 50 Compute Units equate to half of a core. 100 個のコンピューティング ユニットは、1 つのコアと同等です。100 Compute Units equate to one core. 2000 個のコンピューティング ユニットは、サーバーで使用可能な保証された処理スループットの 20 個のコアと同等です。2000 Compute Units equate to 20 cores of guaranteed processing throughput available to your server.

コンピューティング ユニットあたりのメモリ量は、Basic および Standard 価格レベル用に最適化されています。The amount of memory per Compute Unit is optimized for the Basic and Standard pricing tiers. パフォーマンス レベルを上げてコンピューティング ユニットを 2 倍にすると、単一の Azure Database for PostgreSQL が利用できる CPU とメモリの量が 2 倍にした場合と同じ効果が得られます。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.

たとえば、Standard 800 コンピューティング ユニットでは、Standard 100 コンピューティング ユニット構成よりも 8 倍の CPU スループットとメモリを実現します。For example, a Standard 800 Compute Units provides 8x more CPU throughput and memory than a Standard 100 Compute Units configuration. ただし、Standard 100 コンピューティング ユニットの CPU スループットは、Basic 100 コンピューティング ユニットと同じですが、Standard 価格レベルで事前構成されたメモリ量は、Basic 価格レベルで構成されているメモリ量の 2 倍になります。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. そのため、Standard 価格レベルでは、同じコンピューティング ユニットが選択された Basic 価格レベルより、ワークロードのパフォーマンスが向上し、トランザクションの待ち時間が減少します。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.

ワークロードで必要とされるコンピューティング ユニットの数を判断する方法How can I determine the number of Compute Units needed for my workload?

オンプレミスまたは仮想マシンで実行されている既存の PostgreSQL サーバーを移行することを検討している場合、コンピューティング ユニットの数を判断するには、ワークロードに必要な処理スループットのコア数を見積もります。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.

既存のオンプレミスまたは仮想マシン サーバーが現在使用しているのが 4 コアの場合は (CPU のハイパースレッド数を除く)、まず Azure Database for PostgreSQL サーバー用に 400 コンピューティング ユニットを構成します。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. コンピューティング ユニットのスケールアップとスケールダウンは、ワークロードのニーズに応じて動的に行うことができ、事実上、アプリケーションのダウンタイムは発生しません。Compute Units can be dynamically scaled up or down depending on your workload needs with virtually no application downtime.

Azure Portal でメトリック グラフを監視するか、コンピューティング ユニットを測定する Azure CLI コマンドを記述します。Monitor the Metrics graph in the Azure portal or write Azure CLI commands to measure Compute Units. 監視する関連メトリックは、コンピューティング ユニットの割合とコンピューティング ユニットの制限です。Relevant metrics to monitor are the Compute Unit percentage and Compute Unit limit.

重要

記憶域 IOPS が最大まで完全に利用されていないことがわかった場合は、コンピューティング ユニット使用率の監視も検討してください。If you find storage IOPS are not fully utilized to the maximum, consider monitoring the Compute Units utilization as well. コンピューティング ユニットを増やすと、CPU またはメモリの制限により、パフォーマンスのボトルネックが少なくなるため、IO スループットが向上する可能性があります。Raising the Compute Units may allow for higher IO throughput by lessening the performance bottleneck due to limited CPU or memory.

コンピューティング ユニットが最大数に達した場合に起こることWhat happens when I hit my maximum Compute Units?

選択した価格レベルとパフォーマンス レベルの最大限度までデータベース ワークロードを実行するように、パフォーマンス レベルが調整、制御され、リソースが提供されます。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.

ワークロードがコンピューティング ユニットまたはプロビジョニング済み IOPS のいずれかの上限に達した場合、許可される最大レベルでリソースを引き続き利用できますが、クエリの待ち時間が長くなる場合があります。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. 上限に達してもエラーにはなりませんが、ワークロードが遅くなり、遅延が深刻になった場合はクエリのタイムアウトが発生します。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.

ワークロードが、接続数の上限に達すると、明示的なエラーが発生します。If your workload reaches the maximum limits on number of connections, explicit errors are raised. リソース制限の詳細については、「Azure Database for PostgreSQL の制限事項」をご覧ください。For more information on resources limits, see Limitations in Azure Database for PostgreSQL.

次のステップNext steps

価格レベルの詳細については、Azure Database for PostgreSQL の価格レベルに関するページをご覧ください。For more information on pricing tiers, see Azure Database for PostgreSQL pricing tiers.