Verwalten des verteilten Cachediensts in SharePoint ServerManage the Distributed Cache service in SharePoint Server

Zusammenfassung: Informationen zum Konfigurieren und Verwalten des verteilten Cachediensts in SharePoint 2013 und SharePoint Server 2016.Summary: Learn how to configure and manage the Distributed Cache service in SharePoint Server 2013 and SharePoint Server 2016.

Zum Anwenden von Verwaltungs- und Betriebsaufgaben auf den verteilten Cachedienst in SharePoint Server muss ein Administrator bestimmte Verfahren der Reihe nach ausführen. In diesem Artikel wird erläutert, wie Sie mehrere Verwaltungs- und Betriebsaufgaben auf den verteilten Cachedienst anwenden.To perform management and operational tasks on the Distributed Cache service in SharePoint Server, an administrator must perform specific, ordered procedures. This article describes how to conduct several management and operational tasks on the Distributed Cache service.

Wichtig

Der verteilte Cachedienst kann nicht wiederhergestellt werden oder nicht funktionsfähig landen, wenn Sie nicht die Verfahren befolgen, die in diesem Artikel aufgeführt sind. In extreme-Szenarien müssen Sie möglicherweise die Serverfarm neu erstellen. Cachedienst hängt Windows Server AppFabric als Voraussetzung. Verwalten Sie den AppFabric-Cachedienst nicht im Fenster Dienste in Verwaltung in Der Systemsteuerung. Verwenden Sie die Anwendung nicht in den Ordner mit dem Namen AppFabric für Windows Server im Menü Start .The Distributed Cache service can end up in a nonfunctioning or unrecoverable state if you do not follow the procedures that are listed in this article. In extreme scenarios, you might have to rebuild the server farm. The Distributed Cache depends on Windows Server AppFabric as a prerequisite. Do not administer the AppFabric Caching Service from the Services window in Administrative Tools in Control Panel. Do not use the applications in the folder named AppFabric for Windows Server on the Start menu.

Wichtig

[!WICHTIGER HINWEIS] verwenden Sie keine Dienstkontonamen, die das Symbol $ enthalten.Do not use service account names that contain the symbol $.

Starten und Beenden des verteilten CachedienstsStart and stop the Distributed Cache service

Ein Administrator, der Wartungs- und Betriebsaufgaben ausführt, muss den verteilten Cachedienst ggf. starten und beenden. Zu diesen Aufgaben gehören die Folgenden:An administrator that performs maintenance and operational tasks might need to start and stop the Distributed Cache service. Some of these tasks include the following:

  • Ändern der Standardkonfiguration der Serverfarm zum Installationszeitpunkt. Der verteilte Cachedienst wird auf allen Servern mit SharePoint zum Installationszeitpunkt gestartet. Ein Administrator möchte ggf. den verteilten Cachedienst auf einigen Servern in der Farm beenden.Changing the default configuration of the server farm at installation time. The Distributed Cache service is started on all SharePoint servers at installation time. An administrator might want to stop the Distributed Cache service on some servers in the farm.

  • Aktualisieren des Servers, und es gibt nur einen Server für den verteilten Cachedienst in der SharePoint Server-Farm.Updating the server and there is only one Distributed Cache server in the SharePoint Server farm.

Das Beenden des Caches führt zu einem teilweisen Datenverlust. Der Feedcache ist vom verteilten Cachedienst abhängig. Kategorien und Dokumentaktivitäten werden nur im Feedcache und nicht dauerhaft in den Inhaltsdatenbanken gespeichert. Wird der verteilte Cachedienst beendet, gehen Kategorien und Dokumentaktivitäten verloren. Nach dem Start des verteilten Cachediensts erfolgt die Neuauffüllung, sobald der Zeitgeberauftrag für die Neuauffüllung des Feedcaches ausgeführt wird. Eine Möglichkeit zum Beibehalten der Kategorien und Dokumentaktivitäten ist die unter Ordnungsgemäßes Herunterfahren des verwalteten Cachediensts mit einem PowerShell-Skript weiter unten in diesem Artikel beschriebene Methode. Bei Verwenden dieser Methode werden alle Cachedaten auf einen anderen Server verschoben, bevor der verteilte Cachedienst beendet wird.Stopping the cache results in partial data loss. The Feed Cache depends on the Distributed Cache service. Tags and document activities are saved only to the Feed Cache. Tags and document activities are not persisted to content databases. When the Distributed Cache service is stopped, tags and document activities are lost. When the Distributed Cache service is started, repopulation occurs when the feed cache repopulation timer job runs. One way to maintain the tags and document activities is to use the method described in Perform a graceful shutdown of the Distributed Cache service by using a PowerShell script later in this article. When the graceful shutdown of the Distributed Cache service method is used, all cache data is moved from one server to another server before the Distributed Cache service is stopped.

