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