TimesTenコンテナ化デプロイメントについて
インメモリー・データベースである場合、TimesTenでは、意図的に大量のメモリーが使用されます。TimesTenを実行するプロセスが、特定のノードで最も多くメモリーを使用している場合があります。オペレーティング・システムがストレスを受けた場合に、TimesTenが、LinuxのOOMキラーによって終了される主要な候補となる可能性があります。そのため、TimesTenコンテナに対してメモリーのリクエストおよび制限を指定することが重要です。CPUのリクエストおよび制限も指定することをお薦めします。
ノート:
リクエストの値とリソースの制限の値が同じであることを確認します。たとえば、daemonlogコンテナに対するmemoryリクエストの値が30Miである場合、このdaemonlogコンテナに対するmemory制限の値も30Miになります。この章の後半で、これについて説明する例を示します。
ttコンテナに対するmemoryリクエストとmemory制限の指定は最も重要です。この値は、TimesTenデータベースを保持するために必要なメモリーと、TimesTenデーモン、サブデーモン、キャッシュおよびレプリケーション・エージェント、クライアント/サーバーなどに必要なメモリーによって異なります。そのデータベースを保持するために必要なメモリーは、データベースのサイズによって異なります。
TimesTenオペレータでは、TimesTenデータベースを的確にサイズ設定する機能が用意されています。この機能については、後で説明します。TimesTenデーモン、サブデーモン、クライアント/サーバーに必要な追加メモリーは、SQLおよびPL/SQLの使用状況によって異なり、そのメモリー要件はワークロードによって異なります。TimesTenオペレータでは、この追加メモリーのデフォルトは2Giになっています。このデフォルトを使用することも、それを変更することもできます。その変更方法については、後で説明します。
TimesTenコンテナの場合のデフォルトを見てみましょう。どの場合でも、デフォルトを変更するオプションがあります。
-
ttコンテナ:memory: この値については、この章で詳しく説明します。CPU: この値は、ttコンテナに必要なCPUの量によって異なります。これには、TimesTenデーモン、サブデーモン、レプリケーション・エージェント、キャッシュ・エージェントおよびクライアント/サーバーによって使用されるCPUが含まれます。クライアント/サーバーではアプリケーションにかわってSQLが実行されるため、この値はワークロードによって異なります。デフォルト値はありません。
-
daemonlogコンテナ:memory: デフォルトは200Miです。cpu: デフォルトは200mです。
-
exporterコンテナ(プロビジョニングされている場合):memory: デフォルトは200Miです。cpu: デフォルトは200mです。
また、TimesTen Scaleoutを使用している場合は、考慮するTimesTenコンテナが他にもあります:
-
管理インスタンスの
ttコンテナ:memory: デフォルトは3Giです。cpu: デフォルトは1です。
-
zookeeperコンテナ:memory: デフォルトは1Giです。cpu: デフォルトは500mです。