EWS-Einschränkung in ExchangeEWS throttling in Exchange

Lernen Sie die Einschränkungsrichtlinien kennen, die sich bei Verwendung von Exchange auf EWS auswirken.Learn about the throttling policies that affect EWS when you are using Exchange.

Bereitgestellt von: Glen Scales; Michael Mainer, Microsoft CorporationProvided by: Glen Scales; Michael Mainer, Microsoft Corporation

Dieser Artikel enthält Informationen über EWS-Einschränkungen in Exchange Online, Exchange Online als Teil von Office 365 und lokale Versionen von Exchange ab Exchange 2010. Einschränkungen in Exchange dienen zur Sicherstellung von Serverzuverlässigkeit und -betriebszeit durch Begrenzung der Menge an Serverressourcen, die ein einzelner Benutzer oder eine einzelne Anwendung verbrauchen kann. Einschränkungen sind eine reaktive Antwort auf die übermäßige Nutzung von Systemressourcen, die die Zuverlässigkeit und die Funktionalität von Diensten beeinflussen kann. Exchange überwacht kontinuierlich die Integrität kritischer Infrastrukturressourcen, z. B. von Postfachdatenbanken. Wenn hohe Lastfaktoren entdeckt werden, die die Leistung dieser Ressourcen beeinträchtigen, werden EWS-Verbindungen proportional basierend auf dem Anteil eingeschränkt, den jede aufrufende Person oder Anwendung zu dieser hohen Lastbedingung beigetragen hat. Dies kann dazu führen, dass ein Benutzer, der die Einschränkungsgrenzwerte nicht überschreitet, möglicherweise trotzdem Verzögerungen hinnehmen muss, bis die Integrität der Ressource wieder das Betriebniveau erreicht.The article provides information about EWS throttling in Exchange Online, Exchange Online as part of Office 365, and on-premises versions of Exchange starting with Exchange 2010. Throttling in Exchange helps to ensure server reliability and uptime by limiting the amount of server resources that a single user or application can consume. Throttling is a reactive response to overuse of system resources that may affect service reliability and functionality. Exchange constantly monitors the health of critical infrastructure resources, such as mailbox databases. When high load factors are detected that degrade the performance of these resources, EWS connections are throttled proportionally based on the amount that each caller has contributed to this high load condition. The result is that a user may be within their throttling limit and still experience slowdowns until the health of the resource is back to operational levels.

Jedes Clientzugriffsprotokoll in Exchange, einschließlich EWS, verfügt über eine Einschränkungsrichtlinie. Beim Entwerfen von Anwendungen, die EWS verwenden, müssen Einschränkungsrichtlinien berücksichtigt werden, um die Anwendungszuverlässigkeit und die Integrität des Exchange-Servers sicherzustellen. In diesem Artikel werden die verschiedenen Einschränkungsrichtlinien und Dienstgrenzwerte für EWS für Exchange Online oder Versionen von Exchange lokal ab Exchange Server 2010 vorgestellt. Gegebenenfalls werden in diesem Artikel außerdem Unterschiede bei den Einschränkungsrichtlinien in verschiedenen Exchange-Versionen aufgezeigt.Each client access protocol in Exchange, including EWS, has a throttling policy. When you design applications that use EWS, it is important to account for throttling policies, to help ensure application reliability and the health of your Exchange server. This article identifies the different throttling policies and service limits for EWS, whether you are targeting Exchange Online or versions of Exchange on-premises starting with Exchange Server 2010. As applicable, this article also identifies differences in throttling policies in different versions of Exchange.

Wichtig

Die standardmäßige Einschränkungsrichtlinie, der Zugriff auf Einschränkungsrichtlinien und die Konfiguration von Einschränkungsrichtlinien unterscheiden sich zwischen Exchange Online und Exchange lokal. Bestimmte Werte von Einschränkungseinstellungen sind nur für eine bestimmte Version von Exchange zutreffend. Da Einstellungswerte nach Version variieren und Exchange-Administratoren die standardmäßigen Richtlinien für lokale Bereitstellungen ändern können, werden die standardmäßigen Einstellungswerte in diesem Artikel nicht angegeben. Es ist wichtiger, dass Ihnen die Überlegungen bekannt sind, die Sie zum Entwerfen einer Anwendung berücksichtigen müssen, die innerhalb von Einschränkungsgrenzwerten funktioniert und angemessen auf Einschränkungsszenarien reagiert.Default throttling policy, access to throttling policy, and throttling policy configuration differs between Exchange Online and Exchange on-premises. Specific throttling setting values are only accurate for a specific version of Exchange. Because setting values vary across versions, and because Exchange administrators can change the default throttling policies for on-premises deployments, this article does not provide the default setting values. It is more important for you to be aware of the considerations for designing an application that functions within throttling limits and reacts appropriately to throttling scenarios.

Als Anwendungsentwickler müssen Sie in Ihrem Anwendungsentwurf Einschränkungen berücksichtigen. Unterschiedliche Exchange-Versionen haben unterschiedliche Standardwerte für die EWS-Einschränkungsparameter. Client- und Dienstanwendungen, die für den Zugriff auf verschiedene Exchange-Versionen konzipiert sind, müssen diese Einstellungen berücksichtigen, egal ob es sich um Standardwerte, von einem Exchange-Administrator festgelegte benutzerdefinierte Werte oder - wie im Fall von Exchange Online - standardmäßig festgelegte und nicht auffindbare Werte handelt. Da Werte für Einschränkungsparameter nicht programmgesteuert ermittelt werden können, sollten die Cliententwurfsspezifikationen einen Plan enthalten, wie sich die Anwendung an verschiedene mögliche Einschränkungsgrenzwerte anpasst. Beim Entwerfen von Multithreadanwendungen, die auf eine große Anzahl von Postfächern zugreifen, oder wenn viele Clients auf dasselbe Postfach zugreifen, berücksichtigen Sie die Grenzwerte für Parallelität, die die Standardrichtlinie auf Exchange anwendet.If you are an application developer, you need to factor throttling into your application design. Different versions of Exchange have different default values for the EWS throttling parameters. Client and service applications that are designed to access different versions of Exchange will need to account for these settings, whether they be default values, custom values set by an Exchange administrator, or, as for Exchange Online, set by default and not discoverable. Because throttling parameter values cannot be discovered programmatically, your client design specifications should include a plan for the application to adapt to different potential throttling limits. When you design multithreaded applications that will access a large number of mailboxes, or when many clients are accessing the same mailbox, consider the limits on concurrency that the default policy applies to Exchange.

Einschränkungsrichtlinien mit Auswirkung auf EWSThrottling policies that affect EWS

Die Einschränkungsrichtlinien in Exchange wirken sich nicht nur auf EWS, sondern auch auf alle Clientverbindungen mit dem Exchange-Server aus, einschließlich der von Office Outlook, Outlook Web App und Exchange ActiveSync verwendeten Protokolle.The throttling polices in Exchange affect not only EWS, but also all client connections to the Exchange server, including the protocols used by Office Outlook, Outlook Web App, and Exchange ActiveSync.

Die CPUStartPercent -Einschränkungsrichtlinie kann sich auf die EWS-Leistung auswirken, wenn Sie Exchange 2010 ausführen. Wenn die durchschnittliche CPU-Auslastung von Exchange-Prozessen, die auf dem Clientzugriffsserver ausgeführt werden (einschließlich, aber nicht beschränkt auf den EWS-Prozess), den von dieser Richtlinie angegebenen Wert überschreitet, werden eingehende Anfragen verzögert, um die CPU-Auslastung zu verringern. Sie können den Wert dieser Richtlinie nicht ändern, ihn zu kennen, kann jedoch bei der Behebung von Leistungsproblemen helfen. Die Samplinglogik, die der Clientzugriffsserver für diesen Wert ausführt, ist ein Mittelwert über ein 10-Sekunden-Gleitfenster. Dadurch kann der Prozess angemessen auf schnelle Spitzen in der CPU-Auslastung reagieren. Wenn dieser Schwellenwert überschritten wird, werden eingehende Verbindungen mit EWS verzögert. Diese Verzögerung ist auf 500 Millisekunden (ms) bei einer theoretischen 100-prozentigen CPU-Auslastung pro EWS-Anforderung begrenzt. Wenn eine EWS-Batchanforderung zum Abrufen von 100 Elementen übergeben wird, überprüft der Server die CPU-Auslastung 100 Mal (ein Mal pro Element), und es kann eine maximale Verzögerung von 50 Sekunden entstehen. Die Verzögerungsdauer ist linear proportional zur CPU-Auslastung. Bei CPUStartPercent beträgt die Verzögerung 0 (ein Threadergebnis) und erhöht sich linear auf bis zu 500 ms bei 100-prozentiger CPU-Auslastung. Da Einschränkungsrichtlinien für alle Exchange-Benutzer gelten, ist es unwahrscheinlich, dass die CPU-Auslastung den CPUStartPercent -Grenzwert auf einem Exchange-Clientzugriffsserver überschreitet, da einzelne Benutzer oder Anwendungen nicht genügend CPU-Auslastung erzeugen können, um den Serverbetrieb zu beeinflussen.The CPUStartPercent throttling policy can affect EWS performance when you are running Exchange 2010. When the average CPU utilization of Exchange processes running on the Client Access server — including, but not limited to, the EWS process — exceeds the value specified by this policy, inbound requests will be delayed to reduce CPU utilization. You cannot change the value of this policy, but knowing about it can help you troubleshoot performance issues. The sampling logic the Client Access server performs for this value is an average over a 10 second rolling window. This allows the process to respond appropriately to quick spikes in CPU utilization. When this threshold is exceeded, inbound connections to EWS are delayed. This delay is capped at 500 milliseconds (msecs) at a theoretical 100% CPU usage per EWS request. If a batch EWS request to get 100 items is passed, the server will check the CPU usage 100 times (once per item) for a maximum delay of 50 seconds. The delay time is linearly proportional to CPU usage. At CPUStartPercent, the delay is 0 (a thread yield) and it increases linearly up to 500 msec at 100% CPU usage. Because throttling policies apply to all Exchange users, it's unlikely that CPU usage would exceed the CPUStartPercent limit on an Exchange Client Access server, because individual users or applications cannot gain enough CPU utilization to affect server operation.

