Web サービスを公開する各データベースでは、データベース接続のプールにアクセスできます。特定の USER 句で定義されるすべてのサービスで同じ接続プールグループを共有するように、プールはユーザー名ごとにグループ化されます。
クエリを初めて実行するサービス要求は、最適化フェーズを経由して実行プランを確立する必要があります。プランのキャッシュと再使用が可能な場合、以降の実行では最適化フェーズを省略できます。HTTP 接続プーリングでは、プランを可能なかぎり再使用することによって、データベース接続におけるプランのキャッシュが活用されます。各サービスでは、再使用を最適化するために独自の接続リストが管理されます。ただし、負荷のピーク時には、サービスは同じユーザーグループの接続のうち使用率の最も低い接続を横取りすることがあります。
いくつかのサービスの実行に対してパフォーマンスを最適化できるキャッシュされたプランが、一定期間に特定の接続で取得されることがあります。キャッシュされたプランの設定の詳細については、max_plans_cached オプションを参照してください。
接続プールでは、特定のサービスに対する HTTP 要求は、データベース接続をプールから取得しようとします。HTTP セッションと異なり、プールされた接続は、接続スコープ変数やテンポラリテーブルなどの接続スコープ環境をリセットすることによって削除されます。
HTTP 接続プール内にプールされたデータベース接続は、ライセンス目的に使用される接続としてはカウントされません。プールから取得された接続は、ライセンスされた接続としてカウントされます。プールから接続を取得するときに HTTP 要求がライセンスの制限を越えると、503 Service Temporarily Unavailable
ステータスが返されます。
接続プールは、Web サービスが AUTHORIZATION OFF を指定して定義されている場合にのみ利用できます。詳細については、CREATE SERVICE 文 [HTTP Web サービス] と CREATE SERVICE 文 [SOAP Web サービス] を参照してください。
プール内のデータベース接続は、データベースと接続のオプションが変更されても更新されません。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |