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

SQL Anywhere 11.0.1 (日本語) » SQL Remote » SQL Remote の配備と管理 » SQL Remote の管理 » SQL Remote のパフォーマンス向上 » メッセージ受信時のパフォーマンス向上

 

ワーカ・スレッド数の調整

次の手順では、Message Agent (dbremote) がどのように受信メッセージを適用するかを示します。

  1. メッセージを読み込みます。メッセージが読み込まれ、ヘッダ情報が検索されます (正しい適用順を決定するため)。メッセージ・システムからのメッセージの読み込みは、1 つのスレッドになります。

  2. メッセージを適用します。読み込まれたメッセージが、適用されるデータベース・ワーカ・スレッドに渡されます。

    通常、リモート・データベースでは、メッセージは直列で適用されます。多層システムでは、リモート・データベースが他のリモートの統合データベースになることもあります。このタイプのリモート・データベースでは、統合データベースと同様にメッセージが適用されます。

    統合データベースでは、デフォルトでメッセージが直列に適用されます。追加のデータベース・ワーカ・スレッドを使用すると、リモート・ユーザからの受信メッセージを並列で適用できます。Message Agent (dbremote)の -w オプションを参照してください。

    統合データベースでデータベース・ワーカ・スレッドを使用すると、次のようになります。

    • さまざまなリモート・ユーザからのメッセージが並列で適用される。

    • リモート・ユーザ 1 人からのメッセージは直列で適用される。

      たとえば、リモート・ユーザ 1 人から 10 件のメッセージが送信されると、そのメッセージは 1 つのワーカ・スレッドで適切な順序で適用されます。

データベース・ワーカ・スレッドを使用する場合の利点

統合データベースでデータベース・ワーカ・スレッドを使用する場合、メッセージを直列でなく並列に適用できるようにするとスループットが向上します。分散されたドライブ・アレイがあるシステム上にデータベース・サーバがあるときに、パフォーマンス上の利点が顕著に表れます。

データベース・ワーカ・スレッドを使用する場合の欠点

統合データベースでデータベース・ワーカ・スレッドを使用する場合、ワーカ・スレッドによってユーザ間に多数のロックが生じると、スループットが低下することがあります。

ロールバックされたトランザクションを後で再適用することで、デッドロックが処理されます。

♦  データベース・ワーカ・スレッド数を設定するには、次の手順に従います。
参照