In der folgenden Tabelle sind die Einschränkungsrichtlinienparameter aufgeführt, die sich auf Anwendungen mit EWS-Nutzung auswirken.The following table lists the throttling policy parameters that affect applications that use EWS.

Tabelle 1: Einschränkungsrichtlinienparameter mit Auswirkung auf EWSTable 1: Throttling policy parameters that affect EWS

Name des EinschränkungsrichtlinienparametersThrottling policy parameter name Gilt fürApplies to BeschreibungDescription
DiscoveryMaxConcurrencyDiscoveryMaxConcurrency
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die Anzahl der gleichzeitigen Discoverysuchverbindungen an, die ein Benutzer zur gleichen Zeit geöffnet haben kann.Specifies the number of concurrent discovery search connections that a user can have at the same time.
DiscoveryMaxKeywordsDiscoveryMaxKeywords
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die maximale Anzahl an Schlüsselwörtern an, die ein Benutzer in eine Discoverysuche einschließen kann.Specifies the maximum number of keywords that a user can include in a discovery search.
DiscoveryMaxKeywordsPerPageDiscoveryMaxKeywordsPerPage
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die Anzahl an Schlüsselwörtern an, für die Statistiken angezeigt werden sollen.Specifies the number of keywords for which to show statistics.
DiscoveryMaxMailboxesDiscoveryMaxMailboxes
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die maximale Anzahl an Quellpostfächern an, die ein Benutzer in eine Discoverysuche einschließen kann.Specifies the maximum number of source mailboxes that a user can include in a discovery search.
DiscoveryMaxMailboxesResultsOnlyDiscoveryMaxMailboxesResultsOnly
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die maximale Anzahl an Postfächern an, die Sie in einer In-Situ-eDiscovery-Suche durchsuchen können, ohne die Statistik anzeigen zu können.Specifies the maximum number of mailboxes you can search in an In-Place eDiscovery search without being able to view the statistics.
DiscoveryPreviewSearchResultsPageSizeDiscoveryPreviewSearchResultsPageSize
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Gibt die Anzahl an Nachrichten an, die in der Vorschauantwort einer eDiscovery-Suche zurückgegeben werden.Specifies the number of messages returned in a eDiscovery search preview response.
EwsCutoffBalanceEwsCutoffBalance
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die Grenzwerte für die Ressourcennutzung für EWS-Benutzer, bevor der Benutzer vollständig an der Ausführung von Vorgängen für eine bestimmte Komponente gehindert wird.Defines the resource consumption limits for EWS user before that user is completely blocked from performing operations on a specific component.
EwsMaxBurstEwsMaxBurst
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert den Zeitraum, für den ein EWS-Benutzer eine erhöhte Menge von Ressourcen verbrauchen darf, bevor er eingeschränkt wird. Dieser Zeitraum wird in Millisekunden gemessen. Dieser Wert wird für jede Komponente einzeln festgelegt.Defines the amount of time that an EWS user can consume an elevated amount of resources before being throttled. This is measured in milliseconds. This value is set separately for each component.
EwsRechargeRateEwsRechargeRate
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die Rate, mit der das Budget eines EWS-Benutzers während der Budgetzeit aufgeladen wird (um die das Budget wächst).Defines the rate at which an EWS user's budget is recharged (budget grows by) during the budget time.
EWSMaxSubscriptionsEWSMaxSubscriptions
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die maximale Anzahl an aktiven Push-, Pull- und Streamingbenachrichtigungsabonnements, über die ein Benutzer auf einem bestimmten Clientzugriffsserver gleichzeitig verfügen kann. Dies wird je nach Exchange-Version anders budgetiert.Defines the maximum number of active push, pull, and streaming notification subscriptions that a user can have on a specific Client Access server at one time. This is budgeted differently for different Exchange versions.
EWSFastSearchTimeoutInSecondsEWSFastSearchTimeoutInSeconds
Exchange 2010Exchange 2010
Definiert die Zeitspanne in Sekunden, die mit der Exchange-Suche in EWS durchgeführte schnelle Suchläufe fortgesetzt werden, bevor ein Timeout eintritt. Schnelle Suchläufe sind Suchvorgänge, die mithilfe einer AQS-Abfragezeichenfolge (Advanced Query Syntax, erweiterte Abfragesyntax) in einem FindItem-Vorgang ausgeführt werden. Defines the amount of time in seconds that fast searches made by using Exchange Search in EWS continue before they time out. Fast searches are searches made by using an Advanced Query Syntax (AQS) query string in a FindItem operation.
EWSFindCountLimitEWSFindCountLimit
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die maximale Anzahl an Elementen aus einem FindItem-Vorgang oder einem FindFolder Operation, die gleichzeitig für einen bestimmten Benutzer im Arbeitsspeicher auf dem Clientzugriffsserver vorhanden sein können. Der Standardwert für diese Eigenschaft ist 1000. Der Ausweichwert für diesen Wert ist 1000. Defines the maximum number of items from a FindItem operation or FindFolder operation that can exist in memory on the Client Access server at one time for one user. The default value for this property is 1000. The fallback valuefor this value is 1000.
In Exchange Online und lokalen Versionen von Exchange ab Exchange 2013 kann diese Einschränkungsrichtlinie nicht abgefragt oder von einem Cmdlet konfiguriert werden. In Exchange Online und lokalen Versionen von Exchange ab Exchange 2013 beträgt der EWSFindCountLimit für die AQS-Suche und alle Exchange-Suchvorgänge mit einer Beschränkung 250 Ergebnisse. Eine Exchange-Suche ohne Beschränkung gibt bis zu 1000 Ergebnisse zurück. In Exchange Online and on-premises versions of Exchange starting with Exchange 2013, this throttling policy cannot be queried or configured by a cmdlet. In Exchange Online and on-premises versions of Exchange starting with Exchange 2013, the EWSFindCountLimit for AQS search and any Exchange search with a restriction is 250 results. An Exchange search without a restriction will return up to 1000 results.
EWSPercentTimeInADEWSPercentTimeInAD
Exchange 2010Exchange 2010
Definiert die Zeit pro Minute in Prozent, für die ein bestimmter Benutzer Active Directory-Anforderungen ausführen kann.Defines the percentage of time per minute during which a specific user can execute Active Directory requests.
EWSPercentTimeInCASEWSPercentTimeInCAS
Exchange 2010Exchange 2010
Definiert die Zeit pro Minute in Prozent, für die ein bestimmter Benutzer Clientzugriffsserver-Code ausführen kann.Defines the percentage of time per minute during which a specific user can execute Client Access server code.
EWSPercentTimeInMailboxRPCEWSPercentTimeInMailboxRPC
Exchange 2010Exchange 2010
Definiert die Zeit pro Minute in Prozent, für die ein bestimmter Benutzer Postfach-RPC-Anforderungen ausführen kann.Defines the percentage of time per minute during which a specific user can execute mailbox RPC requests
EWSMaxConcurrencyEWSMaxConcurrency
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die Anzahl der Verbindungen, die ein bestimmter Benutzer gleichzeitig auf einem Exchange-Server geöffnet haben kann, auf dem EWS ausgeführt wird. Der Standardwert für Exchange 2010 ist 10. Der Standardwert für Exchange 2013 und Exchange Online ist 27. Defines the number of concurrent open connections that a specific user can have against an Exchange server that is using EWS at one time. The default value for Exchange 2010 is 10. The default value for Exchange 2013 and Exchange Online is 27.
Diese Richtlinie gilt für alle Vorgänge mit Ausnahme von Streamingbenachrichtigungen. Streamingbenachrichtigungen verwenden den HangingConnectionLimit, um die Anzahl der verfügbaren geöffneten Streamingereignisverbindungen anzugeben. Weitere Informationen finden Sie unter Welche Drosselung Werte muss ich berücksichtigen?. This policy applies to all operations except for streaming notifications. Streaming notifications use the HangingConnectionLimit to indicate the number of open streaming event connections that are available. For more information, see What throttling values do I need to take into consideration?.
MessageRateLimitMessageRateLimit
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert die Anzahl an Nachrichten pro Minute, die gesendet werden können.Defines the number of messages per minute that can be submitted.
RecipientRateLimitRecipientRateLimit
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert den Grenzwert für die Anzahl an Empfängern, die ein Benutzer in einem Zeitraum von 24 Stunden adressieren kann.Defines the limit to the number of recipients that a user can address in a 24-hour period.
ForwardeeLimitForwardeeLimit
Exchange 2010Exchange 2010
Exchange 2013Exchange 2013
Exchange OnlineExchange Online
Definiert den Grenzwert für die Anzahl an Empfängern für Weiterleitungs-/Umleitungsaktionen im Posteingang in einem Zeitraum von 24 Stunden.Defines the limit to the number of recipients for Inbox forward/redirect actions in a 24-hour period.

