Freigeben über


Einschränkungen beim Ressourceneinsatz in Sandkastenlösungen

Letzte Änderung: Freitag, 5. August 2011

Gilt für: SharePoint Foundation 2010

Inhalt dieses Artikels
Drei Arten von Einschränkungen für den Ressourceneinsatz
Gemessene Ressourcen
Wichtige Ressourceneinsatz-APIs

Verfügbar in SharePoint Online

In diesem Thema werden die Einschränkungen für den Einsatz von Systemressourcen beschrieben, die Lösungen mit eingeschränkter Sicherheitsstufe von Microsoft SharePoint Foundation auferlegt werden.

Drei Arten von Einschränkungen für den Ressourceneinsatz

Sandkastenlösungen unterliegen drei Arten von Einschränkungen für den Ressourceneinsatz, die wie folgt kategorisiert werden können: nach (1) der Art der Entität, auf die sich die Einschränkung bezieht, und nach (2) der Art der Entität, gegen die die Maßnahme wegen Überschreiten der Einschränkung ergriffen wird. Die Maßnahmen werden automatisch von der Lösungsüberwachungsinfrastruktur von SharePoint Foundation ergriffen. Farmadministratoren können eine Lösung mit eingeschränkter Sicherheitsstufe in der Zentraladministrationsanwendung auch aus einem beliebigen Grund manuell sperren.

  • Per Anforderung, wobei Maßnahmen gegen die Anforderung ergriffen werden: Es besteht ein fester Grenzwert dafür, wie lange die Ausführung einer Lösung mit eingeschränkter Sicherheitsstufe dauern darf. Der Standardwert ist 30 Sekunden. Wenn eine Lösung mit eingeschränkter Sicherheitsstufe den Grenzwert überschreitet, wird die Anwendungsdomäne, die die Anforderung bearbeitet (aber nicht der Sandkasten-Arbeitsprozess), beendet. Dieser Grenzwert kann zwar konfiguriert werden, jedoch nur über benutzerdefinierten Code für das Objektmodell. Auf die relevanten Teile des Objektmodells kann von Lösungen mit eingeschränkter Sicherheitsstufe nicht zugegriffen werden, somit kann der Grenzwert von der Lösung mit eingeschränkter Sicherheitsstufe nicht geändert werden.

  • Per Anforderung, wobei Maßnahmen gegen den Prozess ergriffen werden: Es existieren 15 zusätzliche Grenzwerte, die für Anforderungen gelten. Wenn eine Anforderung nur einen dieser Werte überschreitet, wird der Prozess (und alle darin ausgeführten Lösungen mit eingeschränkter Sicherheitsstufe, einschließlich jener, die sich erwartungsgemäß verhalten haben) beendet. Diese Grenzwerte können ebenfalls über SharePoint-Verwaltungsshell oder benutzerdefinierten Code für das Objektmodell konfiguriert werden.

  • Pro Tag/pro Websitesammlung, wobei Maßnahmen gegen alle Sandkastenlösungen der Websitesammlung ergriffen werden: Jede Websitesammlung unterliegt einem konfigurierbaren Höchstwert an täglichen Ressourcenpunkten. Diese Punkte werden auf der Grundlage eines systemeigenen Algorithmus angesammelt, bei dem der Ressourceneinsatz in den 15 Ressourcenkategorien der in der Websitesammlung installierten Lösungen mit eingeschränkter Sicherheitsstufe berücksichtigt werden. Übersteigt eine Websitesammlung die maximal zulässigen Punkte (der Standardwert ist 300), werden alle Lösungen mit eingeschränkter Sicherheitsstufe in der Websitesammlung beendet, und es können keine weiteren Lösungen für den restlichen Tag ausgeführt werden. Websitesammlungsadministratoren können die Gesamtzahl der Ressourcenpunkte für den aktuellen Tag (sowie den 14-tägigen Durchschnittswert), die von den Lösungen mit eingeschränkter Sicherheitsstufe der Websitesammlung angesammelt werden, im Lösungskatalog der Websitesammlung anzeigen. Die von den einzelnen Lösungen beanspruchten Ressourcenpunkte werden ebenfalls angezeigt. Sie können eine beliebige Lösung mit eingeschränkter Sicherheitsstufe in demselben Katalog deaktivieren und entfernen. Farmadministratoren können die Gesamtanzahl der pro Websitesammlung zulässigen Punkte pro Websitesammlung in der Zentraladministrationsanwendung konfigurieren. Die Punktzahl jeder einzelnen Einheit eines Ressourcentyps ist über die SharePoint-Verwaltungsshell oder mithilfe von benutzerdefiniertem Code für das Objektmodell konfigurierbar.