Hinweis

Wenn die Hosts Ihres Caches Teil eines Cacheclusters sind, dürfen Sie den verteilten Cachedienst nicht wie zuvor beschrieben starten oder beenden. Lesen Sie stattdessen Hinzufügen oder Entfernen eines Servers in einem verteilten Cachecluster weiter unten in diesem Artikel.If your cache hosts are part of a cache cluster, do not start or stop the Distributed Cache service as described here. Instead, see Add or remove a server in a Distributed Cache cluster later in this article.

So starten oder beenden Sie den verteilten Cachedienst mithilfe der ZentraladministrationTo start and stop the Distributed Cache service by using Central Administration

  1. Klicken Sie in der Zentraladministration auf Anwendungsverwaltung.In Central Administration, click Application Management.

  2. Klicken Sie im Abschnitt Dienstanwendungen auf Dienste auf dem Server verwalten.In Service Applications, click Manage Services on Server.

  3. Wechseln Sie auf der Seite Dienste auf dem Server zu Verteilter Cachedienst.On the Services on Server page, locate the Distributed Cache service.

  4. Wenn der verteilte Cachedienst gestartet wurde und Sie ihn beenden möchten, klicken Sie unter Aktion auf Beenden. Wenn Sie ihn wieder starten möchten, klicken Sie unter Aktion auf Starten.If the Distributed Cache service is started and you want to stop the service, under Action, click Stop. If the Distributed Cache service is stopped and you want to start the service, under Action, click Start.

So starten Sie den verteilten Cachedienst über SharePoint 2016-VerwaltungsshellTo start the Distributed Cache service by using SharePoint 2016 Management Shell

Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:At the SharePoint Management Shell command prompt, run the following command:

$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
$serviceInstance.Provision()

So beenden Sie den verteilten Cachedienst über SharePoint 2016-VerwaltungsshellTo stop the Distributed Cache service by using SharePoint 2016 Management Shell

Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:At the SharePoint Management Shell command prompt, run the following command:

$instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
$serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
$serviceInstance.Unprovision()

Ändern der Arbeitsspeicherreservierung für den verteilten CachedienstChange the memory allocation of the Distributed Cache service

Bei der Installation von SharePoint Server werden dem verteilten Cachedienst 10 % des gesamten physischen Arbeitsspeichers des Servers zugewiesen. Der verteilte Cachedienst nutzt die Hälfte des zugeordneten Arbeitsspeichers für die Datenspeicherung (als eigentliche Cachegröße) und die andere Hälfte für Verwaltungsaufgaben für den Arbeitsspeicher. Wenn die im Cache gespeicherten Daten zunehmen, nutzt der verteilte Cachedienst die gesamten 10 % des reservierten Arbeitsspeichers.When SharePoint Server is installed, it assigns the Distributed Cache service 10 percent of the total physical memory on the server. The Distributed Cache service uses half of that memory allocation for data storage (also known as cache size), and the other half of that memory allocation is used for memory management overhead. When the cached data grows, the Distributed Cache service uses the entire 10 percent of the allocated memory.

Die Arbeitsspeicherzuordnung des verteilten Cachediensts sollte in diesen Fällen erhöht werden:You should increase the memory allocation of the Distributed Cache service in these scenarios:

  • Beim Hinzufügen von physischem Arbeitsspeicher zu einem Server. Der verteilte Cachedienst berechnet die Arbeitsspeicherreservierung von 10 % nicht neu, wenn Sie also den physischen Gesamtspeicher auf dem Server vergrößern, müssen Sie die Arbeitsspeicherzuordnung des verteilten Cachediensts manuell erhöhen.When you add physical memory to the server. The Distributed Cache service does not automatically recalculate the 10% memory allocation, so when you increase the total physical memory on the server, you have to manually increase the Distributed Cache service's memory allocation.

  • Wenn Ihre Serverfarm über einen dedizierten Server für den verteilten Cache verfügt, befolgen Sie die folgende Methode zum Berechnen, wie viel Arbeitsspeicher dem verteilten Cachedienst zugewiesen werden kann:When your server farm has a dedicated Distributed Cache server. Use the following method to calculate how much memory can be assigned to the Distributed Cache service:

  1. Bestimmen Sie die Größe des physischen Arbeitsspeichers auf dem Server. Für dieses Beispiel wählen wir 16 GB.Determine the total physical memory on the server. For this example, we will use 16 GB as the total physical memory available on the server.

  2. Reservieren Sie 2 GB Arbeitsspeicher für andere Prozesse und Dienste, die auf dem Host des Caches ausgeführt werden. Beispiel: 16 GB - 2 GB = 14 GB. Diese 14 GB werden für den verteilten Cachedienst reserviert.Reserve 2 GB of memory for other processes and services that are running on the cache host. For example, 16 GB - 2 GB = 14 GB. This remaining memory is allocated to the Distributed Cache service.

  3. Wandeln Sie die Hälfte des verbleibenden Arbeitsspeichers in MB um. Beispiel: 14 GB : 2 = 7 GB oder 7168 MB. Dies ist die Cachegröße des verteilten Cachediensts.Take half of the remaining memory, and convert it to MB. For example, 14 GB/2 = 7 GB or 7168 MB. This is the cache size of the Distributed Cache service.

  4. Gehen Sie wie folgt vor, um die Arbeitsspeicherreservierung entsprechend zu ändern.Use the following procedure to update the memory allocation accordingly.