Achtung

Legen Sie Einschränkungsrichtlinien nicht auf null fest. Hierdurch wird die Richtlinie auf "unbegrenzt" festgelegt, was bedeutet, dass eine Einschränkungsrichtlinie nicht festgelegt ist.Do not set throttling polices to null. This will set the policy to equal unlimited, which indicates that a throttling policy isn't set.

Anzeigen der für Exchange-Postfächer geltenden RichtlinienDisplaying the policies that apply to Exchange mailboxes

Exchange lokal stellt Exchange-Verwaltungsshell-Cmdlets zur Verfügung, mit denen Sie Einschränkungsrichtlinien festlegen und abrufen können. Exchange Online bietet keinen Zugriff auf die Einschränkungsrichtlinien-Cmdlets.Exchange on-premises provides Exchange Management Shell cmdlets that you can use to set and get throttling policy. Exchange Online does not provide access to the throttling policy cmdlets.

Sie können die folgenden Cmdlets verwenden, um Einschränkungsrichtlinien für eine lokale Bereitstellung von Exchange Server anzuzeigen:You can use the following cmdlets to display throttling polices for an on-premises Exchange Server deployment:

  • Get-ThrottlingPolicy - Ruft die Clienteinschränkungseinstellungen für eine oder mehrere Einschränkungsrichtlinien ab. Weitere Informationen finden Sie unter Get-ThrottlingPolicy in TechNet.Get-ThrottlingPolicy — Gets the client throttling settings for one or more throttling policies. For more information, see Get-ThrottlingPolicy on TechNet.

  • Get-ThrottlingPolicyAssociation - Ermöglicht es Ihnen, die Beziehung zwischen einem Objekt und den zugeordneten Einschränkungsrichtlinien anzuzeigen. Bei dem Objekt kann es sich um einen Benutzer mit einem Postfach, einen Benutzer ohne Postfach oder einen Kontakt handeln. Weitere Informationen finden Sie unter Get-ThrottlingPolicyAssociation in TechNet.Get-ThrottlingPolicyAssociation — Enables you to view the relationship between an object and its associated throttling policies. The object can be a user with a mailbox, a user without a mailbox, or a contact. For more information, see Get-ThrottlingPolicyAssociation on TechNet.

Verwenden Sie den folgenden Befehl, um die standardmäßige Einschränkungsrichtlinie für Exchange 2010 anzuzeigen.Use the following command to show the default throttling policy for Exchange 2010.

Get-ThrottlingPolicy | Where-Object {$_.IsDefault -eq "True"} | format-listGet-ThrottlingPolicy | Where-Object {$_.IsDefault -eq "True"} | format-list

Verwenden Sie den folgenden Befehl, um die globale Einschränkungsrichtlinie in Exchange 2013 anzuzeigen (die der standardmäßigen Einschränkungsrichtlinie in Exchange 2010 entspricht).Use the following command to show the global throttling policy (which equates to the default throttling policy in Exchange 2010) in Exchange 2013.

Get-ThrottlingPolicy | Where-Object {$_.ThrottlingPolicyScope -eq "Global"} | format-listGet-ThrottlingPolicy | Where-Object {$_.ThrottlingPolicyScope -eq "Global"} | format-list

Verwenden Sie den folgenden Befehl, um die einem Benutzer in Exchange 2010 oder Exchange 2013 zugeordnete Einschränkungsrichtlinie anzuzeigen. Ersetzen Sie den Benutzernamen john@contoso.com durch den Benutzernamen des Zielbenutzers, für den Sie Informationen zu Einschränkungsrichtlinien abrufen möchten.Use the following command to show the throttling policy associated with a user in Exchange 2010 or Exchange 2013. Replace the user name john@contoso.com with the user name of the target user for whom you want to get throttling policy information.

Get-ThrottlingPolicyAssociation john@contoso.com | format-listGet-ThrottlingPolicyAssociation john@contoso.com | format-list

Bei Ausführung dieses Befehls in der Exchange-Verwaltungsshell wird eine Ausgabe ähnlich der folgenden generiert.Running this command in Exchange Management Shell results in an output similar to the following.

PS C:\>Get-ThrottlingPolicyAssociation john@contoso.com
RunspaceId               : 72153d6-9dce-2fae-8dbd-5ca5f760g2df
ObjectId                 : john
ThrottlingPolicyId       :
Name                     : john
Identity                 : FHXB-28178dom.contoso.com/Users/john
IsValid                  : True
NeedsToSuppressPii       : False
ExchangeVersion          : 0.10 (15.0.0.0)
DistinguishedName        : CN=john,CN=Users,DC=FHXB-28178dom,DC=contoso,DC=com
Guid                     : 2c10dab6-de28-1937-ad8g-535832613a08

Hinweis

Wenn die ThrottlingPolicyId -Eigenschaft leer ist, wird die Standardrichtlinie auf das Postfach angewendet.When the ThrottlingPolicyId property is blank, the default policy is applied to the mailbox.

Sie können Einschränkungsrichtlinien auf einem Exchange-Server mithilfe der Cmdlets Set-ThrottlingPolicy und Set-ThrottlingPolicyAssociation festlegen. Zum Erstellen und Entfernen nicht standardmäßiger Einschränkungsrichtlinien können Sie die Cmdlets New-ThrottlingPolicy und Remove-ThrottlingPolicy verwenden.You can set throttling policy on an Exchange server by using the Set-ThrottlingPolicy and Set-ThrottlingPolicyAssociation cmdlets. You can create and remove nondefault throttling policies by using the New-ThrottlingPolicy and Remove-ThrottlingPolicy cmdlets.

Tipp

Es wird empfohlen, Anwendungen so zu entwerfen, dass sie die standardmäßige Einschränkungsrichtlinie einhalten. Nehmen Sie nur dann Änderungen an standardmäßigen Einschränkungsrichtlinien vor, wenn der Clientanwendungsentwurf die Standardrichtlinie nicht berücksichtigen kann. Beachten Sie, dass weniger restriktive Einschränkungsrichtlinien die Dienstzuverlässigkeit beeinträchtigen können.We recommend that you design your applications to adhere to the default throttling policy. Only make changes to default throttling policies if your client application design cannot accommodate the default policy. Be aware that less restrictive throttling policies can negatively affect service reliability.

Überlegungen zu Einschränkungen für Anwendungen, die den EWS-Identitätswechsel verwendenThrottling considerations for applications that use EWS impersonation

Identitätswechsel ist eine Autorisierungsmethode, die einem einzelnen Konto den Zugriff auf viele Konten ermöglicht. Wenn ein Dienstkonto die Identität von Benutzern annimmt, agiert es als diese Benutzer und übernimmt daher die Rechte, die diesen Benutzern zugewiesen sind. Protokolldateien zeichnen den Zugriff als den Benutzer auf, dessen Identität angenommen wird. Administratoren verwenden die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC), um den Identitätswechsel über die Exchange-Verwaltungsshell zu konfigurieren.Impersonation is an authorization method that enables a single account to access many accounts. When a service account impersonates users, it acts as the users and therefore assumes the rights that are assigned to those users. Log files record the access as the impersonated user. Administrators use role-based access control (RBAC) to configure impersonation via the Exchange Management Shell.

Wenn Identitätswechsel verwendet wird, gelten die Budgets für alle Einschränkungsschwellenwerte je nach Exchange-Version unterschiedlich. Das Budget wird entweder für das Konto, dessen Identität angenommen wird, oder für das Dienstkonto verrechnet. Im Fall einer Multithreadanwendung, die gleichzeitige Anforderungen für mehrere Postfächer ausführt, sollten Sie überlegen, wie sich der Einschränkungsschwellenwert auf die Leistung Ihrer Anwendung auswirkt. Im Allgemeinen sollten Sie die folgenden Grenzwerte für Dienstkonten berücksichtigen, wenn Sie eine dienstbasierte Anwendung erstellen, die Identitätswechsel für den Zugriff auf alle Postfächer verwendet:When impersonation is used, the budgets for all the throttling thresholds apply differently depending on the version of Exchange. The budget is either calculated against the account that is impersonated, or the service account. If your application is multithreaded and makes concurrent requests against multiple mailboxes, you should consider how the throttling threshold will affect your application's performance. In general, be aware of the following limits on service accounts when you create a service-based application that uses impersonation to access all mailboxes:

  • Bei Verwendung von Identitätswechsel hat das Dienstkonto ein getrenntes Budget für die folgenden Richtlinienparameter:When you use Impersonation, the service account has a separate budget for the following policy parameters:

    • EWSMaxConcurrencyEWSMaxConcurrency

    • EWSPercentTimeInADEWSPercentTimeInAD

    • EWSPercentTimeInCASEWSPercentTimeInCAS

    • EWSPercentTimeInMailboxRPCEWSPercentTimeInMailboxRPC

    • EWSMaxSubscriptionsEWSMaxSubscriptions

    • EWSFastSearchTimeoutInSecondsEWSFastSearchTimeoutInSeconds

    • EWSFindCountLimitEWSFindCountLimit

  • Das EWSMaxConcurrency -Budget wird vom Dienstkonto und von dem Konto, dessen Identität angenommen wird, gemeinsam verwendet, und zwar für alle Verbindungen mit Exchange-Versionen vor Exchange 2010 Service Pack 2 (SP2) Update Rollup 4 (RU4). Ab Exchange 2010 SP2 RU4 und einschließlich Exchange Online verwendet der Dienstkontozugriff ein vom EWSMaxConcurrency -Budget des Benutzers getrenntes Budget. Weitere Informationen zum Update auf die Exchange-Einschränkungsrichtlinie für gleichzeitige Verbindungen für EWS finden Sie unter Hinweise zum Updaterollup 4 für Exchange Server 2010 Servicepack 2.The EWSMaxConcurrency budget is shared for the service account and the account being impersonated for all connections to versions of Exchange earlier than Exchange 2010 Service Pack 2 (SP2) Update Rollup 4 (RU4). Starting with Exchange 2010 SP2 RU4, and including Exchange Online, the service account access uses a separate budget from the user EWSMaxConcurrency budget. For more information about the update to the Exchange concurrent connection throttling policy for EWS, see Description of Update Rollup 4 for Exchange Server 2010 Service Pack 2.

    EWS-Streamingbenachrichtigungen in Exchange-Versionen ab Exchange 2010 und einschließlich Exchange Online haben ein zusätzliches geklontes EWSMaxConcurrency -Budget von allen anderen EWS-Clientverbindungen. Verbindungen für Streamingbenachrichtigungen werden mit einem von allen anderen EWS-Vorgängen getrennten Budget verrechnet. Das maximale Parallelitätsbudget für Streamingbenachrichtigungen besteht tatsächlich aus zwei verschiedenen Budgets: einem Budget für alle Dienstkonten und einem Budget für das Konto. dessen Identität angenommen wird. Streamingbenachrichtigungen in Exchange Online und Exchange-Versionen ab Exchange 2013 verwenden den HangingConnectionLimit, um die Anzahl der Verbindungen zu begrenzen.EWS streaming notifications in versions of Exchange starting with Exchange 2010, and including Exchange Online, have an additional cloned EWSMaxConcurrency budget from all other EWS client connections. Streaming notification connections are counted against a separate budget than all other EWS operations. The streaming notification maximum concurrency budget is actually two different budgets: one budget is for all service accounts, and one budget is for the account being impersonated. Streaming notifications in Exchange Online and versions of Exchange starting with Exchange 2013 use the HangingConnectionLimit to limit the number of connections.

    Nehmen wir beispielsweise einen EWSMaxConcurrency -Wert von fünf an. Ein Benutzer kann fünf geöffnete Pullbenachrichtigungsverbindungen haben, während ein Dienstkonto zeitgleich mit dem Benutzer fünf gleichzeitige Pullbenachrichtigungsverbindungen für das Postfach des Benutzers haben kann.For example, let's assume that EWSMaxConcurrency is equal to five. A user can have five open pull notification connections, while an service account can have five concurrent pull notification connections against the user's mailbox at the same time as the user.

  • Die folgende Tabelle zeigt, wie EWSMaxSubscriptions -Einschränkungsbudgets für das Dienstkonto und das Konto, dessen Identität angenommen werden soll, verrechnet werden.The following table identifies how EWSMaxSubscriptions throttling budgets are calculated between the service account and the account to impersonate.

    Tabelle 2: EWSMaxSubscriptions-BudgetberechnungTable 2: EWSMaxSubscriptions budget accounting

    Exchange-VersionExchange version EWSMaxSubscriptions-EinschränkungsbudgetberechnungEWSMaxSubscriptions throttling budget accounting
    Exchange OnlineExchange Online
    Mit Zielpostfach verrechnetCharged against the target mailbox.
    Exchange 2013Exchange 2013
    Mit Zielpostfach verrechnetCharged against the target mailbox.
    Exchange 2010 SP3Exchange 2010 SP3
    Mit Zielpostfach verrechnetCharged against the target mailbox.
    Exchange 2010 SP2Exchange 2010 SP2
    Mit aufrufendem Konto verrechnetCharged against the calling account. Starting with Exchange 2010 SP2 RU4, the budget is charged against the target mailbox.
    Exchange 2010 SP1Exchange 2010 SP1
    Mit aufrufendem Konto verrechnetCharged against the calling account.
    Exchange 2010Exchange 2010
    Mit aufrufendem Konto verrechnetCharged against the calling account.
  • Da das EWSMaxSubscriptions -Einschränkungsbudget mit dem Konto verrechnet wird, dessen Identität angenommen wird, ist die Anzahl der Postfächer, die ein Dienstkonto abonnieren und für die es Streamingbenachrichtigungen erhalten kann, unbegrenzt, solange der Identitätswechsel verwendet wird.Because the EWSMaxSubscriptions throttling budget is charged against the account being impersonated, there is no limit on the number of mailboxes a service account can subscribe to and receive streaming notifications for, as long as impersonation is being used. Das Konto, dessen Identität angenommen wird, kann maximal n gleichzeitige Anforderungen pro Zielpostfach ausführen, wobei n der EWSMaxSubscriptions -Wert ist.For the account being impersonated, you can't have more than n concurrent requests per target mailbox, where n is the EWSMaxSubscriptions value. Wenn kein Identitätswechsel verwendet wird, sind für das gleiche Dienstkonto insgesamt maximal n gleichzeitige Anforderungen zulässig.If you were not using impersonation, the same service account could not have more than n concurrent requests total. Die Schlussfolgerung ist daher, dass sich mithilfe eines Identitätswechsels auf einem Dienstkonto die Anzahl von Postfächern, die Sie bedienen können, exponentiell erhöht.So, the takeaway is that by using impersonation on a service account, you exponentially increase the number of mailboxes you can service. Weitere Informationen finden Sie unter Verwalten von Affinität zwischen einer Gruppe von Abonnements und Postfachserver in Exchange.For more information, see How to: Maintain affinity between a group of subscriptions and the Mailbox server in Exchange.

  • Die Richtlinienparameter EWSPercentTimeInMailboxRPC, EWSPercentTimeInCAS und EWSPercentTimeInAD beziehen sich auf Aktionen, die von einem einzigen Thread durchgeführt werden. Wenn eine Anwendung mehrere gleichzeitige Vorgänge ausführt, müssen Sie den kumulativen Effekt dieser Vorgänge auf das Benutzerressourcenbudget berücksichtigen.The EWSPercentTimeInMailboxRPC, EWSPercentTimeInCAS, and EWSPercentTimeInAD policy parameters refer to actions performed by a single thread. When an application performs multiple concurrent operations, you should account for the cumulative effect of these operations on the user resource budget.

Auswirkungen von Einschränkungen für EWS-BatchanforderungenThrottling implications for EWS batch requests

Mithilfe von EWS können Sie mehrere Elementanforderungen zu einer einzigen Batchanforderung zusammenfassen, die vom Clientzugriffsserver ausgeführt wird. Dies sorgt für mehr Effizienz und Leistung. Wenn ein Exchange-Server eine Batchanforderung ausführt, wird nach Ausführung jedes einzelnen Elements im Batch das Budget des Benutzers überprüft. Wenn die Anwendung das Budget überschreitet, wird die Verarbeitung des nächsten Elements im Batch verzögert, bis das Budget für den betreffenden Benutzer wiederaufgeladen wurde. Um die erfolgreiche Ausführung von Anwendungen sicherzustellen, die Batchvorgänge nutzen, begrenzen Sie die Anzahl der Elementanforderungen in einem einzelnen Batch, und teilen Sie große Batches in mehrere kleinere Batches auf, um die Zuverlässigkeit der Ergebnisse zu erhöhen. Die Auswirkung eines Batchvorgangs auf bestimmte Einschränkungsschwellenwerte hängt von dem Typ der Anforderung, der Größe der zu verarbeitenden Elemente (z. B. in UploadItems - oder ExportItems -Vorgängen) und dem Postfachinhalt ab. Einschränkungsrichtlinien wirken sich insofern auf Batchvorgänge aus, als sie die Verarbeitung der Anforderung verlangsamen. Die aufrufende Person oder Anwendung muss daher länger auf die Antwort warten, und es kann zu einem Aufruftimeout kommen, da EWS die Ausführungszeit einer Batchanforderung auf eine Minute beschränkt.EWS enables you to batch multiple item requests into a single request that is executed by the Client Access server. This allows for greater efficiency and performance. When an Exchange server executes a batched request, it checks the user's budget after the execution of each item within the batch. If the application is over budget, the processing of the next item in the batch is delayed until the budget for that user has recharged. To ensure that applications that use batch operations run successfully, limit the number of item requests that can be included in a single batch, and divide large batches across multiple smaller batches to increase the reliability of the results. The effect that a batch operation has on particular throttling thresholds depends on the type of the request, the size of the items to be processed (for example in UploadItems or ExportItems operations) and the mailbox content. Throttling policies affect batch operations by causing the request to take longer to process. The caller will therefore have to wait longer for the response, and, because EWS limits the execution time of a batch request to one minute, the call could time out.

Um die optimale Batchgröße für eine Anwendung zu bestimmen, führen Sie Komponententests mit verschiedenen Eingabesätzen durch, um sicherzustellen, dass in einer Produktionsumgebung keine Fehler in der Anwendung auftreten.To determine the optimum batch size for an application, perform unit testing using various input sets to ensure that the application does not encounter any errors in a production environment.

Einschränkungsrichtlinienparameter mit Auswirkung auf EWS-SuchvorgängeThrottling policy parameters that affect EWS search operations

Suchvorgänge in EWS können sehr viel Zeit und Ressourcen beanspruchen, je nachdem, wie die Suche ausgeführt wird und welche Informationen angefordert werden. Zum Steuern des Ressourceneinsatzes bei Suchvorgängen können zwei Richtlinienparameter verwendet werden: EWSFastSearchTimeoutInSeconds und EWSFindCountLimit.Search operations in EWS can require large amounts of time and resources, depending on how the search is run and what information is requested. To control resource usage during searches, two policy parameters take effect: EWSFastSearchTimeoutInSeconds and EWSFindCountLimit.

Der EWSFastSearchTimeoutInSeconds -Richtlinienparameter gibt die Zeitspanne in Sekunden an, die schnelle EWS-Suchläufe (auch als Inhaltsindizierungssuche bezeichnet) ausgeführt werden, bevor ein Timeout eintritt. Schnelle Suchläufe sind Suchvorgänge, die mithilfe einer AQS-Abfragezeichenfolge (Advanced Query Syntax, erweiterte Abfragesyntax) in einem FindItem-Vorgang ausgeführt werden.The EWSFastSearchTimeoutInSeconds policy parameter specifies the amount of time, in seconds, that EWS fast searches (also known as content indexing search) run before they time out. A fast search is a search made by using an Advanced Query Syntax (AQS) query string in a FindItem operation.

Sie können einen Exchange-Postfachordner auf zwei Arten durchsuchen:You can search an Exchange mailbox folder in two ways:

  • Mithilfe einer Exchange-Informationsspeichersuche, die einen sequenziellen Scan aller Nachrichten im Zielsuchbereich durchführtBy using an Exchange store search, which performs a sequential scan of all messages in the target search scope.

  • Mithilfe des Exchange-Suchdiensts (Inhaltsindizierung)By using the Exchange Search service (content indexing).

Bei beiden Suchvorgangstypen können Timeouts auftreten. Verwenden Sie nach Möglichkeit den Exchange-Suchdienst, da diese Suchvorgänge häufig für Postfachindizes ausgeführt werden und AQS-Abfragen verwenden. Das folgende Beispiel zeigt, wie eine AQS-Suche im Posteingang mithilfe von EWS und des Exchange-Suchdiensts ausgeführt wird.Both of these types of searches can result in timeouts. When possible, use the Exchange Search service because these searches are often targeted against mailbox indexes and use AQS queries. The following example shows how to perform an AQS search of the Inbox by using EWS and the Exchange Search service.

ItemView iv = new ItemView(1000);
FindItemsResults<Item> fiitems = service.FindItems(WellKnownFolderName.Inbox, "subject:football", iv);

Wenn Sie keine AQS-Suche verwenden können, vermeiden Sie übermäßig komplexe Suchfilter. Vermeiden Sie nach Möglichkeit außerdem, Suchfilter auf der Grundlage berechneter Werte zu erstellen, wenn die Abfrage erweiterte MAPI-Eigenschaften enthält. Die AQS-Suche wurde in Exchange 2010 eingeführt.If you can't use an AQS search, avoid using overly complex search filters. Also try to avoid creating search filters based on computed values if the query involves extended MAPI properties. AQS search was introduced in Exchange 2010.

Hinweis

Die erste Ausführung einer komplexen Suchabfrage des Exchange-Informationsspeichers ist sehr langsam und führt möglicherweise zu einem Timeout. Danach erfolgt die Antwort auf die Abfrage schneller. Weitere Informationen zu den Exchange-Back-End-Serverprozessen, die während Suchabfragen des Exchange-Informationsspeichers stattfinden, finden Sie unter Grundlagen der Auswirkungen einer großen Anzahl von Elementen und mit Einschränkungen versehener Ansichten auf die Leistung in TechNet. Die Verwendung eines SearchFilter erstellt eine dynamische Beschränkung, die bei zukünftigen ähnlichen Abfragen hilfreich ist. Da diese Beschränkungen jedoch dynamisch sind, sind sie nicht dauerhaft oder zuverlässig und werden nach maximal drei Tagen gelöscht.The first time you run a complex Exchange store search query, it runs very slowly and may time out. After that, the query will respond more quickly. For more information about the backend Exchange server processes that occur during Exchange store search queries, see Understanding the Performance Impact of High Item Counts and Restricted Views on TechNet. Using a SearchFilter creates a dynamic restriction that helps similar queries in the future, but because these restrictions are dynamic in nature, they are not permanent or reliable, and are deleted after a maximum of three days.

Der EWSFindCountLimit -Richtlinienparameter gibt die maximale Anzahl an Elementen aus den Ergebnissen eines FindItem - oder FindFolder -Vorgangs an, die gleichzeitig für einen bestimmten Benutzer im Arbeitsspeicher auf dem Clientzugriffsserver vorhanden sein können. Jedes Element bzw. jeder Ordner, das bzw. den EWS in einer FindItem - oder FindFolder -Anforderung verarbeitet, wird mit dem im EWSFindCountLimit -Element angegebenen Budget verrechnet. Wenn eine Antwort an die anfordernde Person zurückgesendet wird, wird die FindCount-Gebühr für den aktuellen Aufruf freigegeben. Welche Antwort der Server bei Überschreitung des Budgets an eine anfordernde Person zurückgibt, basiert auf dem Wert des RequestServerVersion -Elements und darauf, ob die anfordernde Person die Auslagerung angegeben hat. Wenn der Wert des RequestServerVersion -Elements Exchange 2010 oder eine frühere Exchange-Version angibt, sendet der Server eine Fehlerantwort mit einem Fehlercode. ErrorServerBusy. Wenn der Wert des RequestServerVersion -Elements eine Exchange-Version ab Exchange 2010 SP1 oder Exchange Online angibt, und der Client Auslagerung verwendet, gibt EWS möglicherweise ein teilweises Resultset anstelle eines Fehlers zurück. Die Anwendung sollte damit rechnen, dass EWS nicht alle Elemente zurückgibt. Wenn der Wert des IncludesLastItemInRange -Elements "false" ist, sollte die Anwendung eine weitere FindItem - oder FindFolder -Anforderung mit dem neuen Offset durchführen und fortfahren, bis das IncludesLastItemInRange -Element "true" zurückgibt.The EWSFindCountLimit policy parameter specifies the maximum number of items from the results of a FindItem or FindFolder operation that can exist in memory on a Client Access server at the same time for one user. Every item or folder that EWS processes in a FindItem or FindFolder request is counted against the budget specified in the EWSFindCountLimit element. When the response is sent back to the requester, the find count charge for the current call is released. The response the server returns to a requester when the budget is exceeded is based on the RequestServerVersion element value and whether the requester specified paging. When the value of the RequestServerVersion element indicates Exchange 2010 or an earlier version of Exchange, the server sends a failure response with error code ErrorServerBusy. If the value of the RequestServerVersion element indicates a version of Exchange starting with Exchange 2010 SP1 or Exchange Online, and the client is using paging, EWS may return a partial result set instead of an error. Your application should expect that EWS might not return all items. If the value of the IncludesLastItemInRange element is false, the application should make another FindItem or FindFolder request with the new offset and continue until the IncludesLastItemInRange element returns true.

Bei Ausführung eines FindItem - oder FindFolder -Vorgangs ist die Verwendung von Auslagerung wichtig. Die verwaltete EWS-API erzwingt die Verwendung von Auslagerung, wenn Sie jedoch andere Methoden wie z. B. EWS-Proxyobjekte oder Raw-SOAP verwenden, muss die Auslagerung explizit festgelegt werden. Das folgende Beispiel zeigt die Verwendung von Auslagerung in der verwalteten EWS-API.When you use a FindItem or FindFolder operation, it is important to use paging. The EWS Managed API enforces the use of paging, but if you are using other methods, such as EWS proxy objects or raw SOAP, you need to explicitly set paging. The following example shows how to use paging in the EWS Managed API.

ItemView iv = new ItemView(1000);
FindItemsResults<Item> fiFindItemResults = service.FindItems(WellKnownFolderName.Inbox, iv);

Hinweis

Die Standardrichtlinie in Exchange beschränkt die Seitengröße auf 1000 Elemente. Die Festlegung der Seitengröße auf einen größeren Wert hat keine praktischen Auswirkungen.The default policy in Exchange limits the page size to 1000 items. Setting the page size to a value that is greater than this number has no practical effect.

Anwendungen müssen außerdem berücksichtigen, dass der Wert des EWSFindCountLimit-Einschränkungsparameters dazu führen kann, dass ein teilweises Resultset für Anwendungen zurückgegeben wird, die gleichzeitige Anforderungen ausführen. Das folgende Beispiel zeigt, wie die MoreAvailable -Eigenschaft in der verwalteten EWS-API verwendet wird, um die Aufnahme aller Ergebnisse in eine Abfrage sicherzustellen.Applications should also account for the fact that the EWSFindCountLimit throttling parameter value may result in a partial result set being returned for applications that make concurrent requests. The following example shows how to use the MoreAvailable property in the EWS Managed API to ensure that all results are included in a query.

ItemView iv = new ItemView(1000);
service.TraceEnabled = false;
FindItemsResults<Item> fiResults = null;
Do 
{
    fiResults = service.FindItems(WellKnownFolderName.Inbox, iv);
    PropertySet itItemPropSet = new PropertySet(BasePropertySet.IdOnly) { EmailMessageSchema.Body };
    //Process Items in Result Set
    iv.Offset += fiResults.Items.Count;
}
while (fiResults.MoreAvailable == true);

Einschränkungsrichtlinien und ParallelitätThrottling policies and concurrency

Parallelität bezeichnet die Anzahl der Verbindungen von einem bestimmten Benutzer. Eine Verbindung wird ab dem Moment gehalten, an dem eine Anforderung empfangen wird, bis eine Antwort an die anfordernde Person gesendet wird. Wenn Benutzer versuchen, mehr gleichzeitige Anforderungen zu stellen, als ihre Richtlinie zulässt, tritt beim erneuten Verbindungsversuch ein Fehler auf. Die bestehenden Verbindungen bleiben jedoch gültig. Einschränkungsrichtlinien können sich auf verschiedene Weise auf Parallelität auswirken.Concurrency refers to the number of connections from a specific user. A connection is held from the moment a request is received until a response is sent to the requester. If users try to make more concurrent requests than their policy allows, the new connection attempt fails. However, the existing connections remain valid. Throttling policies can affect concurrency in a number of different ways.

Der EWSMaxConcurrency -Einschränkungsrichtlinienparameter legt die Anzahl der gleichzeitigen Verbindungen fest, die ein bestimmter Benutzer zur gleichen Zeit mit einem Exchange-Server haben kann. Um die maximal zuzulassende Anzahl gleichzeitiger Verbindungen zu bestimmen, betrachten Sie die Verbindungen, die von Outlook-Clients verwendet werden. Outlook 2007 und Outlook 2010 verwenden EWS zum Zugreifen auf Verfügbarkeits- und Abwesenheitsinformationen. Mac Outlook 2011 verwendet EWS für alle Clientzugriffsfunktionen. Abhängig von der Anzahl der Outlook-Clients, die aktiv eine Verbindung mit Postfach eines Benutzers herstellen, kann die Anzahl der für einen Benutzer verfügbaren gleichzeitigen Verbindungen beschränkt sein. Wenn Ihre Anwendung in einem einzigen Sicherheitskontext eine Verbindung mit mehreren Postfächern gleichzeitig herstellen muss, muss außerdem der Wert der EWSMaxConcurrency -Richtlinie berücksichtigt werden. Weitere Informationen über die Verwendung eines einzigen Sicherheitskontexts mit gleichzeitigen Verbindungen finden Sie unter Einschränkungsüberlegungen für Anwendungen, die EWS-Identitätswechsel verwenden weiter vorne in diesem Artikel.The EWSMaxConcurrency throttling policy parameter sets the number of concurrent connections that a specific user can have against an Exchange server at one time. To determine the maximum number of concurrent connections to allow, consider the connections that Outlook clients will use. Outlook 2007 and Outlook 2010 use EWS to access availability and Out of Office (OOF) information. Mac Outlook 2011 uses EWS for all client access functionality. Depending on the number of Outlook clients that are actively connecting to a user's mailbox, the number of concurrent connections available for a user might be limited. Also, if your application has to connect to multiple mailboxes simultaneously while using a single security context, it is important to take the value of the EWSMaxConcurrency policy into account. For more information about using a single security context with concurrent connections, see Throttling considerations for applications that use EWS impersonation earlier in this article.

Anwendungen, die gleichzeitig Verbindungen mit mehreren Postfächer herstellen, müssen den Ressourceneinsatz auf Clientseite verfolgen können. Da EWS-Vorgänge anforderungs-/antwortbasiert sind, können Sie die ordnungsgemäße Funktion Ihrer Anwendungen innerhalb des EWSMaxConcurrency -Schwellenwerts sicherstellen, indem Sie die Anzahl der Verbindungen verfolgen, die zwischen dem Start einer Anforderung und dem Erhalt der Antwort stattfinden, und sicherstellen, dass höchstens zehn offene Anforderungen gleichzeitig vorliegen.Applications that concurrently connect to multiple mailboxes have to be able to track resource usage on the client side. Because EWS operations are request/response-based, you can ensure that your applications function well within the EWSMaxConcurrency threshold by tracking the number of connections that occur between the start of a request and when the response is received and ensuring that no more than ten open requests occur concurrently.

Der EWSFindCountLimit -Richtlinienparameter gibt die maximale Ergebnisgröße an, die ein FindItem - oder FindFolder -Vorgang auf einem Clientzugriffsserver für einen Benutzer gleichzeitig verwenden kann. Wenn eine Anwendung (oder auch mehrere Anwendungen) zwei gleichzeitige EWS- FindItem -Anforderungen ausführt, die jeweils 100 Elemente für einen bestimmten Benutzer zurückgeben, wird für EWSFindCountLimit ein Wert von 200 auf das Budget des betreffenden Benutzers angerechnet. Wenn die Rückgabe der ersten Anforderung erfolgt, sinkt das Budget auf 100, und bei Rückgabe der zweiten Anforderung sinkt das Budget auf 0 (null). Wenn dieselbe Anwendung zwei gleichzeitige Anforderungen für 1000 Elemente ausführt, beträgt der Budgetwert 2000 Elemente, was den EWSFindCountLimit -Wert überschreitet. Wenn das Budget des Benutzers für Elemente unter null fällt, resultiert die nächste Anforderung in einem Fehler, bis das Budget des Benutzer wieder auf eins oder mehr aufgeladen wurde.The EWSFindCountLimit policy parameter specifies the maximum result size a FindItem or FindFolder operation can use on a Client Access server at the same time for one user. If an application (or potentially multiple applications) makes two concurrent EWS FindItem requests that return 100 items each for a specific user, the EWSFindCountLimit charge against that specific user's budget will be 200. When the first request returns, the budget drops to 100, and when the second request returns, the budget drops to zero. If the same application were to make two simultaneous requests for 1000 items, the budget value would be 2000 items, which exceeds the EWSFindCountLimit value. If the user's budget for items drops below zero, the next request results in an error until the user's budget recharges to one or more.

Überlegungen zu Einschränkungen für EWS-BenachrichtigungsanwendungenThrottling considerations for EWS notification applications

Wenn Sie EWS-Benachrichtigungsanwendungen erstellen, die Push-, Pull- oder Streamingbenachrichtigungen verwenden, müssen Sie die Auswirkungen der Einschränkungsrichtlinien EWSMaxSubscriptions und EWSMaxConcurrency sowie des HangingConnectionLimit berücksichtigen.If you are building EWS notification applications that make use of either push, pull, or streaming notifications, you should consider the implications of the EWSMaxSubscriptions and the EWSMaxConcurrency throttling policies, and the HangingConnectionLimit.

