このトピックでは、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 メモリ | 100 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 | 64,000 | 128,000 | 8 Gbps | |
polar.pg.x8.xlarge | 8 コア、64 GB メモリ | 100 TB | 3,200 | 10 Gbps | 80,000 | 160,000 | 10 Gbps | |
polar.pg.x4.2xlarge | 16 コア、64 GB メモリ | 100 TB | 3,200 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.2xlarge | 16 コア、128 GB メモリ | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x4.4xlarge | 32 コア、128 GB メモリ | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.4xlarge | 32 コア、256 GB メモリ | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x4.6xlarge | 48コア、192 GBメモリ | 100 TB | 12,800 | 10 Gbps | 128,000 | 256,000 | 16 Gbps | |
polar.pg.x8.6xlarge | 48コア、384 GBメモリ | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x4.8xlarge | 64 コア、256 GB メモリ | 300 TB | 25,600 | 10 Gbps | 192,000 | 384,000 | 24 Gbps | |
polar.pg.x8.8xlarge | 64 コア、512 GB メモリ | 500 TB | 36,000 | 10 Gbps | 204,800 | 409,600 | 24 Gbps | |
polar.pg.x8.12xlarge | 88 コア、710 GB メモリ | 500 TB | 36,000 | 25 Gbps | 256,000 | 512,000 | 32 Gbps | |
polar.pg.x8.15xlarge | 120コア、920 GBメモリ | 500 TB | 36,000 | 25 Gbps | 256,000 | 512,000 | 32 Gbps | |
汎用 | polar.pg.g2.medium | 2 コア、4 GB メモリ | 5 TB | 500 | 1 Gbps | 5000 | 10000 | 1 Gbps |
polar.pg.g4.medium | 2 コア、8 GB メモリ | 5 TB | 800 | 1 Gbps | 8000 | 16000 | 1 Gbps | |
polar.pg.g2.large | 4 コア、8 GB メモリ | 10 TB | 1000 | 10 Gbps | 16000 | 32000 | 10 Gbps | |
polar.pg.g4.large | 4 コア、16 GB メモリ | 10 TB | 1600 | 10 Gbps | 32000 | 64000 | 4 Gbps | |
polar.pg.g2.xlarge | 8 コア、16 GB メモリ | 10 TB | 2000 | 10 Gbps | 48000 | 96000 | 4 Gbps | |
polar.pg.g4.xlarge | 8 コア、32 GB メモリ | 10 TB | 3200 | 10 Gbps | 64000 | 128000 | 8 Gbps | |
polar.pg.g8.xlarge | 8 コア、64 GB メモリ | 30 TB | 3200 | 10 Gbps | 80,000 | 160,000 | 10 Gbps | |
polar.pg.g2.2xlarge | 16 コア、32 GB メモリ | 30 TB | 3200 | 10 Gbps | 96000 | 192000 | 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 PGの最大接続数の調整クォータ名の [操作] 列で [適用] をクリックします。
最大接続数
PolarDB for PostgreSQLクラスターへの同時接続数が最大接続数を超えた場合、新しい接続を確立できないか、既存の接続がタイムアウトします。
各接続のメモリ消費量は、業務システムによって異なります。 クラスターでサポートされている実際の接続数は、指定された最大接続数とは異なる場合があります。
指定した最大接続数をクエリするには、以下の文を実行します。
SHOW max_connections;
現在の接続数をクエリするには、以下の文を実行します。
SELECT count(1) FROM pg_stat_activity;
クラスターへの接続数が推奨値を超えないようにするには、ビジネス条件とクラスターのステータスを監視することを推奨します。 推奨値は以下の式を使用して計算できます。
LEAST({DBInstanceClassMemory/11MB}, 5000)
.アプリケーションで必要な接続数が多い場合は、メモリ容量の大きいクラスターを使用することを推奨します。