Gerenciar o serviço de Cache Distribuído no SharePoint Server

APLICA-SE A:yes-img-132013 yes-img-16 2016yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint no Microsoft 365

Para executar o gerenciamento e tarefas operacionais no serviço de Cache Distribuído no SharePoint Server, um administrador deve executar os procedimentos específicos solicitados. Este artigo descreve como realizar várias tarefas de gerenciamento e operacionais no serviço de Cache Distribuído.

Importante

[!IMPORTANTE] O serviço de Cache Distribuído pode terminar em um estado não funcional ou irrecuperável se você não seguir os procedimentos listados neste artigo. Em cenários extremos, você pode ter que reconstruir o farm do servidor. Para SharePoint Server 2019, 2016 e 2013, o Cache Distribuído depende do Windows Server AppFabric como um pré-requisito. Não administre o Serviço de Cache do AppFabric da janela Serviços em Ferramentas Administrativas no Painel de Controle. Não use os aplicativos na pasta nomeada AppFabric for Windows Server no menu Iniciar. Não há suporte para adicionar segurança para AppFabric com cache distribuído do SharePoint. Para Edição de Assinatura do SharePoint Server, o produto AppFabric do Windows Server separado foi preterido e a tecnologia agora foi integrada internamente no SharePoint.

Importante

Não use nomes de contas de serviço que contenham o símbolo $.

Lista de cmdlets do PowerShell para serviço de Cache Distribuído

Os seguintes cmdlets do PowerShell já estão disponíveis no PowerShell do SharePoint Server.

Cmdlet Edição de Assinatura do SharePoint Server APP Fabric Cmdlet Descrição
New-SPCache New-Cache Cria um novo cache nomeado quando o cluster está em execução.
Get-SPCache Get-Cache Lista todos os caches e regiões no cluster e o host de cache em que cada região reside. Sem parâmetros, todos os caches de cluster e os detalhes da região do host são retornados. Com os parâmetros Hostname e CachePort fornecidos, os caches e os detalhes da região são retornados apenas para o host especificado.
Get-SPCacheStatistics Get-CacheStatistics Retorna estatísticas para um Cache ou para um Host de Cache.
Get-SPCacheHost Get-CacheHost Lista todos os serviços de host de cache que são membros do cluster de cache.
Start-SPCacheCluster Start-CacheCluster Inicia o Serviço de Cache em todos os hosts de cache no cluster. Os hosts principais são iniciados primeiro.
Stop-SPCacheCluster Stop-CacheCluster Interrompe os Serviços de Cache em todos os hosts de cache no cluster.
Import-SPCacheClusterConfig Import-CacheClusterConfig Importa detalhes da configuração do cluster de cache de um arquivo XML.
Export-SPCacheClusterConfig Export-CacheClusterConfig Exporta a configuração do cluster de cache para um arquivo XML.
Get-SPCacheClusterHealth Get-CacheClusterHealth Retorna estatísticas de integridade para todos os caches nomeados no cluster de cache. Isso inclui aqueles que ainda não foram alocados.
Use-SPCacheCluster Use-CacheCluster Define o contexto da sessão do PowerShell como um cluster de cache específico.
Get-SPCacheHostConfig Get-CacheHostConfig Obtém as informações de configuração do host de cache no cluster de cache.
Get-SPCacheClusterInfo Get-CacheClusterInfo Obtém as informações do cluster de cache no farm.
Set-SPCacheClusterSecurity Set-CacheClusterSecurity Define as propriedades de segurança do cluster de cache.

Inicie e pare o serviço de Cache Distribuído

Um administrador que executa as tarefas de manutenção e operacionais pode precisar iniciar e parar o serviço de Cache Distribuído. Algumas dessas tarefas incluem o seguinte:

  • Alterar a configuração padrão do farm de servidor no momento da instalação. O serviço de Cache Distribuído é iniciado em todos os servidores do SharePoint no momento da instalação. Um administrador pode desejar parar o serviço de Cache Distribuído em alguns servidores no farm.

  • Atualizar o servidor e há somente um servidor de Cache Distribuído no farm do SharePoint Server.

Interromper o cache resulta em perda parcial de dados. O Cache de Feed depende do serviço de Cache Distribuído. Marcas e atividades de documento são salvas apenas no Cache de Feed. Marcas e atividades de documento não persistem em bancos de dados de conteúdo. Quando o serviço de Cache Distribuído é interrompido, as marcas e atividades de documento são perdidas. Quando o serviço de Cache Distribuído é iniciado, a repopulação ocorre quando o trabalho de timer do cache de feed de repopulação é executado. Uma maneira de manter as marcas e atividades do documento é usar o método descrito em Execute um desligamento normal do serviço de Cache Distribuído usando um script do PowerShell mais adiante neste artigo. Quando esse método é usado, todos os dados do cache são movidos de um servidor para outro antes que o serviço de Cache Distribuído seja parado.

Observação

[!OBSERVAçãO] Se os hosts de cache fizerem parte de um cluster de cache, não inicie ou pare o serviço de Cache Distribuído conforme descrito aqui. Em vez disso, consulte Adicione ou remova um servidor em um cluster de Cache Distribuído mais adiante neste artigo.

Para iniciar e parar o serviço de Cache Distribuído usando a Administração Central

  1. No Administração Central, clique em Gerenciamento de Aplicativo.

  2. Em Aplicativos de Serviço, clique em Gerenciar Serviços no Servidor.

  3. Na página Serviços no Servidor, localize o serviço Cache Distribuído.

  4. Se o serviço de Cache Distribuído foi iniciado e você deseja pará-lo, em Ação, clique em Parar. Se ele estiver parado e você deseja iniciá-lo, em Ação, clique em Iniciar.

Para iniciar o serviço cache distribuído usando o Shell de Gerenciamento do SharePoint

No prompt de comando do Shell de Gerenciamento do SharePoint, execute o seguinte comando:

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

Para interromper o serviço de Cache Distribuído usando o Shell de Gerenciamento do SharePoint

No prompt de comando do Shell de Gerenciamento do SharePoint, execute o seguinte comando:

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

Altere a alocação de memória do serviço de Cache Distribuído

Quando o SharePoint Server é instalado, ele atribui ao serviço de Cache Distribuído 10% da memória física total no servidor. Esse serviço usa metade dessa alocação de memória para o armazenamento de dados (também conhecido como tamanho de cache) e a outra metade da alocação é usada para a sobrecarga de gerenciamento de memória. Quando os dados do cache aumentam, o serviço de Cache Distribuído usa todos os 10% da memória alocada.

Você deve aumentar a alocação de memória do serviço de Cache Distribuído nestes cenários:

  • Quando você adiciona memória física ao servidor. O serviço de Cache Distribuído não recalcula automaticamente os 10% de alocação de memória, então quando você aumenta a memória física total no servidor, é necessário aumentar manualmente a alocação de memória do serviço de Cache Distribuído.

  • Quando seu farm do servidor tiver um servidor de Cache Distribuído dedicado. Use o método a seguir para calcular quanta memória pode ser atribuída ao serviço de Cache Distribuído:

    1. Determine a memória física total no servidor. Usaremos 16 GB como a memória física total disponível no servidor, para este exemplo.

    2. Reserve 2 GB de memória para outros processos e serviços que estejam executando no host do cache. Por exemplo, 16 GB - 2 GB = 14 GB. Essa memória restante é alocada ao serviço de Cache Distribuído.

    3. Pegue metade da memória restante, e converta em MB. Por exemplo, 14 GB/2 = 7 GB ou 7168 MB. Esse é o tamanho de cache do serviço de Cache Distribuído.

    4. Use o procedimento a seguir para atualizar a alocação de memória adequadamente.

Altere a alocação de memória do Cache Distribuído