Gemessene Ressourcen

Die folgende Tabelle enthält eine Liste der 15 überwachten Systemressourcen.

  • Die Spalte Mindestschwellenwert gibt die Standardmindestmenge der Ressource an, die erreicht werden muss, ehe der Wert überhaupt in den fortlaufenden Gesamtwert aufgenommen wird. 0 in dieser Spalte bedeutet, dass eine beliebige Menge, auch wenn sie gering ist, angerechnet wird.

  • Die Spalte Absoluter Höchstwert gibt die Standardmenge an, durch die eine sofortige Beendigung des Prozesses ausgelöst wird. Bei einigen Ressourcen steht in dieser Spalte eine 1. Das bedeutet, dass sogar eine einzelne Instanz der Ressource das sofortige Beenden des Prozesses auslöst.

  • In der Spalte Ressourcen pro Punkt wird angegeben, bei welcher Ressourcenmenge standardmäßig ein zusätzlicher Punkt zum Gesamtwert Pro Tag/Pro Websitesammlung hinzugefügt wird.

Ressource

Hinweise

Mindestschwellenwert

Absoluter Höchstwert

Ressourcen pro Punkt

AbnormalProcessTerminationCount

Diese "Ressource" existiert nur, um gegen eine Lösung mit eingeschränkter Sicherheitsstufe, die aus einem anderen Grund beendet wird, eine zusätzliche Maßnahme zu ergreifen. Konkret wird dem Gesamtwert Pro Tag/Pro Websitesammlung 1 Punkt hinzugefügt. Diese Maßnahme gegen eine "Ressource" stellt also einen Anlass dar, bei dem (1) der absolute Höchstwert eines anderen Messwerts überschritten wurde und der Sandkastenprozess sofort beendet wurde, oder (2) eine Anwendungsdomäne, die eine Anforderung bearbeitete, beendet wurde, weil die Anforderung zu viel Zeit in Anspruch genommen hat (siehe oben Pro Anforderung, wobei Maßnahmen gegen die Anforderung ergriffen werden). Folglich entfallen die Spalten Mindestwert und Absoluter Höchstwert für diese Zeile.

0

1

1

CPUExecutionTime

(in Sekunden gemessen)

Der absolute Höchstwert für diese Ressource ist nicht anwendbar, sofern er über dem Wert von Pro Anforderung, wobei Maßnahmen gegen die Anforderung ergriffen werden gemäß oben genannter Beschreibung liegt. Normalerweise sind Administratoren an einem hohen Wert interessiert, damit eine langsame Anforderung beendet wird, ehe sie die Beendigung des gesamten Sandkasten-Arbeitsprozesses zur Folge hat, einschließlich der erwartungsgemäß ausgeführten Lösungen mit eingeschränkter Sicherheitsstufe.

0.1

60

200

CriticalExceptionCount

Beispiele für kritische Ausnahmen:

  • ThreadAbortException

  • OutOfMemoryException

  • AccessViolationException

  • AppDomainUnloadedException

  • BadImageFormatException

  • TypeInitializationException

  • MissingMethodException

  • ExecutionEngineException

0

3

10

IdlePercentProcessorTime

Diese Messung ist nur anwendbar auf Sandkasten-Arbeitsprozesse, die derzeit keine Anforderungen verarbeiten. Solche Prozesse sollten nicht viel Prozessorzeit in Anspruch nehmen. Der Wert 10 in der Spalte Absoluter Grenzwert bedeutet, dass der Prozess beendet wird, wenn er mehr als 10 Prozent der Prozessorzeit beansprucht. Der Wert Ressourcen pro Punkt wird nie verwendet. Wenn der Prozess aber beendet wird, findet AbnormalProcessTerminationCount Anwendung und der Ressourcenzahl des jeweiligen Tages wird ein Ressourcenpunkt hinzugefügt.

0

10

100

InvocationCount

0

100

100

PercentProcessorTime

0

100

85

ProcessCPUCycles

10.000.000.000

100.000.000.000

100.000.000.000

ProcessHandleCount

500

5000

10.000

ProcessIOBytes

0

100.000.000

10.000.000

ProcessThreadCount

10

200

10.000

ProcessVirtualBytes

100000000

4.000.000.000

1.000.000.000

SharePointDatabaseQueryCount

Abfragen an SharePoint-Inhalts- und Konfigurationsdatenbanken.

0

100

400

SharePointDatabaseQueryTime

(in Sekunden gemessen)

Die Zeitdauer, die für die Abfrage von SharePoint-Inhalts- und Konfigurationsdatenbanken benötigt wird.

0,1

60

20

UnhandledExceptionCount

0

3

50

UnresponsiveprocessCount

0

1

2

Wichtige Ressourceneinsatz-APIs

Sie können diese Werte mithilfe des SharePoint Foundation-Objektmodells ändern. Es folgt eine Liste der wichtigsten APIs, die Sie hierfür verwenden.

  • Ein Objekt der SPResourceMeasure-Klasse repräsentiert eine der gemessenen Ressourcen. Solche Objekte werden alle in der Konfigurationsdatenbank dauerhaft aufbewahrt. Die Klasse verfügt über Eigenschaften für den Mindestschwellenwert, den absoluten Höchstwert und die Ressourcen pro Punkt. Sie verfügt auch über eine Name-Eigenschaft, die sie von SPPersistedObject erbt. Diese Klasse ist geschützt.

  • SPUserCodeService.ResourceMeasures enthält eine Auflistung von SPResourceMeasure-Objekten, jeweils eines für jede überwachte Ressource.

  • SPUserCodeService.WorkerProcessExecutionTimeout enthält den Timeoutwert, der für den weiter oben beschriebenen Grenzwert von Pro Anforderung, wobei Maßnahmen gegen die Anforderung ergriffen werden verwendet wird.

Sie können einen Verweis auf einen bestimmten Ressourcenwert unter Verwendung des Namens oder der GUID als Index erhalten. Durch die folgende Codezeile wird beispielsweise der absolute Höchstwert für den Wert von SharePointDatabaseQueryTime auf 30 Sekunden gesenkt.

SPUserCodeService.Local.ResourceMeasures["SharePointDatabaseQueryTime"].AbsoluteLimit = 30.0;
SPUserCodeService.Local.Update();

Durch den folgenden Code wird der Höchstwert von Pro Anforderung, wobei Maßnahmen gegen die Anforderung ergriffen werden auf 40 Sekunden erhöht.

SPUserCodeService.Local.WorkerProcessExecutionTimeout = 40;
SPUserCodeService.Local.Update();
Wichtiger HinweisWichtig

Damit die Änderungen wirksam werden, muss der Microsoft SharePoint Foundation-Sandkasten-Codedienst auf allen Servern, auf denen er ausgeführt wird, neu gestartet werden.

Siehe auch

Konzepte

Einschränkungen bei Sandkastenlösungen

Möglichkeiten und Einschränkungen von Sandkastenlösungen