Gérer le service de cache distribué dans SharePoint Server

S’APPLIQUE À :  yes-img-13 2013  yes-img-16 2016  yes-img-19 2019  yes-img-se Subscription Edition  no-img-sop SharePoint in Microsoft 365

Pour effectuer des tâches opérationnelles et de gestion sur le service de cache distribué dans SharePoint Server, un administrateur doit exécuter des procédures spécifiques et chronologiques. Cet article décrit comment réaliser plusieurs tâches opérationnelles et de gestion sur le service de cache distribué.

Important

Le service de cache distribué peut se retrouver dans un état inopérationnel ou irrécupérable si vous ne suivez pas les procédures répertoriées dans cet article. Dans des situations extrêmes, vous pourriez avoir à recréer la batterie de serveurs. Pour SharePoint Server 2019, 2016 et 2013, le cache distribué dépend de Windows Server AppFabric comme condition préalable. N'administrez pas le Service de mise en cache AppFabric depuis la fenêtre Services des Outils d'administration du Panneau de configuration. N'utilisez pas les applications dans le dossier nommé AppFabric pour Windows Server dans le menu Démarrer. L’ajout de la sécurité pour AppFabric SharePoint cache distribué n’est pas pris en charge. Pour SharePoint Server Subscription Edition, le produit Windows Server AppFabric distinct a été supprimé et la technologie est désormais intégrée en interne dans SharePoint.

Important

N'utilisez pas de nom de compte de service contenant le symbole $.

Liste des cmdlets PowerShell pour le service de cache distribué

Les cmdlets PowerShell suivantes sont désormais disponibles dans SharePoint Server PowerShell.

SharePoint Server Subscription Edition Cmdlet App Fabric, cmdlet Description
New-SPCache New-Cache Crée un cache nommé lorsque le cluster est en cours d’exécution.
Get-SPCache Get-Cache Répertorie tous les caches et régions du cluster, ainsi que l’hôte de cache où réside chaque région. Sans aucun paramètre, tous les caches de cluster et leurs détails de région hôte sont renvoyés. Avec les paramètres Hostname et CachePort fournis, les caches et les détails de région sont renvoyés uniquement pour l’hôte spécifié.
Get-SPCacheStatistics Get-CacheStatistics Renvoie des statistiques pour un cache ou pour un hôte de cache.
Get-SPCacheHost Get-CacheHost Répertorie tous les services d’hôte de cache qui sont membres du cluster de cache.
Start-SPCacheCluster Start-CacheCluster Démarre le service de mise en cache sur tous les hôtes de cache du cluster. Les hôtes de tête sont démarrés en premier.
Stop-SPCacheCluster Stop-CacheCluster Arrête les services de mise en cache sur tous les hôtes de cache dans le cluster.
Import-SPCacheClusterConfig Import-CacheClusterConfig Importe les détails de configuration du cluster de cache à partir d’un fichier XML.
Export-SPCacheClusterConfig Export-CacheClusterConfig Exporte la configuration du cluster de cache vers un fichier XML.
Get-SPCacheClusterHealth Get-CacheClusterHealth Renvoie des statistiques d’état pour tous les caches nommés dans le cluster de cache. Cela inclut ceux qui n’ont pas encore été alloués.
Use-SPCacheCluster Use-CacheCluster Définit le contexte de votre session PowerShell sur un cluster de cache particulier.

Démarrer et arrêter le service de cache distribué

Un administrateur qui effectue des tâches de maintenance et opérationnelles peut avoir besoin de démarrer et d'arrêter le service de cache distribué. Certaines de ces tâches incluent les suivantes :

  • Modification de la configuration par défaut de la batterie de serveurs au moment de l'installation. Le service de cache distribué est démarré sur tous les serveurs SharePoint au moment de l'installation. Un administrateur peut vouloir arrêter le service de cache distribué sur certains serveurs de la batterie.

  • Mise à jour du serveur alors qu'il n'existe qu'un seul serveur de cache distribué dans la batterie de serveurs SharePoint Server.