Der EWSMaxSubscriptions -Richtlinienparameter definiert die maximale Anzahl an aktiven Push-, Pull- und Streamingabonnements, über die ein Benutzer auf einem bestimmten Clientzugriffsserver gleichzeitig verfügen kann. Dies wird je nach Exchange-Version anders budgetiert. Der Standardwert für diesen Parameter ist je nach Exchange-Version unterschiedlich. Mit der SubscribeToAllFolders -Eigenschaft kann ein Benutzer alle Ordner in einem Postfach abonnieren; hierbei wird ein einziges Abonnement auf das EWSMaxSubscriptions -Budget angerechnet. Benutzer können einzelne Ordner abonnieren, wobei jedes Ordnerabonnement auf das EWSMaxSubscriptions -Budget angerechnet wird, und zwar bis zu einem vom Wert des EWSMaxSubscriptions -Parameters festgelegten Grenzwert (Benutzer können z. B. 20 Kalenderordner in verschiedenen Postfächern abonnieren, wenn EWSMaxSubscriptions auf 20 festgelegt ist).The EWSMaxSubscriptions policy parameter specifies the maximum number of active push, pull, and streaming subscriptions that a user can have on a specific Client Access server at the same time. Different versions of Exchange have different default values for this parameter. A user can subscribe to all folders in a mailbox by using the SubscribeToAllFolders property - this uses a single subscription against the EWSMaxSubscriptions budget. Users can subscribe to individual folders, with each folder subscription counting towards the EWSMaxSubscriptions budget, up to the limit set by the value of the EWSMaxSubscriptions parameter (for example, users can subscribe to 20 calendar folders in different mailboxes if EWSMaxSubscriptions is set to 20).

Informationen zum Identitätswechsel und zum EWSMaxSubscriptions -Parameter finden Sie unter Einschränkungsüberlegungen für Anwendungen, die EWS-Identitätswechsel verwenden weiter vorne in diesem Artikel.For information about impersonation and the EWSMaxSubscriptions parameter, see Throttling considerations for applications that use EWS impersonation earlier in this article.

Auch der EWSMaxConcurrency -Richtlinienparameter kann ein Problem für EWS-Benachrichtigungen darstellen. Beispiel:The EWSMaxConcurrency policy parameter can also be an issue for EWS notifications; for example:

  • Wenn EWS die Anzahl der Verbindungen für den Besitzer des Abonnements erhöht, während ein Pushabonnement eine Benachrichtigung generiert.When EWS increments the connection count for the owner of the subscription while the notification is being generated by a push subscription.

  • Wenn eine Anwendung dafür entwickelt wurde, mehrere Benutzerpostfächer zu überwachen, und Benutzer gleichzeitige Benachrichtigungen für eine Instanz einer Nachricht erhalten, die an eine Verteilerliste gesendet wird.When an application is designed to listen to multiple users' mailboxes, and users receive simultaneous notifications for an instance of a message that is sent to a distribution list.

Wenn die Benachrichtigungsanwendung eine Multithreadanwendung ist und gleichzeitige Verbindungsanforderungen ausführt, um mehr Informationen zu einer bestimmten Nachricht zu erhalten, die von einem Benutzerkonto empfangen wurde, kann der EWSMaxConcurrency -Richtliniengrenzwert überschritten werden. Um dies zu berücksichtigen, können Sie die gleichzeitigen Verbindungen in Ihrer Anwendung überwachen, einschließlich derjenigen, die möglicherweise vom Server verwendet werden, und Sie können Anforderungswarteschlangen auf dem Client implementieren.If the notification application is multithreaded and makes simultaneous connection requests to get more information about a particular message that was received by a user account, the EWSMaxConcurrency policy limit can be exceeded. To account for this, consider monitoring the concurrent connections in your application, including those that might be used by the server, and implementing request queuing on the client.

Der HangingConnectionLimit gilt nur für Streamingbenachrichtigungen. Dieser Grenzwert wird in der Datei "Web.config" festgelegt, was bedeutet, dass ein Exchange-Administrator diesen Wert auf einem lokalen Exchange-Server festlegen kann, aber Exchange Online-Postfächer den Standardwert für diesen Grenzwert (3 für Exchange Online und Exchange 2013) verwenden müssen. Weitere Informationen finden Sie unter Welche Drosselung Werte muss ich berücksichtigen?The HangingConnectionLimit is only applicable to streaming notifications. This limit is set in the web.config file, which means that an Exchange administrator can set this value on an on-premises Exchange server, but Exchange Online mailboxes must use the default value for this limit, which is 3 for both Exchange Online and Exchange 2013. To learn more, see What throttling values do I need to take into consideration?.

Einschränkungsrichtlinie und AnwendungsleistungThrottling policy and application performance

Die folgenden drei Parameter der PercentTimeIn -Einschränkungsrichtlinie wirken sich auf die Zeitspanne aus, die eine ESW-Anwendung auf einem Clientzugriffsserver nutzen kann:The following three parameters of the PercentTimeIn throttling policy affect the amount of time an EWS application can consume on a Client Access server:

  • EWSPercentTimeInADEWSPercentTimeInAD

  • EWSPercentTimeInCASEWSPercentTimeInCAS

  • EWSPercentTimeInMailboxRPCEWSPercentTimeInMailboxRPC

Die in den PercentTimeIn -Richtlinienparametern angegebenen Werte geben die Zeitspanne an, die einem Thread zugewiesen wird, der eine Anforderung ausführt. Nehmen wir beispielweise für EWSPercentTimeInCAS den Wert 90 an. Wenn ein Prozess zwei gleichzeitige Anforderungen ausführt, die jeweils 54 Sekunden lang Code auf dem Clientzugriffsserver ausführen, verwendet der Prozess 108 Sekunden in einem 60-Sekunden-Fenster. Dies stellt einen EWSPercentTimeInCAS -Parameterwert von 180 Prozent dar.The values specified in the PercentTimeIn policy parameters indicate the amount of time that one thread making one request is allocated. For example, assuming a EWSPercentTimeInCAS value of 90, if a process makes two concurrent requests that spend 54 seconds each running code on the Client Access server, the process uses 108 seconds in a 60 second window. This represents an EWSPercentTimeInCAS parameter value of 180 percent.

Hinweis

Der EWSPercentTimeInCAS -Parameterwert ist eine überlappende Obermenge der Parameterwerte EWSPercentTimeInAD und EWSPercentTimeInMailboxRPC. Dies bedeutet, dass die Ausgaben für Verarbeitungszeit auf dem Clientzugriffsserver immer höher sein werden als die Ausgaben für EWSPercentTimeInAD und EWSPercentTimeInMailboxRPC. Dies liegt daran, dass die Exchange-Komponente nur dann einen Active Directory- oder RPC-Aufruf durchführen kann, wenn sie bereits Clientzugriffsserver-Code ausführt. Darüber hinaus laufen die Ausgaben für Verarbeitungszeit für EWSPercentTimeInCAS während der Ausführung von LDAP- oder RPC-Aufrufen weiter. Obwohl die Anforderung möglicherweise synchron auf eine Antwort von Active Directory Domain Services (AD DS) oder dem Exchange-Informationsspeicher wartet, verbraucht der Prozess trotzdem einen Thread auf dem Server, daher sollte dem Thread diese Nutzung in Rechnung gestellt werden.The EWSPercentTimeInCAS parameter value is an overlapping superset of the EWSPercentTimeInAD and EWSPercentTimeInMailboxRPC parameter values. This means that the expenditure in Client Access server processing time will always be larger than the expenditures in EWSPercentTimeInAD and EWSPercentTimeInMailboxRPC. This is because for the Exchange component to make an Active Directory or RPC call, it must already be running Client Access server code. In addition, the expenditure in processing time for EWSPercentTimeInCAS doesn't stop while LDAP or RPC calls are being made. Although the request might be synchronously waiting for a response from Active Directory Domain Services (AD DS) or the Exchange store, the process is still consuming a thread on the server, and therefore the thread should continue to be charged for that usage.

Die von einer Anwendung innerhalb eines 60-Sekunden-Zeitraums genutzte CPU-Zeit überschreitet diese Einschränkungsgrenzwerte möglicherweise; daher ist es wichtig, den Umfang und die Art der gestellten Anforderungen zu berücksichtigen. Beispielsweise kann ein großer Batch gleichzeitig ausgeführter ResolveNames -Vorgänge den Wert des EWSPercentTimeInAD -Richtlinienparameters überschreiten. Die in der standardmäßigen Einschränkungsrichtlinie enthaltenen Richtlinienwerte sind so festgelegt, dass sie die problemlose Funktion der meisten EWS-Anwendungen erlauben; wenn jedoch umfangreiche Multithreadanwendungen sehr viele Anforderungen an einen bestimmten Clientzugriffsserver stellen, kann dies zu Problemen führen. Um dies zu vermeiden, können Sie die Größe der auf dem Server ausgeführten Batches beschränken.The amount of CPU time an application may take in a 60-second period might exceed these throttling limits; therefore, it is important to consider the volume and type of requests that are being made. For example, a large batch of ResolveNames operations that are made simultaneously can exceed the EWSPercentTimeInAD policy parameter value. The policy values that are contained in the default throttling policy are designed to allow most EWS applications to function without issue; however, when multithreaded high-volume applications place a large volume of requests on one particular Client Access server, this can create problems. To avoid this, consider limiting the size of batches that are going to execute against the server.

Einschränkungsrichtlinien und Anwendungen mit hohem E-Mail-VersandvolumenThrottling policies and applications that send a large volume of email

