このトピックでは、PolarDB for PostgreSQL Enterprise Edition の計算ノードの仕様について説明します。
PolarDB for PostgreSQL Enterprise Edition は、専用仕様と 汎用仕様をサポートしています。
専用: 各クラスタは、CPU などの割り当てられた計算リソースを同じサーバー上の他のクラスタと共有しないため、クラスタの信頼性と安定性が向上します。
汎用: CPU などのアイドル状態の計算リソースは、同じサーバー上のクラスタ間で共有されるため、費用対効果が高くなります。
表 1. 計算ノードの仕様
仕様タイプ | ノードタイプ | CPU とメモリ | 最大ストレージ容量 | 最大接続数1 | 内部帯域幅 | PSL4 最大 IOPS | PSL5 最大 IOPS | I/O 帯域幅 |
専用 | polar.pg.x4.medium | 2 コア、8 GB メモリ | 50 TB | 800 | 1 Gbps | 8,000 | 16,000 | 1 Gbps |
polar.pg.x8.medium | 2 コア、16 GB メモリ | 100 TB | 1,600 | 5 Gbps | 8,000 | 16,000 | 1 Gbps | |
polar.pg.x4.large | 4 コア、16 GB メモリ | 100 TB | 1,600 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x8.large | 4 コア、32 GB メモリ | 100 TB | 3,200 | 10 Gbps | 32,000 | 64,000 | 4 Gbps | |
polar.pg.x4.xlarge | 8 コア、32 GB メモリ | 100 TB | 3,200 | 10 Gbps | 50,000 | 128,000 | 8 Gbps | |
polar.pg.x8.xlarge | 8 コア、64 GB メモリ | 100 TB | 3,200 | 10 Gbps | 50,000 | 160,000 | 10 Gbps | |
polar.pg.x4.2xlarge | 16 コア、64 GB メモリ | 100 TB | 3,200 | 10 Gbps | 64,000 | 256,000 | 16 Gbps | |
polar.pg.x8.2xlarge | 16 コア、128 GB メモリ | 100 TB | 12,800 | 10 Gbps | 64,000 | 256,000 | 16 Gbps | |
polar.pg.x4.4xlarge | 32 コア、128 GB メモリ | 100 TB | 12,800 | 10 Gbps | 80,000 | 256,000 | 16 Gbps | |
polar.pg.x8.4xlarge | 32 コア、256 GB メモリ | 300 TB | 25,600 | 10 Gbps | 80,000 | 384,000 | 24 Gbps | |
polar.pg.x4.6xlarge | 48 コア、192 GB メモリ | 100 TB | 12,800 | 10 Gbps | 100,000 | 256,000 | 16 Gbps | |
polar.pg.x8.6xlarge | 48 コア、384 GB メモリ | 300 TB | 25,600 | 10 Gbps | 100,000 | 384,000 | 24 Gbps | |
polar.pg.x4.8xlarge | 64 コア、256 GB メモリ | 300 TB | 25,600 | 10 Gbps | 120,000 | 384,000 | 24 Gbps | |
polar.pg.x8.8xlarge | 64 コア、512 GB メモリ | 500 TB | 36,000 | 10 Gbps | 120,800 | 409,600 | 24 Gbps | |
polar.pg.x8.12xlarge | 88 コア、710 GB メモリ | 500 TB | 36,000 | 25 Gbps | 150,000 | 512,000 | 32 Gbps | |
polar.pg.x8.15xlarge | 120 コア、920 GB メモリ | 500 TB | 36,000 | 25 Gbps | 150,000 | 512,000 | 32 Gbps | |
汎用 | polar.pg.g2.medium | 2 コア、4 GB メモリ | 20 TB | 500 | 1 Gbps | 5,000 | 10,000 | 1 Gbps |
polar.pg.g4.medium | 2 コア、8 GB メモリ | 50 TB | 800 | 1 Gbps | 5,000 | 16,000 | 1 Gbps | |
polar.pg.g2.large | 4 コア、8 GB メモリ | 50 TB | 1,000 | 10 Gbps | 16,000 | 32,000 | 10 Gbps | |
polar.pg.g4.large | 4 コア、16 GB メモリ | 100 TB | 1,600 | 10 Gbps | 16,000 | 64,000 | 4 Gbps | |
polar.pg.g2.xlarge | 8 コア、16 GB メモリ | 100 TB | 2,000 | 10 Gbps | 32,000 | 96,000 | 4 Gbps | |
polar.pg.g4.xlarge | 8 コア、32 GB メモリ | 100 TB | 3,200 | 10 Gbps | 32,000 | 128,000 | 8 Gbps | |
polar.pg.g8.xlarge | 8 コア、64 GB メモリ | 100 TB | 3,200 | 10 Gbps | 42,000 | 160,000 | 10 Gbps | |
polar.pg.g2.2xlarge | 16 コア、32 GB メモリ | 100 TB | 3,200 | 10 Gbps | 48,000 | 192,000 | 10 Gbps |
最大接続数 1: 接続数の制限です。 max_connections パラメーターを使用して、最大接続数を指定できます。 計算ノードでサポートされる実際の接続数は、ビジネス要件によって異なる場合があります。 詳細については、「最大接続数」をご参照ください。
Enterprise Edition クラスタの最大 IOPS と I/O 帯域幅は、ノード数に比例して増加します。 たとえば、専用仕様、8 コア 32 GB 計算ノード、および PSL5 ストレージを使用する Enterprise Edition クラスタでは、クラスタに 1 つの読み書きノードと 3 つの読み取り専用ノードが含まれている場合、クラスタの最大ストレージパフォーマンスは 4 × 96,000 IOPS と 4 × 8 Gbps I/O 帯域幅です。
PSL4 によって提供される IOPS は、計算仕様の最大 IOPS とストレージ IOPS によって決まります。 計算ノードの IOPS を計算するには、次の式を使用します:
min{計算仕様の最大 IOPS, ストレージ IOPS}
。 ストレージ IOPS を計算するには、次の式を使用します:min{1,800+50×ストレージ容量, 50,000}
。 単位: GB。たとえば、クラスタの計算ノードの仕様が polar.pg.x8.xlarge で、計算仕様の最大 IOPS が 80,000 であるとします。 ストレージ容量は 100 GB であるため、ストレージ IOPS は min{1,800+50*100, 50,000}=6,800 です。 その結果、計算ノードの IOPS は min{80,000, 6,800}=6,800 です。
Enterprise Edition クラスタの各ノードのストレージ仕様は、他のノードのストレージ仕様から独立しています。 たとえば、1 つの読み書きノードと 3 つの読み取り専用ノードを含む Enterprise Edition クラスタの場合、ストレージ仕様が 128,000 IOPS と 8 Gbps I/O 帯域幅である場合、各ノードのストレージ仕様は 128,000 IOPS と 8 Gbps I/O 帯域幅です。
2020 年 12 月にリリースされたマイナーバージョン 1.1.7 では、一部の計算ノード仕様でサポートされる最大接続数が変更されました。 上記の表には、新しい仕様が含まれています。 変更は、マイナーバージョン 1.1.7 のリリース後に作成されたすべてのクラスタに適用されます。 既存のクラスタの場合、クラスタの仕様を変更することで、最大接続数を変更できます。
最大接続数
PolarDB for PostgreSQL クラスタへの同時接続数が最大接続数を超えると、新しい接続を確立できなくなったり、既存の接続がタイムアウトしたりします。
各接続のメモリ消費量は、業務システムによって異なります。 クラスタでサポートされる実際の接続数は、指定された最大接続数と異なる場合があります。
指定された最大接続数をクエリするには、次の文を実行します。
SHOW max_connections;
現在の接続数をクエリするには、次の文を実行します。
SELECT count(1) FROM pg_stat_activity;
クラスタへの接続数が推奨値を超えないようにするには、ビジネス条件とクラスタの状態を監視することをお勧めします。 推奨値は、次の式を使用して計算できます。
LEAST({DBInstanceClassMemory/11MB}, 5000)
。アプリケーションでより多くの接続数が必要な場合は、より大きなメモリを搭載したクラスタを使用することをお勧めします。