アクティブ、アイドル、および同時 HTTP 接続のメリット
StorageGRID システムのパフォーマンスに影響するのは、 HTTP 接続の設定方法です。設定は、 HTTP 接続がアクティブであるかアイドルであるか、同時に複数の接続を使用するかによって異なります。
次の種類の HTTP 接続について、パフォーマンスのメリットを特定することができます。
-
アイドル HTTP 接続
-
アクティブ HTTP 接続
-
同時 HTTP 接続
アイドル HTTP 接続を開いておくメリット
クライアント アプリケーションがアイドル状態のときに HTTP 接続を開いたままにして、後のトランザクションを許可します。アイドル状態の HTTP 接続を最大 10 分間開いたままにします。 StorageGRID は、10 分以上開かれアイドル状態になっている HTTP 接続を自動的に閉じる場合があります。
アイドル HTTP 接続を開いておくと、次のようなメリットがあります。
-
HTTP トランザクションの実行が StorageGRID 必要と判断されてから StorageGRID システムでトランザクションが実行されるまでのレイテンシが短縮されます
レイテンシの短縮は、特に TCP / IP 接続と TLS 接続の確立に時間がかかる場合に大きなメリットとなります。
-
実行済みの転送が増えるにしたがって TCP / IP のスロースタートアルゴリズムによってデータ転送速度が向上します
-
クライアントアプリケーションと StorageGRID システムの間の接続が中断された、複数の障害状況の瞬時通知
スロースタートの利点とリソースの割り当てのバランスを取りながら、アイドル接続を開いたままにする時間を決定します。
アクティブ HTTP 接続のメリット
ストレージノードに直接接続する場合は、HTTP接続でトランザクションを継続的に実行する場合でも、アクティブHTTP接続の継続時間を10分に制限する必要があります。
接続を開いておく最大継続時間は、接続を維持することで得られるメリットと内部システムリソースへの理想的な接続の割り当てとのバランスによって決まります。
ストレージノードへのクライアント接続でアクティブHTTP接続を制限すると、次のようなメリットがあります。
-
StorageGRID システム全体で負荷を最適に分散できます。
時間の経過とともに、負荷分散の要件が変化するため、HTTP 接続が最適ではなくなる可能性があります。クライアント アプリケーションがトランザクションごとに個別の HTTP 接続を確立すると、システムは最適な負荷分散を実行しますが、この方法では永続的な接続に関連する貴重な利点が無効になります。
-
クライアントアプリケーションからの HTTP トランザクションを使用可能な空きスペースがある LDR サービスに転送できる
-
メンテナンス手順を開始できます。
メンテナンス手順の中には、実行中のすべての HTTP 接続が完了してからでないと開始されないものがあります。
ロードバランササービスへのクライアント接続では、接続時間を制限することで一部のメンテナンス手順をすぐに開始できます。クライアント接続の時間が制限されていない場合、アクティブな接続が自動的に終了するまでに数分かかることがあります。
同時 HTTP 接続のメリット
StorageGRID システムへの TCP / IP 接続を複数開いて並列処理を可能にしておくと、パフォーマンスが向上します。最適な並列接続数は、さまざまな要因によって異なります。
同時 HTTP 接続には、次のようなメリットがあります。
-
レイテンシが短縮されます
他のトランザクションが完了するのを待たずに、トランザクションをすぐに開始できます。
-
スループットの向上
StorageGRID システムでは、トランザクションの並列処理が可能なため、全体的なトランザクションのスループットが向上します。
クライアントアプリケーションで複数の HTTP 接続を確立する必要があります。クライアントアプリケーションでトランザクションの実行が必要になったときは、確立された接続の中からトランザクションの処理に現在使用されていない接続を選択してすぐに使用することができます。
各StorageGRIDシステムのトポロジでは、同時トランザクションと接続のピーク スループットが異なります。ピーク スループットは、コンピューティング、ネットワーク、ストレージ リソース、WAN リンク、およびStorageGRIDシステムがサポートするサーバー、サービス、アプリケーションの数によって異なります。
StorageGRIDシステムは、多くの場合、複数のクライアント アプリケーションをサポートします。同時接続の最大数を決定するときは、この点を考慮してください。クライアント アプリケーションが、それぞれStorageGRIDシステムへの接続を確立する複数のソフトウェア エンティティで構成されている場合は、エンティティ間のすべての接続を合計します。次の状況では、同時接続の最大数を調整する必要が生じる場合があります。
-
StorageGRID システムのトポロジによって、システムでサポートできる同時トランザクションや同時接続の最大数が異なります。
-
クライアントアプリケーションがネットワークの限られた帯域幅で StorageGRID システムと通信する場合は、個々のトランザクションが妥当な時間で完了するように、必要に応じて同時実行の数を少なくします。
-
多くのクライアントアプリケーションで StorageGRID システムを共有する場合は、システムの制限を超えないように、同時実行の数を少なくする必要があります。
読み取り処理用と書き込み処理用に別々の HTTP 接続プールを使用する
読み取り処理と書き込み処理に別々の HTTP 接続プールを使用して、それぞれに使用するプールの容量を制御できます。HTTP 接続のプールを分けることで、トランザクションや負荷分散をより細かく制御できます。
クライアントアプリケーションで生成される負荷には、読み出し中心(読み取り)の負荷と格納中心(書き込み)の負荷があります。読み取りと書き込みで HTTP 接続プールを分けることで、各プールの量を調整してそれぞれのトランザクション専用に使用することができます。