Ändern der Arbeitsspeicherreservierung für den verteilten CachedienstChange the memory allocation of the Distributed Cache

Gehen Sie wie folgt vor, um die Arbeitsspeicherreservierung für den verteilten Cachedienst zu ändern.Use this procedure to reconfigure the memory allocation of the cache size of the Distributed Cache service.

  1. (Optional) Wenn Sie die Arbeitsspeicherzuordnung für den verteilten Cachedienst auf einem Server überprüfen möchten, führen Sie folgenden Befehl an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung aus:(Optional) To check the existing memory allocation for the Distributed Cache service on a server, run the following command at the SharePoint Management Shell command prompt:

    Use-CacheCluster
    Get-AFCacheHostConfiguration -ComputerName ComputerName -CachePort "22233"
    

    Dabei gilt Folgendes:Where:

    • ComputerName ist der Computername des Servers, auf dem das SharePoint-Verwaltungsshell-Cmdlet ausgeführt wird.ComputerName is the computer name of the server that you are running the SharePoint Management Shell cmdlet on.
  2. Beenden Sie den verteilten Cachedienst auf alle cachehosts. Um den verteilten Cachedienst zu beenden, wechseln Sie auf Dienste auf dem Server in der Zentraladministration, und Beenden Sie den verteilten Cachedienst auf alle cachehosts in der Farm.Stop the Distributed Cache service on all cache hosts. To stop the Distributed Cache service, go to Services on Server in Central Administration, and Stop the Distributed Cache service on all cache hosts in the farm.

  3. Wenn Sie die Cachegröße des verteilten Cachediensts auf dem Server neu konfigurieren möchten, führen Sie den folgenden Befehl an der SharePoint-Verwaltungsshell-Eingabeaufforderung nur einmal auf einem beliebigen Cachehost aus:To reconfigure the cache size of the Distributed Cache service, run the following command one time only on any cache host at the SharePoint Management Shell command prompt:

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
    

    Dabei gilt Folgendes:Where:

    • CacheSize ist die der Cachegröße entsprechende Arbeitsspeicherreservierung in MB. Im vorherigen Beispiel wurde die Cachegröße für einen Server mit insgesamt 16 GB physischem Arbeitsspeicher mit 7168 MB berechnet.CacheSize is the cache size's memory allocation assignment in MB. In the previous example, the cache size was calculated at 7168 MB for a server with 16 GB of total memory.
  4. Starten Sie den verteilten Cachedienst auf alle cachehosts neu. Um den verteilten Cachedienst erneut zu starten, wechseln Sie auf Dienste auf dem Server in der Zentraladministration, und Starten Sie den verteilten Cachedienst auf alle cachehosts in der Farm.Restart the Distributed Cache service on all cache hosts. To restart the Distributed Cache service, go to Services on Server in Central Administration, and Start the Distributed Cache service on all cache hosts in the farm.

Hinzufügen oder Entfernen eines Servers in einem verteilten CacheclusterAdd or remove a server in a Distributed Cache cluster

Ein Administrator kann in einem Cachecluster einen Server hinzufügen oder entfernen oder ggf. einen Server aus dem Cachecluster entfernen, um verschiedene Betriebs- oder Wartungsaufgaben auf dem Server auszuführen, und anschließend den Server wieder dem Cachecluster hinzufügen. Beim Entfernen des Servers wird der verteilte Cachedienst beendet und anschließend vom Server deregistriert. Nach der Deregistrierung des verteilten Cachediensts wird dieser Dienst nicht mehr in der Zentraladministration auf der Seite Dienste auf dem Server angezeigt. Nach dem Hinzufügen eines Servers wird der verteilte Cachedienst registriert und anschließend auf dem Server gestartet. Sobald der verteilte Cachedienst wieder registriert ist, wird er in der Zentraladministration auf der Seite Dienste auf dem Server angezeigt.An administrator can add or remove a server to a cache cluster, or might want to remove a server from the cache cluster, perform some operational or maintenance tasks on the server, and then rejoin or add the server to the cache cluster. When removing the server, the Distributed Cache service is stopped, then unregistered from the server. Unregistering the Distributed Cache service means that an administrator will not see the Distributed Cache service listed on the Services on Server page in Central Administration. Similarly, when a server is added, the Distributed Cache service is registered and then is started on the server. Registering the Distributed Cache service means that an administrator will see the Distributed Cache service listed on the Services on Server page in Central Administration.

