データベースサーバーの「マルチプログラミングレベル」は、同時にアクティブにできるタスクの最大数ですクライアント側の要求がデータベースサーバーに届くと、その要求用に作成されたタスクがワーカー (使用可能な場合) に割り当てられます。ワーカーが割り当てられた要求は「アクティブな要求」と呼ばれます。使用可能なすべてのワーカーがビジー状態の場合、要求はスケジュールされていない要求キューと呼ばれる特殊なキューに格納され、要求はスケジュールされていない要求として分類されます。同様に、アクティブなタスクは、ワーカーによって現在実行されているタスクです。アクティブなタスクは、アクセスプランの演算子を実行したり、その他のファンクションを実行したりします。ただし、(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 | ネットワークデータベースサーバーが同時に実行できるタスクの最小数を設定します。 |
各種マルチプログラミングレベル設定の効果
マルチプログラミングレベルの手動調整
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |