IBM Cloud Docs
パフォーマンス

パフォーマンス

IBM Cloud® Databases for PostgreSQL のデプロイメントは、手動で使用量に合わせてスケーリングすることも、特定のリソース条件の下で自動スケーリングするように構成することもできます。 配備のパフォーマンスをチューニングする際に考慮すべき要素がいくつかあります。

デプロイメントのモニタリング

Databases for PostgreSQL デプロイメントは、デプロイメント上のリソース使用状況の基本モニタリングのための IBM Cloud® Monitoring サービスと統合されています。 ディスク使用量や IOPS など、使用可能なメトリックの多くは、デプロイメントでの自動スケーリングを構成するのに役立つように示されます。 使用状況の傾向を観察し、それに対応するように自動スケーリングを構成することにより、リソースの枯渇のためにデータベースが不安定になる前に、パフォーマンス上の問題を軽減することができます。

ディスク IOPS

1 秒当たりの入出力操作数 (IOPS) は、ストレージ・ボリュームのタイプによって制限されます。 Databases for PostgreSQL デプロイメント用のストレージ・ボリュームは、1 GB ティア当たり 10 IOPS の Block Storage エンデュランス・ボリュームにプロビジョンされます。 動作負荷が IOPS 限界に達している場合、またはそれを超えた場合、データベースの要求と操作は、ディスクがキャッチアップできるまで遅延されます。 重負荷が長時間に及ぶと、デプロイメントは照会を処理できなくなり、事実上使用不可になります。 応答の遅れや操作の失敗が発生した場合は、ディスクの IOPS 限界を超えている可能性があります。 ディスク・スペースを大きくすることによって、デプロイメントで使用できる IOPS 数を増やすことができます。

実稼働環境では、少なくとも 100 GB のディスク (1,000 IOPS) を推奨しています。

メモリー使用量

Databases for PostgreSQL のデプロイメントのメモリー設定は、デプロイメントの合計メモリーに基づいて自動的に調整されます。 具体的には work_mem, maintenance_work_mem および effective_cache_size はプロビジョニング、リストア、スケールのいずれかに設定される。

を調整することで、データベースの共有バッファ・プール専用のメモリ量を設定できます。 shared_buffersPostgreSQL を調整することで設定できます。 推奨値は、デプロイメントの合計メモリーの 25% です。 共有バッファ・プールにあまりに多くのメモリを割り当てると、他の目的のためにシステムのメモリが不足し、パフォーマンスが低下する可能性があります。

デプロイメントに割り振るメモリー (共有バッファー・プールの外部) を増やすことでも、パフォーマンスが向上します。 例えば、PostgreSQL は、パフォーマンスのためにメモリーにキャッシュ・ディスク・ページを取り込みます。 PostgreSQLが使用するために、PostgreSQLに直接メモリを割り当てる必要はありません。

接続制限

Databases for PostgreSQL は、PostgreSQL データベースへの接続の最大数を 115 に設定します。スーパーユーザーがデータベースの状態と保全性を維持するために 15 個の接続が予約され、ユーザーとアプリケーションが 100 個の接続を使用できます。 接続制限に達した後に新規接続を開始しようとするとエラーになります。 接続が原因でデプロイメントが過負荷になることを防止するには、接続プーリングを使用するか、デプロイメントをスケーリングして接続制限を引き上げてください。 詳しくは、PostgreSQL 接続の管理のページを参照してください。