Führen Sie die folgenden Schritte aus, um einen Server einem Cachecluster hinzuzufügen oder aus diesem zu entfernen. Diese SharePoint-Verwaltungsshell-Cmdlets werden auf dem hinzuzufügenden oder zu entfernenden Server ausgeführt.Use the following procedures to add and remove a server from a cache cluster. These SharePoint Management Shell cmdlets are run on the server being added or removed.

Hinweis

Bevor Sie mit den hier aufgeführten Schritten beginnen, überprüfen Sie, ob die Firewall eingehenden ICMP-(ICMPv4-)Datenverkehr zulässt. Weitere Informationen finden Sie unter Überlegungen zur Firewallkonfiguration (Konfigurationsüberlegungen zur Firewall).Before performing the following procedures, ensure the firewall allows Inbound ICMP (ICMPv4) traffic through it. For more information, see Firewall configuration considerations.

Hinzufügen eines Servers zum Cachecluster und Starten des verteilten Cachediensts über SharePoint 2016-VerwaltungsshellAdd a server to the cache cluster and starting the Distributed Cache service by using SharePoint 2016 Management Shell

Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:At the SharePoint Management Shell command prompt, run the following command:

Add-SPDistributedCacheServiceInstance

Entfernen eines Servers aus dem Cachecluster über SharePoint 2016-VerwaltungsshellRemove a server from the cache cluster by using SharePoint 2016 Management Shell

Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:At the SharePoint Management Shell command prompt, run the following command:

Remove-SPDistributedCacheServiceInstance

Wichtig

[!WICHTIGER HINWEIS] Über diesen Schritt wird der Cachedienst beendet, und nicht dauerhaft gespeicherte Cachedaten gehen verloren. Wenn Sie die im Cache gespeicherten Daten beibehalten möchten, führen Sie das im nächsten Abschnitt beschriebene ordnungsgemäße Herunterfahren aus.This procedure will stop the cache service and nonpersisted cached data will be lost. If you want to keep the cached data, use the graceful shutdown procedure that is described in the next section.

Ordnungsgemäßes Herunterfahren des verwalteten Cachediensts mit einem PowerShell-SkriptPerform a graceful shutdown of the Distributed Cache service by using a PowerShell script

Eine SharePoint Server 2016-Farm weist ein Cachecluster auf, wenn der verteilte Cachedienst auf mindestens einem Cachehost ausgeführt wird. In einer SharePoint Server 2016-Farm ist ein Cache vorhanden, der sich auf das Cachecluster erstreckt. Ein Administrator muss möglicherweise Inhalte im Cache in einen anderen Cachehost verschieben, um Updates auf dem Server anzuwenden. Zum Verhindern von Datenverlusten durch das Verschieben von Inhalten im Cache müssen Sie den Server ordnungsgemäß herunterfahren, indem Sie das Windows PowerShell-Skript im folgenden Verfahren verwenden. Beim ordnungsgemäßen Herunterfahren werden alle Daten im Cache des Cachehosts, der ordnungsgemäß herunterfahren wird, auf einen anderen Cachehost in der Farm übertragen. Je nach Größe des Caches kann dies bis zu 15 Minuten dauern.In a SharePoint Server 2016 farm, a cache cluster exists when one or more cache hosts run the Distributed Cache service. In a SharePoint Server 2016 farm, one cache exists, and the cache spans the cache cluster. An administrator may need to move the cached contents to another cache host when applying updates to the server. To prevent data loss associated with moving the cached contents you need to perform a graceful shutdown of the server using the PowerShell script in the following procedure. The graceful shutdown procedure transfers all cached data from the cache host on which the graceful shutdown procedure is being run on to another cache host in the farm. The transfer process takes 15 minutes or more to run depending on how many items exist in the cache.

So wird der verwaltete Cachedienst mit einem PowerShell-Skript ordnungsgemäß heruntergefahrenTo perform a graceful shutdown of the Distributed Cache by using a PowerShell script

Verwenden Sie das folgende PowerShell-Skript zum ordnungsgemäßen Herunterfahren des verteilten Cacheservers, um den Inhalt im Cache auf einen anderen Cachehost zu verschieben. Stellen Sie sicher, dass Sie für das Herunterfahren den richtigen Knoten angeben, und ändern Sie das Skript bei Bedarf, damit es die richtigen Parameter für Ihre Organisation aufweist.Use the following PowerShell script to perform a graceful shutdown of the Distributed Cache server in order to move the cached contents to another cache host. Ensure that you specify the correct node to shutdown and change the script as needed to name the correct parameters for your organization.

Hinweis

[!HINWEIS] Es ist nicht erforderlich, den Cachehost aus dem Cachecluster zu entfernen, wenn Sie das PowerShell-Skript im folgenden Verfahren für ein ordnungsgemäßes Herunterfahren verwenden.There is no need to remove the cache host from a cache cluster if you use the PowerShell script in the following procedure to perform a graceful shutdown.

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind:Verify that you meet the following minimum requirements:

  2. Kopieren Sie die folgenden Variablendeklarationen, und fügen Sie sie in einem Text-Editor wie den Windows-Editor ein. Legen Sie die für Ihre Organisation geltenden Parameterwerte fest. Speichern Sie die Datei, und nennen Sie sie „GracefulShutdown.ps1".Copy the following variable declarations, and paste them into a text editor such as Notepad. Set parameter values specific to your organization. Save the file, and name it GracefulShutdown.ps1.

    Hinweis

    [!HINWEIS] Sie können auch einen anderen Dateinamen wählen, wichtig ist, dass die Datei als ANSI-codierte Textdatei mit der Dateinamenerweiterung .ps1 gespeichert wird.You can use a different file name, but you must save the file as an ANSI-encoded text file with the extension .ps1.

    ## Settings you may want to change for your scenario ##
    $startTime = Get-Date
    $currentTime = $startTime
    $elapsedTime = $currentTime - $startTime
    $timeOut = 900
    try
    {
       Write-Host "Shutting down distributed cache host."
    $hostInfo = Stop-CacheHost -Graceful -CachePort 22233 -ComputerName sp2016App.contoso.com
    while($elapsedTime.TotalSeconds -le $timeOut-and $hostInfo.Status -ne 'Down')
    {
        Write-Host "Host Status : [$($hostInfo.Status)]"
        Start-Sleep(5)
        $currentTime = Get-Date
        $elapsedTime = $currentTime - $startTime
        $hostInfo = Get-CacheHost -HostName SP2016app.contoso.com -CachePort 22233
    }
    Write-Host "Stopping distributed cache host was successful. Updating Service status in SharePoint."
    Stop-SPDistributedCacheServiceInstance
    Write-Host "To start service, please use Central Administration site."
    }
    catch [System.Exception]
    {
    Write-Host "Unable to stop cache host within 15 minutes." 
    }
    

    sp2016App.contoso.com ist hierbei der Computerdomänenname des zu verwendenden verteilten Cacheservers.Where sp2016App.contoso.com is the computer domain name of Distributed Cache server you use.

  3. Starten Sie die SharePoint-Verwaltungsshell.Open the SharePoint Management Shell

  4. Navigieren Sie zum Verzeichnis, in dem Sie die Datei gespeichert haben.Change to the directory to which you saved the file.

  5. Geben Sie an der PowerShell-Eingabeaufforderung den folgenden Befehl ein:At the PowerShell command prompt, type the following command:

    ./GracefulShutdown.ps1
    

    Weitere Informationen zuPowerShell-Skripts und .ps1-Dateien finden Sie unter Ausführen von Windows PowerShell-Skripts.For additional information about PowerShell scripts and .ps1 files, see Running Windows PowerShell Scripts.

Ändern des DienstkontosChange the service account

Bei der Erstkonfiguration der Serverfarm wird das Serverfarmkonto auf das Dienstkonto des AppFabric-Cachediensts festgelegt. Der verteilte Cachedienst ist vom AppFabric-Cachedienst abhängig. So ändern Sie das Dienstkonto des AppFabric-Cachediensts in ein verwaltetes Konto:When the server farm is first configured, the server farm account is set as the service account of the AppFabric Caching service. The Distributed Cache service depends on the AppFabric Caching service. To change the service account of the AppFabric Caching service to a managed account:

  1. Erstellen Sie ein verwaltetes Konto.Create a managed account.

  2. Legen Sie das verwaltete Konto als Dienstkonto für den AppFabric-Cachedienst fest. Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:Set the Managed account as the service account on the AppFabric Caching service. At the SharePoint Management Shell command prompt, run the following command:

    $farm = Get-SPFarm
    $cacheService = $farm.Services | where {$_.Name -eq "AppFabricCachingService"}
    $accnt = Get-SPManagedAccount -Identity domain_name\user_name
    $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser"
    $cacheService.ProcessIdentity.ManagedAccount = $accnt
    $cacheService.ProcessIdentity.Update() 
    $cacheService.ProcessIdentity.Deploy()
    

    Dabei gilt: Domain_name\user_name ist der Domänen- und Benutzername des verwalteten Kontos.Where Domain_name\user_name is the domain name and user name of the managed account.