Die standardmäßigen Einschränkungsrichtlinien enthalten drei Richtlinienparameter zur Ratenbegrenzung, die Auswirkungen auf Anwendungen haben können, die EWS zum Senden einer großen Anzahl von Nachrichten oder zum Senden von Nachrichten in großen Batches innerhalb kurzer Zeit nutzen.The default throttling policies include three rate limit policy parameters that can affect applications that use EWS to send a large volume of messages or send messages in large batches in a short period of time.

Hinweis

Im Allgemeinen wird empfohlen, EWS nicht für den Massenversand von E-Mail-Nachrichten einzusetzen. Verwenden Sie einen SMTP-Host, der auf Massen-E-Mail-Dienste spezialisiert ist, wenn Sie häufig einen Massenversand großer E-Mail-Nachrichten durchführen.In general, we recommend that you do not use EWS to send bulk email. Use an SMTP host that specializes in bulk mail services to submit frequent large bulk email messages.

Der MessageRateLimit -Richtlinienparameter gibt die Anzahl der Nachrichten pro Minute an, die von einem beliebigen Exchange-Client wie z. B. EWS gesendet werden können. Standardmäßig ist diese Richtlinie auf 30 Nachrichten pro Minute festgelegt. Für normale Benutzer ist dies in der Regel ausreichend. Bei Anwendungen, die große Batches mit E-Mail-Nachrichten senden, z. B. als Teil eines Fakturierungsprogramms, können jedoch Probleme auftreten. Wenn dieser Richtliniengrenzwert überschritten wird, wird die Nachrichtenübermittlung für das Postfach verzögert. Insbesondere kann es passieren, dass Nachrichten für einen längeren Zeitraum im Ordner "Postausgang" oder "Entwürfe" angezeigt werden, wenn ein Benutzer oder eine Anwendung eine größere Anzahl von Nachrichten sendet, als vom Wert des MessageRateLimit -Parameters angegeben. Achten Sie darauf, dass Sie diesen Aspekt bei der Entwicklung eines Übermittlungsverfolgungssystems berücksichtigen, insbesondere, wenn die Anwendung ein Postfach verwendet, mit dem sich Benutzer über Outlook verbinden. Wenn verzögerte Elemente im Ordner "Postausgang" oder "Entwürfe" gespeichert werden, können Benutzer dies als Fehler interpretieren.The MessageRateLimit policy parameter specifies the number of messages per minute that can be submitted by any Exchange client, including EWS. By default, this policy is set to 30 messages per minute. For ordinary users, this is generally sufficient. However, applications that send large batches of email messages, for example as part of an invoicing program, can run into problems. When this policy limit is exceeded, message delivery for the mailbox is delayed. Specifically, messages will appear in the Outbox or Drafts folder for longer periods of time when a user or application submits a larger number of messages than the value specified by the MessageRateLimit parameter. Be sure to consider this when you are developing a delivery tracking system, especially if your application uses a mailbox that users connect to via Outlook. When deferred items are stored in the Outbox or drafts folder, users might interpret that as an error.

Der RecipientRateLimit -Richtlinienparameter gibt den Grenzwert für die Anzahl von Empfängern an, die ein Benutzer in einem Zeitraum von 24 Stunden adressieren darf. Wenn dieser Wert auf 500 festgelegt ist, bedeutet dies beispielsweise, dass ein einzelnes Exchange-Postfachkonto Nachrichten an maximal 500 Empfänger pro Tag senden darf. Dieser Grenzwert gilt für Nachrichten an Empfänger innerhalb und außerhalb der Organisation. Dieser Standardgrenzwert verursacht möglicherweise Probleme bei einigen Branchenanwendungen, die Rechnungsläufe am Monatsende ausführen und Nachrichten an mehr als diese Anzahl von Empfängern senden müssen. Sie können externe Dienste verwenden, die die Batchverarbeitung von Nachrichten ermöglichen, oder separate lokale ausgehende Relaylösungen, um diese Einschränkung zu umgehen.The RecipientRateLimit policy parameter specifies the limit on the number of recipients that a user can address in a 24-hour period. For example, if this value is set to 500, it means that a single Exchange mailbox account can send messages to no more than 500 recipients each day. This limit applies to messages to recipients that are inside and outside the organization. This default limit might cause problems for some line-of-business applications that do end-of-month invoice runs and need to send messages to more than this number of recipients. You can use external services that enable batch processing of messages or separate on-premises outbound relay solutions to work around this limitation.

Der ForwardeeLimit -Richtlinienparameter gibt die maximale Anzahl von Empfängern an, an die Nachrichten mithilfe von Posteingangsregeln weitergeleitet oder umgeleitet werden können. Dieser Parameter beschränkt nicht die Anzahl der Nachrichten, die an die Empfänger weitergeleitet oder umgeleitet werden können.The ForwardeeLimit policy parameter specifies the maximum number of recipients that messages can be forwarded or redirected to by means of Inbox rules. This parameter doesn't limit the number of messages that can be forwarded or redirected to the recipients.

Bei Überschreitung von Einschränkungsgrenzwerten generierte FehlerErrors generated when throttling limits are exceeded

Wenn Einschränkungsrichtlinien überschritten werden, generiert EWS einen der in der folgenden Tabelle aufgeführten Fehler.When throttling polices are exceeded, EWS generates one of the errors listed in the following table.

Tabelle 3: Fehler bei Überschreitung von EinschränkungsgrenzwertenTable 3: Throttling limit errors

FehlerError EinschränkungsrichtlinienparameterThrottling policy parameter BeschreibungDescription
ErrorExceededConnectionCountErrorExceededConnectionCount
EWSMaxConcurrencyEWSMaxConcurrency
Gibt an, dass mehr gleichzeitige Anforderungen an den Server gestellt werden, als die Richtlinie des Benutzers zulässt.Indicates that there are more concurrent requests against the server than are allowed by a user's policy.
ErrorExceededSubscriptionCountErrorExceededSubscriptionCount
EWSMaxSubscriptionsEWSMaxSubscriptions
Gibt an, dass die maximale Abonnementanzahl für Richtlinieneinschränkungen eines Benutzers überschritten wurde.Indicates that a user's throttling policy maximum subscription count has been exceeded.
ErrorExceededFindCountLimitErrorExceededFindCountLimit
EWSFindCountLimitEWSFindCountLimit
Gibt an, dass ein Suchvorgangsaufruf die Gesamtzahl der Elemente überschritten hat, die zurückgegeben werden können.Indicates that a search operation call has exceeded the total number of items that can be returned.
ErrorServerBusyErrorServerBusy
EWSPercentTimeInMailboxRPC EWSPercentTimeInCAS EWSPercentTimeInADEWSPercentTimeInMailboxRPC EWSPercentTimeInCAS EWSPercentTimeInAD
Tritt auf, wenn der Server ausgelastet ist. Der mit ErrorServerBusy-Fehlern zurückgegebene BackOffMilliseconds-Wert gibt an, wie lange der Client warten muss, bevor die Anforderung erneut gesendet werden kann, für deren Antwort dieser Fehlercode zurückgegeben wurde.Occurs when the server is busy. The BackOffMilliseconds value returned with ErrorServerBusy errors indicates to the client the amount of time it should wait until it should resubmit the request that caused the response that returned this error code.

Die folgende Tabelle enthält die HTTP-Statuscodes, die von Einschränkungsfehlern zurückgegeben werden.The following table lists the HTTP status codes that are returned by throttling errors.

Tabelle 4: Von Einschränkungsfehlern zurückgegebene HTTP-StatuscodesTable 4: HTTP status codes returned by throttling errors

HTTP-StatuscodeHTTP status code BeschreibungDescription
HTTP 503HTTP 503
Gibt an, dass EWS-Anforderungen bei IIS in der Warteschlange stehen. Der Client sollte das Senden weiterer Anforderungen auf einen späteren Zeitpunkt verschieben.Indicates that EWS requests are queuing with IIS. The client should delay sending additional requests until a later time.
HTTP 500HTTP 500
Zeigt einen internen Fehler mit dem ErrorServerBusy-Fehlercode an. Dies weist darauf hin, dass der Client das Senden weiterer Anforderungen auf einen späteren Zeitpunkt verschieben sollte. Die Antwort enthält möglicherweise einen Backoff-Hinweis namens BackOffMilliseconds. Falls vorhanden, verwenden Sie den Wert von BackOffMilliseconds als die Zeitspanne, die der Client bis zum erneuten Senden einer Anforderung wartet.Indicates an internal server error with the ErrorServerBusy error code. This indicates that the client should delay sending additional requests until a later time. The response may contain a back off hint called BackOffMilliseconds. If present, the value of BackOffMilliseconds should be used as the duration until the client resubmits a request.
HTTP 200HTTP 200
Enthält eine auf dem EWS-Schema basierende Fehlerantwort mit einem ErrorInternalServerError-Fehlercode. Ein interner ErrorServerBusy-Fehlercode kann vorhanden sein. Dies weist darauf hin, dass der Client das Senden weiterer Anforderungen auf einen späteren Zeitpunkt verschieben sollte.Contains an EWS schema-based error response with an ErrorInternalServerError error code. An inner ErrorServerBusy error code may be present. This indicates that the client should delay sending additional requests until a later time.

Siehe auchSee also