Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー データベース管理 » データベースの開始とデータベースへの接続 » SQL Anywhere データベースサーバーの使用 » SQL Anywhere のスレッド化

 

マルチプログラミングレベルのデータベースサーバー設定

データベースサーバーの「マルチプログラミングレベル」は、同時にアクティブにできるタスクの最大数ですクライアント側の要求がデータベースサーバーに届くと、その要求用に作成されたタスクがワーカー (使用可能な場合) に割り当てられます。ワーカーが割り当てられた要求は「アクティブな要求」と呼ばれます。使用可能なすべてのワーカーがビジー状態の場合、要求はスケジュールされていない要求キューと呼ばれる特殊なキューに格納され、要求はスケジュールされていない要求として分類されます。同様に、アクティブなタスクは、ワーカーによって現在実行されているタスクです。アクティブなタスクは、アクセスプランの演算子を実行したり、その他のファンクションを実行したりします。ただし、(I/O 操作やローロックなどのために) リソースを待機することもあります。スケジュールされていないタスクは、実行の準備が整っているものの、利用可能なワーカーを待機しているタスクを指します。同時に実行できるアクティブなタスクの数は、サーバーのスレッドの数と、コンピューターに搭載されている論理プロセッサーの数によって異なります。

SQL Anywhere を使用すると、DBA は、データベースサーバーがサーバースループットに基づいてマルチプログラミングレベルを動的にチューニングできるようにするか (デフォルト)、またはマルチプログラミングレベルを手動で設定するかを選択できます。マルチプログラミングレベルは、データベースサーバーの起動時にデータベースサーバーオプション (-gna、-gnl、-gnh) を指定して設定するか、またはデータベースサーバーの実行後に sa_server_option システムプロシージャーで MinMultiprogrammingLevel、MaxMultiprogrammingLevel、CurrentMultiprogrammingLevel プロパティを使用して設定できます。

次の表は、データベースサーバーのマルチプログラミングレベルを制御するコマンドラインオプションとサーバーオプションをまとめたものです。

データベースサーバーオプション (データベースサーバーの起動時) sa_server_option 値 (データベースサーバーの実行中) 説明
-gn CurrentMultiProgrammingLevel データベースサーバーのマルチプログラミングレベルを設定します。
-gna AutoMultiProgrammingLevel データベースサーバーのマルチプログラミングレベルの動的チューニングをオンまたはオフにします。
-gnh MaxMultiprogrammingLevel ネットワークデータベースサーバーが同時に実行できるタスクの最大数を設定します。
-gnl MinMultiProgrammingLevel ネットワークデータベースサーバーが同時に実行できるタスクの最小数を設定します。
 マルチプログラミングレベルのチューニング
 参照

各種マルチプログラミングレベル設定の効果
マルチプログラミングレベルの手動調整