Optimieren des verteilten Cachediensts mit einem PowerShell-SkriptFine-tune the Distributed Cache service by using a PowerShell script

Die Einstellung für MaxConnectionsToServer verteilten Cache-Dienst ist häufig optimiert basierend auf der Anzahl der CPUs, die auf dem Hostcomputer verwendet werden. Wenn Sie beispielsweise mehrere Kerne verwenden, und legen Sie die Einstellung MaxConnectionsToServer auf die gleiche Anzahl von CPUs klicken Sie dann der Computer häufig verwendet zu viel Arbeitsspeicher und fixiert. Ähnliche Probleme auftreten, wenn die Einstellungen für "distributedlogontokencache" und DistributedViewStateCache zu optimieren. Die Standardeinstellung ist 20 ms jedoch häufig Ausnahmen Wenn das Zwischenspeichern von token in der Einstellung 20 ms passieren nicht gefunden werden. Verwenden Sie den folgenden PowerShell-Skripts, um die Einstellungen für die max-Verbindungen und Timeouts in SharePoint Server 2016 und SharePoint Server 2013 ändern.The Distributed Cache service setting for MaxConnectionsToServer is often tuned based on the number of CPUs that are used in the host computer. If, for instance you use multiple cores and then set the MaxConnectionsToServer setting to the same number of CPUs then the computer often uses too much memory and freezes. Similar issues happen when tuning the DistributedLogonTokenCache and DistributedViewStateCache settings. The default setting is 20ms but often exceptions are found when the token caching doesn't happen in the 20ms setting. Use the following PowerShell scripts to change the settings for max connections and timeouts in SharePoint Server 2016 and SharePoint Server 2013.

