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

S’APPLIQUE À :oui-img-132013 oui-img-162016 oui-img-192019 oui-img-seÉdition d’abonnement no-img-sopSharePoint dans 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é.

Importante

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 prérequis. 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 avec le cache distribué SharePoint n’est pas pris en charge. Par SharePoint Server Édition d'abonnement, le produit AppFabric Windows Server distinct a été déprécié et la technologie a maintenant été intégrée en interne dans SharePoint.

Importante

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

Liste des applets de commande PowerShell pour le service de cache distribué

Les applets de commande PowerShell suivantes sont désormais disponibles dans SharePoint Server PowerShell.

applet de commande SharePoint Server Édition d'abonnement Applet de commande APP Fabric 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 les détails de leur région hôte sont retournés. Avec les paramètres Hostname et CachePort fournis, les caches et les détails de la région sont retournés uniquement pour l’hôte spécifié.
Get-SPCacheStatistics Get-CacheStatistics Retourne des statistiques pour un cache ou pour un hôte de cache.
Get-SPCacheHost Get-CacheHost Répertorie tous les services hôtes 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 principaux 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 du 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 Retourne des statistiques d’intégrité 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.
Get-SPCacheHostConfig Get-CacheHostConfig Obtient les informations de configuration de l’hôte de cache dans le cluster de cache.
Get-SPCacheClusterInfo Get-CacheClusterInfo Obtient les informations de cluster de cache dans la batterie de serveurs.
Set-SPCacheClusterSecurity Set-CacheClusterSecurity Définit les propriétés de sécurité du cluster de cache.

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 entraîne une perte partielle de données. 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. Les balises et les activités de document ne sont pas conservées 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é, le repeuplement se produit lorsque le travail du minuteur de repeuplement du cache de flux s’exécute. Une façon de gérer les balises et les activités de document consiste à utiliser la méthode décrite dans Effectuer un arrêt normal du service de cache distribué à l’aide d’un script PowerShell plus loin dans cet article. Lorsque l’arrêt normal de la méthode de service de cache distribué est utilisé, toutes les données du cache sont déplacées d’un serveur vers un autre serveur avant l’arrêt du service de cache distribué.

Remarque

[!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 de 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 de 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 :

  • Lorsque vous ajoutez de la mémoire physique au serveur. Le service de cache distribué ne recalcule pas automatiquement l’allocation de mémoire de 10 %. Par conséquent, 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.

Remarque

[!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 de 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

Importante

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 de serveurs SharePoint Server, un cluster de cache existe lorsqu’un ou plusieurs hôtes de cache exécutent le service de cache distribué. Dans une batterie de serveurs SharePoint Server, un cache existe 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 approprié 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 à spécifier le nœud approprié à arrêter et à modifier le script si nécessaire pour nommer les paramètres appropriés pour votre organization.

Remarque

[!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.

Remarque

Dans SharePoint Server Édition d'abonnement, n’exécutez ps pas de script pour un arrêt normal. Au lieu de cela, exécutez Stop-SPDistributedCacheServiceInstance avec -Graceful le 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.

    Remarque

    Vous pouvez utiliser un autre nom de fichier, mais vous devez enregistrer le fichier en tant que fichier texte encodé 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 de l’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 .ps1 les fichiers PowerShell, consultez Exécution de scripts Windows PowerShell.

Modifier le compte de service

Lorsque la batterie de serveurs est configurée pour la première fois, le compte de batterie de serveurs est défini comme compte de service du service de mise en cache Service de mise en cache AppFabric/SharePoint. Le service de cache distribué dépend du service de mise en cache Service de mise en cache AppFabric/SharePoint. Pour remplacer le compte de service du service de mise en cache Service de mise en cache AppFabric/SharePoint par un compte managé :

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

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

  2. Définissez le compte managé comme compte de service sur le service de mise en cache SharePoint. À 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 compte managé SharePoint.

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

Analyse

Vous pouvez surveiller les compteurs de performances 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. %uc utilisée par le service de cache.

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

  3. Nombre total d’absences dans le cache/s : une valeur élevée peut indiquer que les performances de votre application peuvent en pâtir, car elle n’est pas en mesure d’extraire des données du cache. Les causes possibles de ce problème incluent l’éviction et/ou l’expiration des éléments du cache.

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

  5. Nombre total de requêtes 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 (peut-être dans l’application ou le réseau) et donc peu de charge est placée sur les serveurs de cache.

  6. Nombre total d’objets supprimés : si les serveurs de cache suppriment constamment des éléments pour libérer de l’espace pour les objets plus récents dans le cache, cela indique 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 nouvelles tentatives/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. Si, par instance, vous utilisez plusieurs cœurs, puis définissez le paramètre MaxConnectionsToServer sur le même nombre de processeurs, alors 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 20 ms, mais souvent des exceptions sont trouvées lorsque la mise en cache des jetons n’a pas lieu dans le paramètre de 20 ms. Utilisez les scripts PowerShell suivants pour modifier les paramètres du nombre maximal de connexions et de délais d’expiration dans 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.

    Remarque

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

    SharePoint Server Édition d'abonnement et SharePoint Server 2019 script PowerShell

    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
    

    Script PowerShell SharePoint 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  
    

    Script PowerShell SharePoint 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, consultez Paramètres de configuration d’application (Mise en cache De Windows Server AppFabric). Pour plus d’informations sur Windows PowerShell scripts et .ps1 fichiers, consultez Exécution de scripts Windows PowerShell.

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.

    Remarque

    [!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