L'arrêt du cache engendre une perte de données partielle. Le cache de flux dépend du service de cache distribué. Les balises et les activités de document sont enregistrées uniquement dans le cache de flux ; elles ne sont pas persistantes dans les bases de données de contenu. Lorsque le service de cache distribué est arrêté, les balises et les activités de document sont perdues. Lorsque le service de cache distribué est démarré, un remplissage se produit lorsque le travail du minuteur de remplissage du cache de flux s'exécute. Une manière de conserver les balises et les activités de document consiste à utiliser la méthode décrite dans la section Effectuer un arrêt approprié du service de cache distribué à l'aide d'un script PowerShell plus loin dans cet article. Lorsque la méthode de l'arrêt approprié du service de cache distribué est utilisée, toutes les données du cache sont déplacées d'un serveur vers un autre avant l'arrêt du service de cache distribué.

Notes

[!REMARQUE] Si les hôtes de votre cache font partie d'un cluster de cache, ne démarrez pas ou n'arrêtez pas le service de cache distribué comme indiqué ici. Consultez plutôt Ajouter ou supprimer un serveur dans un cluster de cache distribué plus loin dans cet article.

Pour démarrer et arrêter le service de cache distribué à l’aide de l’Administration centrale

  1. Dans l'Administration centrale, cliquez sur Gestion des applications.

  2. Dans Applications de service, cliquez sur Gérer les services sur le serveur.

  3. Dans la page Services sur le serveur, localisez le service Cache distribué.

  4. Si le service de cache distribué est démarré alors que vous voulez l'arrêter, sous Action, cliquez sur Arrêter. Si le service de cache distribué est arrêté alors que vous voulez le démarrer, sous Action, cliquez sur Démarrer.

Pour démarrer le service de cache distribué à l’aide SharePoint Management Shell

À l'invite de commandes SharePoint Management Shell, exécutez la commande suivante :

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

Pour arrêter le service de cache distribué à l’aide SharePoint Management Shell

À l'invite de commandes SharePoint Management Shell, exécutez la commande suivante :

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

Modifier l’allocation de mémoire du service de cache distribué

Lorsque SharePoint Server est installé, il affecte au service de cache distribué 10 pour cent de la mémoire physique totale sur le serveur. Le service de cache distribué utilise la moitié de l'allocation de mémoire pour le stockage des données (également appelé taille du cache) et l'autre moitié de l'allocation de mémoire est utilisée pour le traitement lié à la gestion de la mémoire. Lorsque les données mises en cache augmentent, le service de cache distribué utilise la totalité des 10 pour cent de mémoire allouée.

Vous devez augmenter l'allocation de mémoire du service de cache distribué dans les situations suivantes :

  • Lors de l'ajout de mémoire physique au serveur. Le service de cache distribué ne recalcule pas automatiquement les 10 % d'allocation de mémoire. Ainsi, lorsque vous augmentez la mémoire physique totale sur le serveur, vous devez augmenter manuellement l'allocation de mémoire du service de cache distribué.

  • Lorsque la batterie de serveurs dispose d'un service de cache distribué dédié. Utilisez la méthode suivante pour calculer la quantité de mémoire qu'il est possible d'affecter au service de cache distribué :

    1. Déterminez la mémoire physique totale sur le serveur. Pour cet exemple, nous utilisons une mémoire physique totale disponible de 16 Go sur le serveur.

    2. Réservez 2 Go de mémoire aux autres processus et services qui s'exécutent sur l'hôte de cache. Par exemple, 16 Go - 2 Go = 14 Go. Cette mémoire restante est allouée au service de cache distribué.

    3. Prenez la moitié de la mémoire restante, puis convertissez-la en Mo. Par exemple, 14 Go/2 = 7 Go, soit 7 168 Mo. Vous obtenez la taille du cache du service de cache distribué.

    4. Utilisez la procédure suivante pour mettre à jour l’allocation de mémoire en conséquence.

Modifier l’allocation de mémoire du cache distribué