Use este procedimento para reconfigurar a alocação de memória do tamanho de cache do serviço de Cache Distribuído.

  1. (Opcional) Para verificar a alocação de memória existente para o serviço de Cache Distribuído em um servidor, execute o seguinte comando no prompt de comando do Shell de Gerenciamento do SharePoint:

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

    Onde:

    • ComputerName é o nome do computador do servidor no qual você está executando o cmdlet do Shell de Gerenciamento do SharePoint.
  2. Pare o serviço de Cache Distribuído em todos os hosts de cache. Para parar o serviço de Cache Distribuído, vá até Serviços no Servidor na Administração Central e use a opção de Parar o serviço de Cache Distribuído em todos os hosts de cache no farm.

  3. Para reconfigurar o tamanho de cache do serviço de Cache Distribuído, execute o segundo comando apenas uma vez em qualquer host de cache no prompt de comando do Shell de Gerenciamento do SharePoint:

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
    

    Em que:

    • CacheSize é a atribuição de alocação de memória do tamanho de cache em MB. No exemplo anterior, o tamanho de cache foi calculado a 7168 MB para um servidor com 16 GB de memória no total.
  4. Reinicie o serviço de Cache Distribuído em todos os hosts de cache. Para reiniciar o serviço de Cache Distribuído, vá até Serviços no Servidor na Administração Central e use a opção de Iniciar o serviço de Cache Distribuído em todos os hosts de cache no farm.

Adicione ou remova um servidor em um cluster de Cache Distribuído

Um administrador pode adicionar ou remover um servidor de um cluster de cache, ou remover o servidor para realizar algumas tarefas operacionais ou de manutenção dos servidores e depois entrar novamente e adicionar o servidor ao cluster. Quando o servidor é removido, o serviço de Cache Distribuído é parado e tem seu registro removido do servidor. A remoção do registro significa que o administrador não verá o serviço de Cache Distribuído listado na página Serviços no Servidor no Administração Central. Da mesma forma, quando um servidor é adicionado, o serviço de Cache Distribuído é registrado e então iniciado no servidor. O registro significa que o administrador verá o serviço de Cache Distribuído listado na página Serviços no Servidor no Administração Central.

Use os procedimentos a seguir para adicionar e remover um servidor de um cluster de cache. Esses cmdlets do Shell de Gerenciamento do SharePoint são executados no servidor adicionado ou removido.

Observação

[!OBSERVAçãO] Antes de realizar os procedimentos a seguir, verifique se o firewall permite o tráfego de ICMP de Entrada (ICMPv4) por ele. Para obter mais informações, consulte a seção sobre as Considerações de configuração de firewall.

Adicionar um servidor ao cluster de cache e iniciar o serviço de Cache Distribuído usando o Shell de Gerenciamento do SharePoint

No prompt de comando do Shell de Gerenciamento do SharePoint, execute o seguinte comando:

Add-SPDistributedCacheServiceInstance

Remover um servidor do cluster de cache usando o Shell de Gerenciamento do SharePoint

No prompt de comando do Shell de Gerenciamento do SharePoint, execute o seguinte comando:

Remove-SPDistributedCacheServiceInstance

Importante

[!IMPORTANTE] Este procedimento interromperá o serviço de cache e os dados armazenados do cache não persistido serão perdidos. Se você quiser manter os dados armazenados em cache, use o procedimento de desligamento normal que está descrito na próxima seção.

Execute um desligamento normal do serviço de Cache Distribuído usando um script do PowerShell

Em um farm do SharePoint Server, existe um cluster de cache quando um ou mais hosts de cache executam o serviço cache distribuído. Em um farm do SharePoint Server, existe um cache e o cache abrange o cluster de cache. Talvez seja preciso um administrador para mover o conteúdo em cache para outro host de cache ao aplicar atualizações no servidor. Para evitar a perda de dados associada à movimentação do conteúdo armazenado em cache, você precisa executar um desligamento gracioso do servidor usando o script do PowerShell no procedimento a seguir. O procedimento de desligamento normal transfere todos os dados do cache do host no qual o procedimento de desligamento normal está sendo executado para outro host no farm. O processo de transferência demora 15 minutos ou mais, dependendo de quantos itens existem no cache.

Para executar um desligamento normal do Cache Distribuído usando um script do PowerShell

Use o seguinte script do PowerShell para executar um desligamento normal do servidor de Cache Distribuído para mover os conteúdos em cache para outro host de cache. Verifique se você especifica o nó correto para desligar e alterar o script conforme necessário para nomear os parâmetros corretos para sua organização.

Observação

[!OBSERVAçãO] Não é necessário remover o host de cache de um cluster de cache se você usar o script do PowerShell no procedimento a seguir para executar um desligamento normal.

Observação

Em Edição de Assinatura do SharePoint Server, não execute ps o script para desligamento gracioso. Em vez disso, execute Stop-SPDistributedCacheServiceInstance com -Graceful parâmetro para executá-lo.

  1. Verifique se você cumpre os requisitos mínimos a seguir:

  2. Copie as seguintes declarações de variáveis e cole-as em um editor de texto, como o Bloco de Notas. Defina valores de parâmetros específicos para sua organização. Salve o arquivo e nomeie-o GracefulShutdown.ps1.

    Observação

    Você pode usar um nome de arquivo diferente, mas deve salvar o arquivo como um arquivo de texto codificado por ANSI com a extensão .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." 
    }
    

    Onde sp2016App.contoso.com é o nome de domínio do computador do servidor cache distribuído que você usa.

  3. Abra o Shell de Gerenciamento do SharePoint.

  4. Altere para o diretório em que você salvou o arquivo.

  5. No prompt de comando do PowerShell, digite o seguinte comando:

    ./GracefulShutdown.ps1
    

    Para obter mais informações sobre scripts e .ps1 arquivos do PowerShell, consulte Executando scripts de Windows PowerShell.

Altere a conta de serviço

Quando o farm do servidor é configurado pela primeira vez, a conta farm do servidor é definida como a conta de serviço do Serviço de Cache do Serviço de cache do AppFabric/SharePoint. O serviço cache distribuído depende do serviço de cache do Serviço de cache do AppFabric/SharePoint. Para alterar a conta de serviço do Serviço de Cache do Serviço de cache do AppFabric/SharePoint para uma conta gerenciada:

Selecione o serviço para alterar a conta de serviço.

  1. Crie uma conta gerenciada.

  2. Defina a conta Gerenciada como a conta de serviço no Serviço de Cache do SharePoint. No prompt de comando do Shell de Gerenciamento do SharePoint, execute o seguinte comando:

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

    Onde Domain_name\user_name é o nome de domínio e o nome de usuário da conta gerenciada do SharePoint.

Ajustar o serviço de Cache Distribuído usando um script do PowerShell

Monitoramento

Você pode monitorar contadores de desempenho nos servidores de Cache Distribuído para obter uma melhor compreensão dos problemas de desempenho do cache. Alguns dos contadores que normalmente são úteis para solucionar problemas incluem:

  1. %cpu usado pelo serviço de cache.

  2. %time gasto no serviço GC por cache.

  3. Total de erros de cache/s – Um valor alto aqui pode indicar que o desempenho do aplicativo pode sofrer porque não é capaz de buscar dados do cache. As possíveis causas para isso incluem despejo e/ou expiração de itens do cache.

  4. Contagem total de objetos – dá uma ideia de quantos itens estão no cache. Uma queda significativa na contagem de objetos pode significar que o despejo ou a expiração estão ocorrendo.

  5. Total de reqs/s do cliente – Esse contador é útil para dar uma ideia de quanta carga está sendo gerada nos servidores de cache do aplicativo. Um valor baixo aqui geralmente significa algum tipo de gargalo fora do servidor de cache (talvez no aplicativo ou na rede) e, portanto, pouca carga está sendo colocada em servidores de cache.

  6. Total de objetos despejados – se os servidores de cache estiverem constantemente despejando itens para abrir espaço para objetos mais recentes em cache, geralmente é uma boa indicação de que você precisará de mais memória nos servidores de cache para manter o conjunto de dados do seu aplicativo.

  7. Exceções totais de falha/s e exceções de repetição total/s.

