Jede Datenbank, die Webdienste bereitstellt, hat Zugriff auf einen Pool von Datenbankverbindungen. Der Pool ist nach Benutzername gruppiert, sodass alle unter einer bestimmten USER-Klausel definierten Dienste sich in derselben Verbindungspoolgruppe befinden.
Eine Dienstanforderung, die eine Abfrage zum ersten Mal ausführt, muss eine Optimierungsphase zur Einrichtung eines Ausführungsplans durchlaufen. Wenn der Plan im Cache abgelegt und wiederverwendet werden kann, kann die Optimierungsphase für die nachfolgenden Ausführungen übersprungen werden. HTTP-Verbindungspooling nutzt für Datenbankverbindungen die im Cache abgelegten Pläne, indem es sie, wo immer möglich, wiederverwendet. Jeder Dienst verwaltet zur Optimierung der Wiederverwendung seine eigene Liste von Verbindungen. Bei Spitzenlasten kann es dazu kommen, dass ein Dienst die am wenigsten verwendeten Verbindungen aus derselben Benutzerverbindungsgruppe "stiehlt".
Mit der Zeit kann eine bestimmte Verbindung möglicherweise im Cache abgelegte Pläne erwerben, die die Performance für die Ausführung einer Reihe von Diensten optimieren können. Weitere Hinweise zu den Einstellungen für im Cache abgelegte Pläne finden Sie unter max_plans_cached-Option.
In einem Verbindungspool versucht eine HTTP-Anforderung für einen bestimmten Dienst eine Datenbankverbindung aus einem Pool zu erwerben. Anders als bei HTTP-Sitzungen werden gepoolte Verbindungen durch Zurücksetzen der Verbindungsbereichsumgebung saniert, d. h. durch Zurücksetzen der Verbindungsbereichsvariablen und der temporären Tabellen.
Innerhalb des HTTP-Verbindungspools gepoolte Datenbankverbindungen werden in Zusammenhang mit der Lizenzierung nicht als verwendete
Verbindungen gezählt. Verbindungen werden als lizenzierte Verbindungen gezählt, wenn sie aus einem Pool erworben werden. Ein
Status des Typs 503 Service Temporarily Unavailable
wird zurückgegeben, wenn bei einer HTTP-Anforderung die Lizenzeinschränkungen überschritten werden, während eine Verbindung
aus dem Pool erworben wird.
Webdienste können nur einen Verbindungspool verwenden, wenn sie mit AUTHORIZATION OFF definiert sind. Weitere Hinweise finden Sie unter CREATE SERVICE-Anweisung [HTTP-Webdienst] und CREATE SERVICE-Anweisung [SOAP-Webdienst].
Eine Datenbankverbindung in einem Pool wird nicht aktualisiert, wenn Änderungen an Datenbank- und Verbindungsoptionen vorgenommen werden.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |