Verwalten des verteilten Cachediensts in SharePoint Server
GILT FÜR:2013 2016 2019 Subscription Edition SharePoint in Microsoft 365
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.
Wichtig
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. Für SharePoint Server 2019, 2016 und 2013 hängt der verteilte Cache von Windows Server AppFabric als Voraussetzung ab. 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. Das Hinzufügen von Sicherheit für AppFabric mit verteiltem SharePoint-Cache wird nicht unterstützt. Für die SharePoint Server-Abonnementedition ist das separate Windows Server AppFabric-Produkt veraltet, und die Technologie wurde jetzt intern in SharePoint integriert.
Wichtig
Verwenden Sie keine Dienstkontonamen, die das Symbol $ enthalten.
Liste der PowerShell-Cmdlets für den verteilten Cachedienst
Die folgenden PowerShell-Cmdlets sind jetzt in SharePoint Server PowerShell verfügbar.
Cmdlet der SharePoint Server-Abonnementedition | APP Fabric-Cmdlet | Beschreibung |
---|---|---|
New-SPCache | New-Cache | Erstellt einen neuen benannten Cache, wenn der Cluster ausgeführt wird. |
Get-SPCache | Get-Cache | Listet alle Caches und Regionen im Cluster und den Cachehost auf, in dem sich die einzelnen Regionen befinden. Ohne Parameter werden alle Clustercaches und ihre Hostregionsdetails zurückgegeben. Wenn die Parameter Hostname und CachePort angegeben werden, werden Caches und Regionsdetails nur für den angegebenen Host zurückgegeben. |
Get-SPCacheStatistics | Get-CacheStatistics | Gibt Statistiken für einen Cache oder für einen Cachehost zurück. |
Get-SPCacheHost | Get-CacheHost | Listet alle Cachehostdienste auf, die Mitglieder des Cacheclusters sind. |
Start-SPCacheCluster | Start-CacheCluster | Startet den Cachedienst auf allen Cachehosts im Cluster. Leadhosts werden zuerst gestartet. |
Stop-SPCacheCluster | Stop-CacheCluster | Beendet die Cachedienste auf allen Cachehosts im Cluster. |
Import-SPCacheClusterConfig | Import-CacheClusterConfig | Importiert Cacheclusterkonfigurationsdetails aus einer XML-Datei. |
Export-SPCacheClusterConfig | Export-CacheClusterConfig | Exportiert die Cacheclusterkonfiguration in eine XML-Datei. |
Get-SPCacheClusterHealth | Get-CacheClusterHealth | Gibt Integritätsstatistiken für alle benannten Caches im Cachecluster zurück. Dies schließt diejenigen ein, die noch nicht zugeordnet wurden. |
Use-SPCacheCluster | Use-CacheCluster | Legt den Kontext Ihrer PowerShell-Sitzung auf einen bestimmten Cachecluster fest. |
Get-SPCacheHostConfig | Get-CacheHostConfig | Ruft die Cachehostkonfigurationsinformationen im Cachecluster ab. |
Get-SPCacheClusterInfo | Get-CacheClusterInfo | Ruft die Cacheclusterinformationen in der Farm ab. |
Set-SPCacheClusterSecurity | Set-CacheClusterSecurity | Legt die Sicherheitseigenschaften des Cacheclusters fest. |
Starten und Beenden des verteilten Cachediensts
Ein Administrator, der Wartungs- und Betriebsaufgaben ausführt, muss möglicherweise den verteilten Cachedienst starten und beenden. Einige dieser Aufgaben umfassen die folgenden:
Ändern der Standardkonfiguration der Serverfarm zum Zeitpunkt der Installation. Der Verteilte Cachedienst wird zur Installationszeit auf allen SharePoint-Servern gestartet. Ein Administrator möchte möglicherweise den verteilten Cachedienst auf einigen Servern in der Farm beenden.
Aktualisieren des Servers, und es gibt nur einen Server für den verteilten Cachedienst in der SharePoint Server-Farm.
Das Beenden des Caches führt zu teilweisen Datenverlusten. Der Feedcache hängt vom verteilten Cachedienst ab. Tags und Dokumentaktivitäten werden nur im Feedcache gespeichert. Tags und Dokumentaktivitäten werden nicht in Inhaltsdatenbanken gespeichert. Wenn der verteilte Cachedienst beendet wird, gehen Tags und Dokumentaktivitäten verloren. Wenn der Verteilte Cache-Dienst gestartet wird, erfolgt die Neuauffüllung, wenn der Zeitgeberauftrag für die Neuauffüllung des Feedcaches ausgeführt wird. Eine Möglichkeit zum Verwalten der Tags und Dokumentaktivitäten besteht darin, die unter Ausführen eines ordnungsgemäßen Herunterfahrens des Verteilten Cachediensts mithilfe eines PowerShell-Skripts weiter unten in diesem Artikel beschriebene Methode zu verwenden. Wenn das ordnungsgemäße Herunterfahren der Distributed Cache-Dienstmethode verwendet wird, werden alle Cachedaten von einem Server auf einen anderen Server verschoben, bevor der verteilte Cachedienst beendet wird.
Hinweis
[!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.
So starten oder beenden Sie den verteilten Cachedienst mithilfe der Zentraladministration
Klicken Sie in der Zentraladministration auf Anwendungsverwaltung.
Klicken Sie im Abschnitt Dienstanwendungen auf Dienste auf dem Server verwalten.
Wechseln Sie auf der Seite Dienste auf dem Server zu Verteilter Cachedienst.
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.
So starten Sie den verteilten Cachedienst mithilfe der SharePoint-Verwaltungsshell
Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:
$instanceName ="SPDistributedCacheService Name=SPCache"
$serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
$serviceInstance.Provision()
So beenden Sie den verteilten Cachedienst mithilfe der SharePoint-Verwaltungsshell
Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:
$instanceName ="SPDistributedCacheService Name=SPCache"
$serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
$serviceInstance.Unprovision()
Ändern der Arbeitsspeicherreservierung für den verteilten Cachedienst
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.
Die Arbeitsspeicherzuordnung des verteilten Cachediensts sollte in diesen Fällen erhöht werden:
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.
Wenn Ihre Serverfarm über einen dedizierten verteilten Cacheserver verfügt. Verwenden Sie die folgende Methode, um zu berechnen, wie viel Arbeitsspeicher dem Verteilten Cachedienst zugewiesen werden kann:
Bestimmen Sie die Größe des physischen Arbeitsspeichers auf dem Server. Für dieses Beispiel wählen wir 16 GB.
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.
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.
Gehen Sie wie folgt vor, um die Arbeitsspeicherreservierung entsprechend zu ändern.
Ändern der Arbeitsspeicherreservierung für den verteilten Cachedienst
Gehen Sie wie folgt vor, um die Arbeitsspeicherreservierung für den verteilten Cachedienst zu ändern.
(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:
Use-SPCacheCluster Get-SPCacheHostConfig -HostName $Env:ComputerName
Dabei gilt:
- ComputerName ist der Computername des Servers, auf dem das SharePoint 15-Verwaltungsshell-Cmdlet ausgeführt wird.
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.
Wenn Sie die Cachegröße des verteilten Cachediensts auf dem Server neu konfigurieren möchten, führen Sie den folgenden Befehl an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung nur einmal auf einem beliebigen Cachehost aus:
Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
Dabei gilt Folgendes:
- 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.
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 Cachecluster
Ein Administrator kann einen Server zu einem Cachecluster hinzufügen oder entfernen oder einen Server aus dem Cachecluster entfernen, einige Betriebs- oder Wartungsaufgaben auf dem Server ausführen und dann dem Cachecluster erneut beitreten oder den Server hinzufügen. Beim Entfernen des Servers wird der verteilte Cachedienst beendet und dann die Registrierung auf dem Server aufgehoben. Das Aufheben der Registrierung des verteilten Cachediensts bedeutet, dass einem Administrator der verteilte Cachedienst in der Zentraladministration auf der Seite Dienste auf dem Server nicht aufgeführt wird. Ebenso wird beim Hinzufügen eines Servers der Verteilte Cache-Dienst registriert und dann auf dem Server gestartet. Die Registrierung des Verteilten Cachediensts bedeutet, dass einem Administrator der Verteilte Cache-Dienst in der Zentraladministration auf der Seite Dienste auf dem Server aufgeführt wird.
Führen Sie die folgenden Schritte aus, um einen Server einem Cachecluster hinzuzufügen oder aus diesem zu entfernen. Diese SharePoint 15-Verwaltungsshell-Cmdlets werden auf dem hinzuzufügenden oder zu entfernenden Server ausgeführt.
Hinweis
[!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).
Hinzufügen eines Servers zum Cachecluster und Starten des verteilten Cachediensts mithilfe der SharePoint-Verwaltungsshell
Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:
Add-SPDistributedCacheServiceInstance
Entfernen eines Servers aus dem Cachecluster mithilfe der SharePoint-Verwaltungsshell
Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:
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.
Ordnungsgemäßes Herunterfahren des verwalteten Cachediensts mit einem PowerShell-Skript
In einer SharePoint Server-Farm ist ein Cachecluster vorhanden, wenn mindestens ein Cachehost den verteilten Cachedienst ausführen. In einer SharePoint Server-Farm ist ein Cache vorhanden, und der Cache erstreckt sich über den Cachecluster. Ein Administrator muss möglicherweise Inhalte im Cache in einen anderen Cachehost verschieben, um Updates auf dem Server anzuwenden. Um Datenverluste im Zusammenhang mit dem Verschieben der zwischengespeicherten Inhalte zu verhindern, müssen Sie den Server ordnungsgemäß herunterfahren, indem Sie das 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.
So wird der verwaltete Cachedienst mit einem PowerShell-Skript ordnungsgemäß heruntergefahren
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 den richtigen Knoten zum Herunterfahren angeben und das Skript nach Bedarf ändern, um die richtigen Parameter für Ihre Organisation zu benennen.
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.
Hinweis
Führen Sie in der SharePoint Server-Abonnementedition kein Skript für ordnungsgemäßes Herunterfahren aus ps
. Führen Sie stattdessen Stop-SPDistributedCacheServiceInstance mit -Graceful
dem Parameter aus, um ihn auszuführen.
Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind:
Siehe Add-SPShellAdmin.
Lesen Sie die Informationen zu Ausführungsrichtlinien.
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
.Hinweis
Sie können einen anderen Dateinamen verwenden, aber Sie müssen die Datei als ANSI-codierte Textdatei mit der Erweiterung
.ps1
speichern.## Settings you may want to change for your scenario ## $startTime = Get-Date $currentTime = $startTime $elapsedTime = $currentTime - $startTime $timeOut = 900 Use-CacheCluster 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." }
Dabei ist sp2016App.contoso.com der Computerdomänenname des von Ihnen verwendeten Verteilten Cacheservers.
Öffnen Sie die SharePoint 15-Verwaltungsshell.
Navigieren Sie zum Verzeichnis, in dem Sie die Datei gespeichert haben.
Geben Sie an der Microsoft PowerShell-Eingabeaufforderung den folgenden Befehl ein:
./GracefulShutdown.ps1
Weitere Informationen zu PowerShell-Skripts und
.ps1
-Dateien finden Sie unter Ausführen von Windows PowerShell-Skripts.
Ändern des Dienstkontos
Wenn die Serverfarm zum ersten Mal konfiguriert wird, wird das Serverfarmkonto als Dienstkonto des AppFabric-Cachediensts bzw. des SharePoint-Cachediensts festgelegt. Der verteilte Cachedienst hängt vom AppFabric-Cachedienst bzw. vom SharePoint-Cachedienst ab. So ändern Sie das Dienstkonto des AppFabric-Cachediensts bzw. des SharePoint-Cachediensts in ein verwaltetes Konto:
Wählen Sie den Dienst aus, um das Dienstkonto zu ändern.
Erstellen Sie ein verwaltetes Konto.
Legen Sie das verwaltete Konto als Dienstkonto für den SharePoint-Cachedienst fest. Geben Sie an der SharePoint 15-Verwaltungsshell -Eingabeaufforderung folgenden Befehl ein:
$farm = Get-SPFarm $cacheService = $farm.Services | where {$_.Name -eq "SPCache"} $accnt = Get-SPManagedAccount -Identity domain_name\user_name $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser" $cacheService.ProcessIdentity.ManagedAccount = $accnt $cacheService.ProcessIdentity.Update() $cacheService.ProcessIdentity.Deploy()
Wobei Domain_name\user_name der Domänenname und der Benutzername des verwalteten SharePoint-Kontos ist.
Optimieren des verteilten Cachediensts mit einem PowerShell-Skript
Überwachen
Sie können Leistungsindikatoren auf den Verteilten Cacheservern überwachen, um ein besseres Verständnis von Cacheleistungsproblemen zu erhalten. Einige der Indikatoren , die in der Regel nützlich sind, um Probleme zu beheben, sind:
%cpu wird vom Cachedienst verbraucht.
%Zeitaufwand für GC nach Cachedienst.
Cachefehler gesamt/Sekunde: Ein hoher Wert kann darauf hindeuten, dass die Anwendungsleistung beeinträchtigt wird, da sie keine Daten aus dem Cache abrufen kann. Mögliche Ursachen hierfür sind das Entfernen und/oder Ablaufen von Elementen aus dem Cache.
Gesamtanzahl der Objekte: Gibt eine Vorstellung davon an, wie viele Elemente sich im Cache befinden. Ein erheblicher Rückgang der Objektanzahl kann bedeuten, dass eine Entfernung oder ein Ablauf stattfindet.
Client reqs gesamt/s: Dieser Leistungsindikator ist nützlich, um eine Vorstellung davon zu geben, wie viel Last auf den Cacheservern von der Anwendung generiert wird. Ein niedriger Wert bedeutet in der Regel einen Engpass außerhalb des Cacheservers (z. B. in der Anwendung oder im Netzwerk), sodass cacheserver nur wenig belastet werden.
Total Evicted Objects ( Total Evicted Objects) – Wenn Cacheserver ständig Elemente entfernen, um Platz für neuere Objekte im Cache zu schaffen, ist dies in der Regel ein guter Hinweis darauf, dass Sie mehr Arbeitsspeicher auf den Cacheservern benötigen, um das Dataset für Ihre Anwendung zu speichern.
Gesamtfehlerausnahmen/Sekunde und Wiederholungsausnahmen insgesamt/s.
Die Einstellung für den verteilten Cachedienst für MaxConnectionsToServer wird häufig abhängig von der Anzahl an CPUs optimiert, die auf dem Hostcomputer verwendet werden. Wenn Sie z. B. mehrere Kerne verwenden und dann die Einstellung MaxConnectionsToServer auf die gleiche Anzahl von CPUs festlegen, verwendet der Computer häufig zu viel Arbeitsspeicher und friert ein. Ähnliche Probleme treten beim Optimieren der Einstellungen DistributedLogonTokenCache und DistributedViewStateCache auf. Die Standardeinstellung ist 20 ms, aber häufig werden Ausnahmen gefunden, wenn die Tokenzwischenspeicherung in der 20-ms-Einstellung nicht erfolgt. Verwenden Sie die folgenden PowerShell-Skripts, um die Einstellungen für die maximale Anzahl von Verbindungen und Timeouts in SharePoint Server 2016 und SharePoint Server 2013 zu ändern.
So optimieren Sie den verteilten Cachedienst mit einem PowerShell-Skript
Stellen Sie sicher, dass die folgenden Mindestanforderungen erfüllt sind:
Siehe Add-SPShellAdmin.
Lesen Sie die Informationen zu Ausführungsrichtlinien.
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
.Hinweis
Sie können einen anderen Dateinamen verwenden, aber Sie müssen die Datei als ANSI-codierte Textdatei mit der Erweiterung
.ps1
speichern.SharePoint Server-Abonnementedition und SharePoint Server 2019 PowerShell-Skript
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 #DistributedDbLevelFailoverCache $DDBFC = Get-SPDistributedCacheClientSetting -ContainerType DistributedDbLevelFailoverCache $DDBFC.MaxConnectionsToServer = 1 $DDBFC.requestTimeout = "3000" $DDBFC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedDbLevelFailoverCache $DDBFC #DistributedEdgeHeaderCache $DEHC = Get-SPDistributedCacheClientSetting -ContainerType DistributedEdgeHeaderCache $DEHC.MaxConnectionsToServer = 1 $DEHC.requestTimeout = "3000" $DEHC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedEdgeHeaderCache $DEHC #DistributedFileStorePerformanceTraceCache $DFSPTC = Get-SPDistributedCacheClientSetting -ContainerType DistributedFileStorePerformanceTraceCache $DFSPTC.MaxConnectionsToServer = 1 $DFSPTC.requestTimeout = "3000" $DFSPTC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedFileStorePerformanceTraceCache $DFSPTC #DistributedSPAbsBlobCache $DSPABSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSPAbsBlobCache $DSPABSC.MaxConnectionsToServer = 1 $DSPABSC.requestTimeout = "3000" $DSPABSC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedSPAbsBlobCache $DSPABSC #DistributedSPCertificateValidatorCache $DSPCVC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSPCertificateValidatorCache $DSPCVC.MaxConnectionsToServer = 1 $DSPCVC.requestTimeout = "3000" $DSPCVC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedSPCertificateValidatorCache $DSPCVC #DistributedSPOAuthTokenCache $DSPOATC = Get-SPDistributedCacheClientSetting -ContainerType DistributedSPOAuthTokenCache $DSPOATC.MaxConnectionsToServer = 1 $DSPOATC.requestTimeout = "3000" $DSPOATC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedSPOAuthTokenCache $DSPOATC #DistributedStopgapCache $DSGC = Get-SPDistributedCacheClientSetting -ContainerType DistributedStopgapCache $DSGC.MaxConnectionsToServer = 1 $DSGC.requestTimeout = "3000" $DSGC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedStopgapCache $DSGC #DistributedUnifiedAppsCache $DUAC = Get-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAppsCache $DUAC.MaxConnectionsToServer = 1 $DUAC.requestTimeout = "3000" $DUAC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAppsCache $DUAC #DistributedUnifiedAuditCache $DUAuC = Get-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache $DUAuC.MaxConnectionsToServer = 1 $DUAuC.requestTimeout = "3000" $DUAuC.channelOpenTimeOut = "3000" Set-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache $DUAuC
SharePoint Server 2016 PowerShell-Skript
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-Skript
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
Öffnen Sie die SharePoint 15-Verwaltungsshell.
Navigieren Sie zum Verzeichnis, in dem Sie die Datei gespeichert haben.
Geben Sie an der Microsoft PowerShell-Eingabeaufforderung den folgenden Befehl ein:
./MaxConnections.ps1
Weitere Informationen finden Sie unter Anwendungskonfigurationseinstellungen (Windows Server AppFabric-Zwischenspeicherung). Weitere Informationen zu Windows PowerShell-Skripts und .ps1
-Dateien finden Sie unter Ausführen von Windows PowerShell-Skripts.
Reparieren eines Cachehosts
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.
Es gibt zwei Schritte zum Reparieren eines Cachehosts.
Verwenden Sie auf dem nicht funktionierenden verteilten Cachehost das folgende Verfahren zum Wiederherstellen eines verteilten Cachehosts.
Führen Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung das Cmdlet Remove-SPDistributedCacheServiceInstance aus.
Führen Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung das Cmdlet Add-SPDistributedCacheServiceInstance aus.
Hinweis
[!HINWEIS] Wenn bei Schritt 1 ein Fehler auftritt, entfernen Sie den verteilten Cachedienst mithilfe der folgenden Schritte manuell.
Geben Sie an der SharePoint 15-Verwaltungsshell-Eingabeaufforderung die folgende Syntax ein:
$instanceName ="SPDistributedCacheService Name=SPCache" $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.
Siehe auch
Konzepte
Planen von Feeds und des Diensts für den verteilten Cache in SharePoint Server