A configuração do serviço de Cache distribuído para o MaxConnectionsToServer é geralmente ajustado com base no número de CPUs que são usadas no computador host. Se, por exemplo, você usar vários núcleos e definir a configuração MaxConnectionsToServer como o mesmo número de CPUs, o computador geralmente usa muita memória e congela. Problemas semelhantes acontecem ao ajustar as configurações do DistributedLogonTokenCache e do DistributedViewStateCache. A configuração padrão é de 20ms, mas geralmente as exceções são encontradas quando o cache do token não acontece na configuração de 20 ms. Use os scripts do PowerShell a seguir para alterar as configurações para conexões e tempo limite máximos no SharePoint Server 2016 e no SharePoint Server 2013.

Para ajustar o serviço de Cache Distribuído usando um script do PowerShell

  1. Verifique se você cumpre os requisitos mínimos a seguir:

  2. Copie as seguintes declarações de variáveis e cole-as em um editor de texto, como o Bloco de Notas. Defina valores de parâmetros específicos para sua organização. Salve o arquivo e nomeie-o MaxConnections.ps1.

    Observação

    Você pode usar um nome de arquivo diferente, mas deve salvar o arquivo como um arquivo de texto codificado por ANSI com a extensão .ps1.

    Edição de Assinatura do SharePoint Server e SharePoint Server 2019 script do 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 do PowerShell do 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 do PowerShell do 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. Abra o Shell de Gerenciamento do SharePoint.

  4. Altere para o diretório em que você salvou o arquivo.

  5. No prompt de comando do PowerShell, digite o seguinte comando:

    ./MaxConnections.ps1
    

Para obter mais informações, confira Configurações de Configuração do Aplicativo (Cache de Aplicativos do Windows Server). Para obter mais informações sobre Windows PowerShell scripts e .ps1 arquivos, consulte Executando scripts de Windows PowerShell.

Repare um host de cache

Durante as atividades de instalação, configuração ou manutenção, o serviço de Cache Distribuído pode entrar em um estado de não funcionamento. A evidência de um serviço de Cache Distribuído funcionando incorretamente será mostrada nas Regras de Integridade no Administração Central ou quando os usuários usarem recursos no SharePoint Server que dependam do Cache Distribuído. Por exemplo, o news feed no Meu Site de um usuário começará a relatar erros. Além disso, os administradores deverão receber a mensagem de erro "cacheHostInfo é nulo " ao tentarem executar cmdlets no Shell de Gerenciamento do SharePoint para gerenciar o serviço de Cache Distribuído.

Há duas etapas para reparar um host de cache.

Em caso de funcionamento incorreto, use os procedimentos a seguir para restaurar um host de Cache Distribuído.

  1. No prompt de comando do Shell de Gerenciamento do SharePoint, execute o cmdlet Remove-SPDistributedCacheServiceInstance.

  2. No prompt de comando do Shell de Gerenciamento do SharePoint, execute o cmdlet Add-SPDistributedCacheServiceInstance.

    Observação

    [!OBSERVAçãO] Se a etapa 1 não resolver o problema, siga as etapas a seguir para remover manualmente o serviço de Cache Distribuído.

    • No prompt de comando do Shell de Gerenciamento do SharePoint, digite a seguinte sintaxe.

      $instanceName ="SPDistributedCacheService Name=SPCache"
      
      $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
      
      If($serviceInstance -ne $null)
      {
      $serviceInstance.Delete()
      }
      
      
    • Depois que o serviço de Cache Distribuído for excluído manualmente, execute a etapa 2 novamente.

Confira também

Conceitos

Plano para feeds e o serviço de Cache Distribuído no SharePoint Server