So optimieren Sie den verteilten Cachedienst mit einem PowerShell-SkriptTo fine-tune the Distributed Cache service by using a PowerShell script

  1. Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind:Verify that you meet the following minimum requirements:

  2. Kopieren Sie die folgenden Variablendeklarationen, und fügen Sie sie in einem Text-Editor wie den Windows-Editor ein. Legen Sie die für Ihre Organisation geltenden Parameterwerte fest. Speichern Sie die Datei, und nennen Sie sie „MaxConnections.ps1".Copy the following variable declarations, and paste them into a text editor such as Notepad. Set parameter values specific to your organization. Save the file, and name it MaxConnections.ps1.

    Hinweis

    Sie können auch einen anderen Dateinamen wählen, wichtig ist, dass die Datei als ANSI-codierte Textdatei mit der Dateinamenerweiterung .ps1 gespeichert wird.You can use a different file name, but you must save the file as an ANSI-encoded text file with the extension .ps1.

    SharePoint Server 2016 PowerShell-SkriptSharePoint Server 2016 PowerShell script

    Add-PSSnapin Microsoft.Sharepoint.Powershell -ea 0
    
    #DistributedLogonTokenCache
    $DLTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedLogonTokenCache
    $DLTC.MaxConnectionsToServer = 1
    $DLTC.requestTimeout = "3000"
    $DLTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedLogonTokenCache $DLTC
    
    #DistributedViewStateCache
    $DVSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedViewStateCache
    $DVSC.MaxConnectionsToServer = 1
    $DVSC.requestTimeout = "3000"
    $DVSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedViewStateCache $DVSC
    
    #DistributedAccessCache
    $DAC = Get-SPDistributedCacheClientSetting -ContainerType DistributedAccessCache
    $DAC.MaxConnectionsToServer = 1
    $DAC.requestTimeout = "3000"
    $DAC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedAccessCache $DAC
    
    #DistributedActivityFeedCache
    $DAF = Get-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedCache
    $DAF.MaxConnectionsToServer = 1
    $DAF.requestTimeout = "3000"
    $DAF.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedCache $DAF
    
    #DistributedActivityFeedLMTCache
    $DAFC = Get-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedLMTCache
    $DAFC.MaxConnectionsToServer = 1
    $DAFC.requestTimeout = "3000"
    $DAFC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedLMTCache $DAFC
    
    #DistributedBouncerCache
    $DBC = Get-SPDistributedCacheClientSetting -ContainerType DistributedBouncerCache
    $DBC.MaxConnectionsToServer = 1
    $DBC.requestTimeout = "3000"
    $DBC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedBouncerCache $DBC
    
    #DistributedDefaultCache
    $DDC = Get-SPDistributedCacheClientSetting -ContainerType DistributedDefaultCache
    $DDC.MaxConnectionsToServer = 1
    $DDC.requestTimeout = "3000"
    $DDC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedDefaultCache $DDC
    
    #DistributedSearchCache
    $DSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSearchCache
    $DSC.MaxConnectionsToServer = 1
    $DSC.requestTimeout = "3000"
    $DSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedSearchCache $DSC
    
    #DistributedSecurityTrimmingCache
    $DTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSecurityTrimmingCache
    $DTC.MaxConnectionsToServer = 1
    $DTC.requestTimeout = "3000"
    $DTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedSecurityTrimmingCache $DTC
    
    #DistributedServerToAppServerAccessTokenCache
    $DSTAC = Get-SPDistributedCacheClientSetting -ContainerType DistributedServerToAppServerAccessTokenCache
    $DSTAC.MaxConnectionsToServer = 1
    $DSTAC.requestTimeout = "3000"
    $DSTAC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedServerToAppServerAccessTokenCache $DSTAC
    
    #DistributedFileLockThrottlerCache
    $DFLTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedFileLockThrottlerCache
    $DFLTC.MaxConnectionsToServer = 1
    $DFLTC.requestTimeout = "3000"
    $DFLTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedFileLockThrottlerCache $DFLTC
    
    #DistributedSharedWithUserCache
    $DSWUC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSharedWithUserCache
    $DSWUC.MaxConnectionsToServer = 1
    $DSWUC.requestTimeout = "3000"
    $DSWUC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedSharedWithUserCache $DSWUC
    
    #DistributedUnifiedGroupsCache
    $DUGC = Get-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedGroupsCache
    $DUGC.MaxConnectionsToServer = 1
    $DUGC.requestTimeout = "3000"
    $DUGC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedGroupsCache $DUGC 
    
    #DistributedResourceTallyCache
    $DRTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedResourceTallyCache
    $DRTC.MaxConnectionsToServer = 1
    $DRTC.requestTimeout = "3000"
    $DRTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedResourceTallyCache $DRTC
    
    #DistributedHealthScoreCache
    $DHSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedHealthScoreCache
    $DHSC.MaxConnectionsToServer = 1
    $DHSC.requestTimeout = "3000"
    $DHSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedHealthScoreCache $DHSC  
    

    SharePoint Server 2013 PowerShell-SkriptSharePoint Server 2013 PowerShell script

    Add-PSSnapin Microsoft.Sharepoint.Powershell -ea 0
    
    #DistributedLogonTokenCache
    $DLTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedLogonTokenCache
    $DLTC.MaxConnectionsToServer = 1
    $DLTC.requestTimeout = "3000"
    $DLTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedLogonTokenCache $DLTC
    
    #DistributedViewStateCache
    $DVSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedViewStateCache
    $DVSC.MaxConnectionsToServer = 1
    $DVSC.requestTimeout = "3000"
    $DVSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedViewStateCache $DVSC
    
    #DistributedAccessCache
    $DAC = Get-SPDistributedCacheClientSetting -ContainerType DistributedAccessCache
    $DAC.MaxConnectionsToServer = 1
    $DAC.requestTimeout = "3000"
    $DAC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedAccessCache $DAC
    
    #DistributedActivityFeedCache
    $DAF = Get-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedCache
    $DAF.MaxConnectionsToServer = 1
    $DAF.requestTimeout = "3000"
    $DAF.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedCache $DAF
    
    #DistributedActivityFeedLMTCache
    $DAFC = Get-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedLMTCache
    $DAFC.MaxConnectionsToServer = 1
    $DAFC.requestTimeout = "3000"
    $DAFC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedActivityFeedLMTCache $DAFC
    
    #DistributedBouncerCache
    $DBC = Get-SPDistributedCacheClientSetting -ContainerType DistributedBouncerCache
    $DBC.MaxConnectionsToServer = 1
    $DBC.requestTimeout = "3000"
    $DBC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedBouncerCache $DBC
    
    #DistributedDefaultCache
    $DDC = Get-SPDistributedCacheClientSetting -ContainerType DistributedDefaultCache
    $DDC.MaxConnectionsToServer = 1
    $DDC.requestTimeout = "3000"
    $DDC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedDefaultCache $DDC
    
    #DistributedSearchCache
    $DSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSearchCache
    $DSC.MaxConnectionsToServer = 1
    $DSC.requestTimeout = "3000"
    $DSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedSearchCache $DSC
    
    #DistributedSecurityTrimmingCache
    $DTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSecurityTrimmingCache
    $DTC.MaxConnectionsToServer = 1
    $DTC.requestTimeout = "3000"
    $DTC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedSecurityTrimmingCache $DTC
    
    #DistributedServerToAppServerAccessTokenCache
    $DSTAC = Get-SPDistributedCacheClientSetting -ContainerType DistributedServerToAppServerAccessTokenCache
    $DSTAC.MaxConnectionsToServer = 1
    $DSTAC.requestTimeout = "3000"
    $DSTAC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedServerToAppServerAccessTokenCache $DSTAC
    
  3. Starten Sie die SharePoint-Verwaltungsshell.Open the SharePoint Management Shell

  4. Navigieren Sie zum Verzeichnis, in dem Sie die Datei gespeichert haben.Change to the directory to which you saved the file.

  5. Geben Sie an der PowerShell-Eingabeaufforderung den folgenden Befehl ein:At the PowerShell command prompt, type the following command:

    ./MaxConnections.ps1
    

    Weitere Informationen finden Sie unter Bewährte Methoden für die Verwendung von Microsoft Azure Cache/Windows Server Appfabric-Cache und Anwendungskonfigurationseinstellungen (Windows Server AppFabric-Cache). Weitere Informationen zu Windows PowerShell-Skripts und .ps1-Dateien finden Sie unter Ausführen von Windows PowerShell-Skripts.For more information, see Best Practices for using Windows Azure Cache/Windows Server Appfabric Cache and Application Configuration Settings (Windows Server AppFabric Caching). For additional information about Windows PowerShell scripts and .ps1 files, see Running Windows PowerShell Scripts.