Utilisez cette procédure pour reconfigurer l'allocation de mémoire de taille du cache pour le service de cache distribué.

  1. (Facultatif) Pour vérifier l'allocation de mémoire existante pour le service de cache distribué sur un serveur, exécutez la commande suivante à l'invite de commandes SharePoint Management Shell :

    Use-SPCacheCluster
    Get-SPCacheHostConfig -HostName $Env:ComputerName
    

    Où :

    • ComputerName est le nom d'ordinateur du serveur sur lequel vous exécutez l'applet de commande SharePoint Management Shell.
  2. Arrêtez le service de cache distribué sur tous les hôtes de cache. Pour arrêter le service, accédez à Services sur le serveur dans l'Administration centrale, puis arrêtez le service de cache distribué sur tous les hôtes de cache dans la batterie.

  3. Pour reconfigurer la taille du cache du service de cache distribué, exécutez la commande suivante une seule fois sur un hôte de cache à l'invite de commandes SharePoint Management Shell :

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
    

    Où :

    • CacheSize correspond à l'allocation de mémoire pour la taille du cache en Mo. Dans l'exemple précédent, la taille de cache calculée s'élevait à 7 168 Mo pour un serveur doté d'une mémoire totale de 16 Go.
  4. Redémarrez le service de cache distribué sur tous les hôtes de cache. Pour ce faire, accédez à Services sur le serveur dans l'Administration centrale, puis démarrez le service de cache distribué sur tous les hôtes de cache dans la batterie.

Ajouter ou supprimer un serveur dans un cluster de cache distribué

Un administrateur peut ajouter un serveur à un cluster de cache ou l'en supprimer, il peut également supprimer un serveur du cluster de cache, effectuer des tâches opérationnelles ou de maintenance sur le serveur, puis rétablir ce serveur ou l'ajouter au cluster de cache. Lors de la suppression du serveur, le service de cache distribué est arrêté, puis son inscription est annulée auprès du serveur. L'annulation de l'inscription du service de cache distribué signifie que pour un administrateur, le service de cache distribué n'est pas répertorié dans la page Services sur le serveur de l'Administration centrale. De même, lorsqu'un serveur est ajouté, le service de cache distribué est inscrit, puis démarré sur le serveur. L'inscription du service de cache distribué signifie que pour un administrateur, le service de cache distribué est répertorié dans la page Services sur le serveur de l'Administration centrale.

Utilisez les procédures suivantes pour ajouter un serveur au cluster de cache et l'en supprimer. Ces applets de commande SharePoint Management Shell sont exécutées sur le serveur en cours d'ajout ou de suppression.

Notes

[!REMARQUE] Avant d'appliquer les procédures suivantes, vérifiez que le pare-feu autorise le trafic ICMP entrant (ICMPv4). Pour plus d'informations, voir Points à prendre en compte pour la configuration du pare-feu.

Ajouter un serveur au cluster de cache et démarrer le service de cache distribué à l’aide SharePoint Management Shell

À l'invite de commandes SharePoint Management Shell, exécutez la commande suivante :

Add-SPDistributedCacheServiceInstance

Supprimer un serveur du cluster de cache à l’aide de SharePoint Management Shell

À l'invite de commandes SharePoint Management Shell, exécutez la commande suivante :

Remove-SPDistributedCacheServiceInstance

Important

Cette procédure arrête le service de mise en cache et les données non persistantes du cache sont perdues. Si vous souhaitez conserver les données mises en cache, utilisez la procédure d'arrêt approprié, qui est décrite dans la section suivante.

Effectuer un arrêt approprié du service de cache distribué à l'aide d'un script PowerShell

Dans une batterie SharePoint server, il existe un cluster de cache lorsqu’un ou plusieurs hôtes de cache exécutent le service de cache distribué. Dans une batterie SharePoint server, il existe un cache et le cache s’étend sur le cluster de cache. Un administrateur peut déplacer le contenu mis en cache vers un autre hôte de cache lors de l'application de mises à jour au serveur. Pour éviter la perte de données associée au déplacement du contenu mis en cache, vous devez effectuer un arrêt du serveur à l’aide du script PowerShell dans la procédure suivante. La procédure d'arrêt approprié transfère toutes les données mises en cache à partir de l'hôte de cache sur lequel cette procédure est exécutée vers un autre hôte de cache de la batterie de serveurs. Le processus de transfert prend 15 minutes ou plus en fonction du nombre d'éléments présents dans le cache.

