Freigeben über


Gewusst wie: Ändern der Einstellungen für das Anforderungsdrosselungssystem

Letzte Änderung: Donnerstag, 3. März 2011

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Persistenz der Einstellungen
Änderbare und nicht änderbare Einstellungen
Ändern von Eigenschaften von "SPHttpThrottleSettings"

In diesem Thema wird beschrieben, wie Sie die Einstellungen für das Leistungsüberwachungs- und HTTP-Anforderungssteuerungssystem von Microsoft SharePoint Foundation programmgesteuert ändern können.

Persistenz der Einstellungen

Jede SharePoint Foundation-Webanwendung verfügt über eigene Einstellungen zur Leistungsüberwachung und Anforderungssteuerung. Die Einstellungen werden in der Konfigurationsdatenbank als SPHttpThrottleSettings-Objekt gespeichert, das den Wert der HttpThrottleSettings-Eigenschaft der Webanwendung darstellt.

Änderbare und nicht änderbare Einstellungen

Die folgenden Aspekte des Systems können nicht geändert werden:

  • Integritätsbewertungen sind immer ganze Zahlen von 0 bis 10, wobei die niedrigste Bewertung die höchste Integrität bedeutet und die höchste Bewertung die niedrigste Integrität.

  • Die Integritätsbewertung eines bestimmten Monitors basiert auf einem mit der Zeit gewichteten Durchschnitt von Stichproben des überwachten Indikators, und der Gewichtungsalgorithmus kann nicht geändert werden. (Es gibt jedoch eine Möglichkeit, die Verwendung von mehreren Stichproben zu deaktivieren. Siehe nächste Aufzählung.)

  • Ein Arbeitsprozess erhält eine Gesamtintegritätsbewertung, die der schlechtesten Integritätsbewertung aller registrierten Monitore der Webanwendung entspricht.

  • Ein Arbeitsprozess wechselt nur in den Drosselungsmodus, wenn er eine Integritätsbewertung von 10 hat, d. h., wenn mindestens einer der Systemmonitore eine Integritätsbewertung von 10 aufweist.

  • Ein Arbeitsprozess wechselt nur in die zweite Drosselungsphase, wenn er mindestens 60 Sekunden lang eine Integritätsbewertung von 10 hatte. Dies bedeutet, dass mindestens 60 Sekunden lang kontinuierlich irgendein Monitor eine Bewertung von 10 aufwies. Es ist jedoch nicht erforderlich, dass ein bestimmter Monitor ständig die Bewertung 10 aufweist. Wenn Monitor A 45 Sekunden lang die Bewertung 10 aufweist und Monitor B in einem überlappenden Zeitraum von 45 Sekunden die Bewertung 10 aufweist, kann es einen Zeitraum von 60 Sekunden geben, in dem immer mindestens ein Monitor die Bewertung 10 hat. In diesem Szenario tritt der Arbeitsprozess in die zweite Drosselungsphase ein.

Sie können die folgenden Aspekte des Systems programmgesteuert ändern:

  • Ob die Drosselung für eine Webanwendung aktiviert ist. Siehe Ändern von Eigenschaften von "SPHttpThrottleSettings" weiter unten in diesem Thema.

  • Wie häufig die überwachten Leistungsindikatoren erfasst werden. Alle von einer bestimmten Webanwendung überwachten Leistungsindikatoren müssen mit der gleichen Häufigkeit erfasst werden. Siehe Ändern von Eigenschaften von "SPHttpThrottleSettings" weiter unten in diesem Thema.

  • Wie viele Stichproben für jeden Leistungsindikator verwendet werden, um den gewichteten Durchschnitt der Werte für jeden Leistungsindikator zu berechnen. Durch Festlegen dieses Wertes auf 1 wird die Durchschnittsbildung effektiv deaktiviert. Alle Monitore einer bestimmten Webanwendung müssen die gleiche Anzahl von Stichproben verwenden. Siehe Ändern von Eigenschaften von "SPHttpThrottleSettings" weiter unten in diesem Thema.

  • Welche Windows Server 2008-Leistungsindikatoren überwacht werden. Weitere Informationen finden Sie unter Gewusst wie: Registrieren und Aufheben der Registrierung eines Leistungsindikators.

  • Welche Arten von Anforderungen nie blockiert werden, welche Arten blockiert werden und ob sie in der ersten oder in der zweiten Drosselungsphase blockiert werden. Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Registrieren oder Aufheben der Registrierung einer Anforderungsklassifizierung.

  • Das Berechnungsmodul für die Integritätsbewertung, das einem bestimmten Monitor zugeordnet ist. Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Ändern eines Berechnungsmoduls für die Integritätsbewertung im Bucketformat.

  • Die Grenzen der Buckets (Teilbereiche von Werten), die vom Berechnungsmodul für die Integritätsbewertung verwendet werden, um einem bestimmten Indikatorwert (oder einer Funktion von Werten) eine Bewertung zuzuweisen. (Dieser Punkt gilt nur für standardmäßige Berechnungsmodule für die Integritätsbewertung im Bucketformat.) Weitere Informationen finden Sie unter Gewusst wie: Erstellen und Ändern eines Berechnungsmoduls für die Integritätsbewertung im Bucketformat.

Ändern von Eigenschaften von "SPHttpThrottleSettings"

Das programmgesteuerte Aktivieren oder Deaktivieren der Anforderungssteuerung stellt keine besondere Herausforderung dar. Dies gilt auch für das Ändern der Anzahl der Stichproben, die verwendet werden, um einen gewichteten Durchschnitt zu berechnen, oder das Ändern der Häufigkeit, mit der Indikatoren erfasst werden. Der folgende Code zeigt die program.cs-Datei eines Konsolenanwendungsprojekts. Das Microsoft Visual Studio-Projekt erfordert einen Verweis auf die Datei Microsoft.SharePoint.dll, die sich in %ProgramFiles%\Common Files\Microsoft Shared\web server extensions\14\ISAPI befindet. Mit dem folgenden Code wird die Häufigkeit, mit der Stichproben erhoben werden, vom Standardwert 5 Sekunden in 10 Sekunden geändert. Zudem wird die Überwachung der Drosselung für die übergeordnete Webanwendung aktiviert und die Anzahl der Stichproben vom Standardwert 12 in 5 geändert. Beachten Sie, dass Update() aufgerufen wird, um die Änderungen in der Konfigurationsdatenbank zu speichern.

using Microsoft.SharePoint;
using Microsoft.SharePoint.Administration;
using Microsoft.SharePoint.Utilities;

namespace Contoso.SharePoint.Utilities
{
    class ThrottleSettingsChanger
    {
        static void Main(string[] args)
        {
            Uri webApplicationUri = new Uri("Http://localhost/");
            SPWebApplication webApplication = SPWebApplication.Lookup(webApplicationUri);

            SPHttpThrottleSettings throttleSettings = SPHttpThrottleSettings.GetHttpThrottleSettings(webApplication);

            throttleSettings.RefreshInterval = 10000;
            throttleSettings.PerformThrottle = true;
            throttleSettings.NumberOfSamples = 5;
            throttleSettings.Update();            
        }
    }
}

Siehe auch

Konzepte

Anforderungsdrosselung