Reparieren eines CachehostsRepair a cache host

Bei Installations-, Konfigurations- und Wartungsaktivitäten kann es zu Fehlfunktionen des verteilte Cachediensts kommen. Hinweise dazu werden in den Integritätsregeln in Zentraladministration angezeigt oder wenn die Benutzer Funktionen in SharePoint Server verwenden, die auf einem verteilten Cache basieren. Beispielsweise meldet der Newsfeed auf Meine Website des Benutzers Fehler. Administratoren erhalten möglicherweise die Fehlermeldung "cacheHostInfo is Null ", wenn sie SharePoint 15-Verwaltungsshell-Cmdlets zur Verwaltung des verteilten Cachediensts ausführen.During installation, configuration, or maintenance activities, the Distributed Cache service might enter a non-functioning state. Evidence of a malfunctioning Distributed Cache service will appear in Health Rules in Central Administration, or when users use features in SharePoint Server that rely on the Distributed Cache. For example, the Newsfeed on a user's My Site will start reporting errors. Also, administrators might receive the error message "cacheHostInfo is null " when they run SharePoint Management Shell cmdlets to manage the Distributed Cache service.

Es gibt zwei Schritte zum Reparieren eines Cachehosts.There are two steps to repair a cache host.

Verwenden Sie auf dem nicht funktionierenden verteilten Cachehost das folgende Verfahren zum Wiederherstellen eines verteilten Cachehosts.On the non-functioning Distributed Cache host, use the following procedures to restore the Distributed Cache host.

  1. Führen Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung das Cmdlet Remove-SPDistributedCacheServiceInstance aus.At the SharePoint Management Shell command prompt, run the Remove-SPDistributedCacheServiceInstance cmdlet.

  2. Führen Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung das Cmdlet Add-SPDistributedCacheServiceInstance aus.At the SharePoint Management Shell command prompt, run the Add-SPDistributedCacheServiceInstance cmdlet.

    Hinweis

    [!HINWEIS] Wenn bei Schritt 1 ein Fehler auftritt, entfernen Sie den verteilten Cachedienst mithilfe der folgenden Schritte manuell.If step 1 fails, manually remove the Distributed Cache service, use the following steps.

    • Geben Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung die folgende Syntax ein:At the SharePoint Management Shell command prompt, type the following syntax.
    $instanceName ="SPDistributedCacheService Name=AppFabricCachingService"
    
    $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
    
    If($serviceInstance -ne $null)
    {
    $serviceInstance.Delete()
    }
    
    • Nachdem der verteilte Cachedienst manuell gelöscht wurde, führen Sie Schritt 2 erneut aus.After the Distributed Cache Service has been manually deleted, run step 2 again.

Siehe auchSee also

KonzepteConcepts

Planen von Feeds und des Diensts für den verteilten Cache in SharePoint ServerPlan for feeds and the Distributed Cache service in SharePoint Server