Pour effectuer un arrêt approprié du cache distribué à l'aide d'un script PowerShell

Utilisez le script PowerShell suivant pour effectuer un arrêt approprié du serveur de cache distribué, afin de déplacer le contenu mis en cache vers un autre hôte de cache. Veillez à bien spécifier le nœud à arrêter et modifiez le script selon vos besoins pour nommer les paramètres appropriés pour votre organisation.

Notes

[!REMARQUE] Il est inutile de supprimer l'hôte de cache d'un cluster de cache si vous utilisez le script PowerShell pour effectuer un arrêt approprié dans le cadre de la procédure suivante.

Notes

Dans SharePoint Server Subscription Edition, n’exécutez pas ps de script pour un arrêt sécurisé. Exécutez plutôt Stop-SPDistributedCacheServiceInstance avec le -Graceful paramètre pour l’exécuter.

  1. Vérifiez que vous disposez au minimum de la configuration requise suivante :

  2. Copiez les déclarations de variables suivantes et collez-les dans un éditeur de texte, tel que le bloc-notes. Définissez les valeurs de paramètres propres à votre organisation. Enregistrez le fichier et nommez-le. GracefulShutdown.ps1

    Notes

    Vous pouvez utiliser un autre nom de fichier, mais vous devez enregistrer le fichier en tant que fichier texte ansI avec l’extension .ps1 .

    ## 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." 
    }
    

    sp2016App.contoso.com est le nom de domaine d’ordinateur du serveur de cache distribué que vous utilisez.

  3. Ouvrez SharePoint Management Shell.

  4. Accédez au répertoire dans lequel vous avez enregistré le fichier.

  5. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    ./GracefulShutdown.ps1
    

    Pour plus d’informations sur les scripts et les fichiers PowerShell, voir .ps1 Running Windows PowerShell Scripts.

Modifier le compte de service

Lorsque la batterie de serveurs est configurée pour la première fois, le compte de la batterie de serveurs est configuré en tant que compte de service du service Service de mise en cache AppFabric/SharePoint de mise en cache. Le service de cache distribué dépend du service Service de mise en cache AppFabric/SharePoint de mise en cache. Pour modifier le compte de service du service Service de mise en cache AppFabric/SharePoint de mise en cache en un compte géré :

Sélectionnez le service pour modifier le compte de service.

  1. Créez un compte géré.

  2. Définissez le compte géré en tant que compte de service sur SharePoint service de mise en cache. À l'invite de commandes SharePoint Management Shell, exécutez la commande suivante :

    $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()
    

    Domain_name\user_name est le nom de domaine et le nom d’utilisateur du SharePoint géré.

Ajuster le service de Cache distribué à l'aide un script PowerShell

Analyse

Vous pouvez surveiller les compteurs de performance sur les serveurs de cache distribué pour mieux comprendre les problèmes de performances du cache. Voici quelques-uns des compteurs qui sont généralement utiles pour résoudre les problèmes :

  1. %cpu utilisé par le service de cache.

  2. %temps passé dans gc par le service de cache.

  3. Nombre total d’manqués/s de cache : une valeur élevée ici peut indiquer que les performances de votre application peuvent être en perte de performances, car elle n’est pas en mesure d’extraire des données du cache. Les causes possibles de cette situation sont notamment l’insétion et/ou l’expiration d’éléments à partir du cache.

  4. Nombre total d’objets : donne une idée du nombre d’éléments dans le cache. Une diminution significative du nombre d’objets peut signifier une menace ou une expiration en cours.

  5. Nombre total de demandes client/s : ce compteur est utile pour donner une idée de la charge générée sur les serveurs de cache à partir de l’application. Une valeur faible ici signifie généralement une sorte de goulot d’étranglement en dehors du serveur de cache (par exemple, dans l’application ou le réseau) et par conséquent, une charge faible est placée sur les serveurs de cache.

  6. Nombre total d’objets délogés : si les serveurs de cache sont constamment en cours de déloger les éléments afin de faire de la place aux objets plus nouveaux dans le cache, cela signifie généralement que vous aurez besoin de plus de mémoire sur les serveurs de cache pour contenir le jeu de données de votre application.

  7. Nombre total d’exceptions d’échec/s et nombre total d’exceptions de nouvelle tentative/s.

Le paramètre de service de cache distribué pour MaxConnectionsToServer est souvent ajusté en fonction du nombre de processeurs utilisés sur l'ordinateur hôte. Par exemple, si vous utilisez plusieurs cœurs, puis que vous définissez le paramètre MaxConnectionsToServer sur le même nombre de processeurs, l’ordinateur utilise souvent trop de mémoire et se fige. Des problèmes similaires se produisent lors de l'ajustement des paramètres DistributedLogonTokenCache et DistributedViewStateCache. Le paramètre par défaut est de 20 ms, mais des exceptions sont souvent trouvées lorsque la mise en cache du jeton n’a pas lieu dans le paramètre 20 ms. Utilisez les scripts PowerShell suivants pour modifier les paramètres des connexions maximales et des délai d’SharePoint Server 2016 et SharePoint Server 2013.

Pour régler le service de cache distribué à l'aide d'un script PowerShell

  1. Vérifiez que vous disposez de la configuration minimale requise suivante :

  2. Copiez les déclarations de variables suivantes et collez-les dans un éditeur de texte, tel que le bloc-notes. Définissez les valeurs de paramètres propres à votre organisation. Enregistrez le fichier et nommez-le. MaxConnections.ps1

    Notes

    Vous pouvez utiliser un autre nom de fichier, mais vous devez enregistrer le fichier en tant que fichier texte ansI avec l’extension .ps1 .

    SharePoint Script PowerShell Server Subscription Edition SharePoint Server 2019 server

    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
    $DHSC = Get-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache
    $DHSC.MaxConnectionsToServer = 1
    $DHSC.requestTimeout = "3000"
    $DHSC.channelOpenTimeOut = "3000"
    Set-SPDistributedCacheClientSetting -ContainerType DistributedUnifiedAuditCache $DHSC
    

    SharePoint Script PowerShell Server 2016

    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 Script PowerShell Server 2013

    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. Ouvrez SharePoint Management Shell.

  4. Accédez au répertoire dans lequel vous avez enregistré le fichier.

  5. À partir de l’invite de commandes PowerShell, entrez la commande suivante :

    ./MaxConnections.ps1
    

Pour plus d’informations, voir Application Configuration Paramètres (Windows Server AppFabric Caching). Pour plus d’informations sur Windows PowerShell scripts et fichiers, voir .ps1 Running Windows PowerShell Scripts.

Réparer un hôte de cache

Lors des activités d'installation, de configuration ou de maintenance, le service de cache distribué peut ne plus fonctionner. La preuve de ce comportement apparaît dans les règles d'intégrité dans l'Administration centrale ou lorsque les utilisateurs se servent de fonctionnalités de SharePoint Server qui s'appuient sur le cache distribué. Par exemple, le flux d'actualités du Mon site d'un utilisateur va commencer à signaler des erreurs. De plus, les administrateurs peuvent recevoir le message d'erreur « cacheHostInfo est null » lors de l'exécution des applets de commande SharePoint Management Shell pour gérer le service de cache distribué.

Deux étapes sont nécessaires pour réparer un hôte de cache.

Utilisez la procédure suivante pour restaurer l'hôte de cache distribué qui ne fonctionne plus.

  1. À l'invite de commandes SharePoint Management Shell, exécutez la cmdlet Remove-SPDistributedCacheServiceInstance.

  2. À l'invite de commandes SharePoint Management Shell, exécutez la cmdlet Add-SPDistributedCacheServiceInstance.

    Notes

    [!REMARQUE] En cas d'échec de l'étape 1, supprimez manuellement le service de cache distribué à l'aide de la procédure suivante.

    • À l'invite de commandes SharePoint Management Shell, tapez la syntaxe suivante :

      $instanceName ="SPDistributedCacheService Name=SPCache"
      
      $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
      
      If($serviceInstance -ne $null)
      {
      $serviceInstance.Delete()
      }
      
      
    • Une fois que le service de cache distribué a été supprimé manuellement, exécutez à nouveau l'étape 2.

Voir aussi

Concepts

Planifier les flux et le service de cache distribué dans SharePoint Server