• 検索結果がありません。

マルチスレッドの実行

ドキュメント内 DABroker (ページ 52-57)

2   DABroker の機能(共通)

2.1  マルチスレッドの実行

DABrokerは,データベースアクセスをマルチスレッドで実行します。マルチスレッド

で実行すると,シングルスレッドで実行する場合に比べてシステムリソースの消費を軽 減でき,同時アクセス数(同時に実行できる処理数)の増加を実現します。

図2-1に示すように,シングルスレッドでは,プロセスごとにメモリ領域を確保します が,マルチスレッドでは,一つのプロセスで使用するメモリ領域で複数スレッドのメモ リ領域を確保できます。したがって,システムリソースの消費を軽減できます。

図2-1 マルチスレッドとシングルスレッドでのシステムリソース消費量の比較

また,マルチスレッドで実行すると,シングルスレッドで実行する場合に比べて,処理 にかかる時間を短縮できます。図2-2で同一処理を複数回実行する場合の例を示します。

シングルスレッドでは,複数の処理を一つのスレッドで実行しますが,マルチスレッド では,処理ごとにスレッドを生成し,スレッドを並行して実行できます。したがって,

処理時間を短縮できます。スレッドを並行に実行することで処理時間を短縮するため,

マルチスレッドは,非同期アクセス処理に適しています。

2. DABrokerの機能(共通)

図2-2 マルチスレッドとシングルスレッドでの処理時間の比較

次に,DABrokerで実現するスレッドの構成について説明します。

2.1.1 アプリケーションから実行するマルチスレッド

DABrokerでは,開発したアプリケーション,DABroker関連製品,及びDABrokerで 一つのプロセスを生成して実行します。プロセスで生成するスレッドの構成は,開発す るアプリケーションによって異なります。DABroker関連製品が提供するAPIを使用す ると,スレッドの制御方法などを意識することなく,マルチスレッドで実行するアプリ ケーションを開発できます。図2-3に,スレッドの生成例を示します。

2. DABrokerの機能(共通)

図2-3 スレッドの生成例

アプリケーションからのマルチスレッドの実行は,同時に複数処理を実行したい場合に 適しています。つまり,データベースへの非同期アクセス処理に適しています。

2.1.2 DBPARTNER から実行するマルチスレッド

DABrokerは,DBPARTNERを使用する場合DABrokerにアクセスするユーザの単位 にスレッドを生成します。図2-4に,DBPARTNERを使用する場合のスレッドの生成処 理を示します。

2. DABrokerの機能(共通)

図2-4 DBPARTNERの場合のDABrokerの処理方法

1プロセスで処理するスレッド数(=DABrokerに接続するユーザ数)は決められてい るので,1プロセスで処理するスレッド数を適切な値にするとDABrokerに同時に接続 できるユーザ数の増加にも効率的に対応できます。

1プロセスで処理するスレッド数(1プロセス当たりの実行ユーザ数)は,DABroker

2. DABrokerの機能(共通)

DABroker動作環境定義ファイル,最大接続ユーザ数,最大処理プロセス数,1プロセス

当たりの実行ユーザ数については,次の箇所を参照してください。

UNIXの場合:「3.4 DABrokerの動作環境の設定」

Windowsの場合:「4.5 DABroker環境設定項目」

設定値の見積もり方法については「5.2 DBPARTNERを使用する場合のスレッドの チューニング」を参照してください。

2. DABrokerの機能(共通)

ドキュメント内 DABroker (ページ 52-57)