データベース・サーバが同時に実行できるタスクの最大数を設定します。
{ dbsrv11 | dbeng11 } -gn integer ...
すべてのオペレーティング・システムとデータベース・サーバ
このオプションは、データベース・サーバの最大マルチプログラミング・レベルを設定します。データベース・サーバが同時に実行できるタスク (ユーザ要求とシステム要求) の数を制限します。データベース・サーバが最大数を超える要求を受け取った場合、新しい要求は実行中のタスクが完了するまで待つことになります。
未スケジュールの要求とアクティブな要求を加算した総数は、-gm サーバ・オプションで制限されます。これにより、サーバへの接続数を制限します。
-gn 値の設定が大きすぎると、データベース・サーバのシステム・リソースが大量に消費されるため、エラーになる場合があります。
ネットワーク・データベース・サーバとパーソナル・データベース・サーバではいずれも、アクティブ・タスクのデフォルト値は 20 に設定されています。ただし、Windows Mobile の場合は、このデフォルト値は 3 です。同時に実行できるアクティブ・タスクの数は、データベース・サーバのスレッドの数と、使用されている論理プロセッサの数によって異なります。
データベース・サーバのカーネルは、スケジューリングの単位としてタスクを使用します。ユーザ要求を実行するには、最低 1 つのタスクが必要です。ただし、1 つの要求に伴って追加のタスクがスケジューリングされることがあります。たとえば、外部のプロシージャや関数 (Java、Perl、CLR など) の実行を伴う要求では、データベース・サーバに対してデータベース要求が発行されます。
クエリ内並列処理が関連する場合は、同時に実行される各アクセス・プラン・コンポーネントがタスクになります。これらのタスクは、実際は個別の要求であるものとして、-gn オプションで指定された制限に考慮されます。ただし、クエリ内並列処理で作成されたタスクは、アクティブな要求とアクティブでない要求の数を追跡するデータベース・プロパティには反映されません。
-gss で指定したスタック・サイズは、各データベース・サーバ・タスクに割り当てられ、タスクの最大数は -gn オプションで指定します。-gss と -gn の両方のオプションに大きい値を設定すると、データベース・サーバが起動しないか、キャッシュ・サイズが大幅に制限される場合があります。たとえば、データベース・サーバの起動時に -gss オプションで 16 M を指定し、-gn オプションで 100 を指定すると、スタック用だけに 1.6 GB のメモリが割り当てられます。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |