Partilhar via


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

APLICA-SE A:yes-img-132013 yes-img-162016 yes-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 o SharePoint Server 2019, 2016 e 2013, a Cache Distribuída depende da AppFabric do Windows Server como 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. A adição de segurança para AppFabric com cache distribuída do SharePoint não é suportada. Para o SharePoint Server Subscription Edition, o produto AppFabric do Windows Server separado foi preterido e a tecnologia foi agora 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 o serviço cache distribuída

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

Cmdlet da Edição de Subscrição do SharePoint Server APP Fabric Cmdlet Descrição
New-SPCache New-Cache Cria uma nova cache com nome quando o cluster está em execução.
Get-SPCache Get-Cache Lista todas as caches e regiões no cluster e o anfitrião da cache onde cada região reside. Sem quaisquer parâmetros, todas as caches do cluster e os respetivos detalhes da região do anfitrião são devolvidos. Com os parâmetros Hostname e CachePort fornecidos, as caches e os detalhes da região são devolvidos apenas para o anfitrião especificado.
Get-SPCacheStatistics Get-CacheStatistics Devolve estatísticas para uma Cache ou para um Anfitrião de Cache.
Get-SPCacheHost Get-CacheHost Lista todos os serviços de anfitrião em cache que são membros do cluster de cache.
Start-SPCacheCluster Start-CacheCluster Inicia o Serviço de Colocação em Cache em todos os anfitriões de cache no cluster. Os anfitriões principais são iniciados primeiro.
Stop-SPCacheCluster Stop-CacheCluster Para os Serviços de Colocação em Cache em todos os anfitriões de cache no cluster.
Import-SPCacheClusterConfig Import-CacheClusterConfig Importa os detalhes de configuração do cluster de cache a partir de um ficheiro XML.
Export-SPCacheClusterConfig Export-CacheClusterConfig Exporta a configuração do cluster de cache para um ficheiro XML.
Get-SPCacheClusterHealth Get-CacheClusterHealth Devolve estatísticas de estado de funcionamento para todas as caches nomeadas no cluster de cache. Isto inclui aqueles que ainda não foram alocados.
Use-SPCacheCluster Use-CacheCluster Define o contexto da sua sessão do PowerShell para um cluster de cache específico.
Get-SPCacheHostConfig Get-CacheHostConfig Obtém as informações de configuração do anfitrião da 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ída com a Shell de Gestão 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 parar o serviço cache distribuída com a Shell de Gestão 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 cache distribuída com a Shell de Gestão 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 com a Shell de Gestão 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

Num farm do SharePoint Server, existe um cluster de cache quando um ou mais anfitriões de cache executam o serviço Cache Distribuída. Num farm do SharePoint Server, existe uma cache e a 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 dos conteúdos em cache, tem de efetuar um encerramento correto do servidor com o script do PowerShell no procedimento seguinte. 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. Certifique-se de que especifica o nó correto para encerrar e alterar o script conforme necessário para atribuir um nome aos parâmetros corretos para a 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

No SharePoint Server Subscription Edition, não execute ps o script para encerramento correto. Em vez disso, execute Stop-SPDistributedCacheServiceInstance com -Graceful o parâmetro para o executar.

  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. Guarde o ficheiro e dê-lhe o GracefulShutdown.ps1nome .

    Observação

    Pode utilizar um nome de ficheiro diferente, mas tem de guardar o ficheiro como um ficheiro de texto codificado com 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." 
    }
    

    Em que sp2016App.contoso.com é o nome de domínio do computador do servidor de Cache Distribuída que utiliza.

  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 ficheiros do PowerShell, veja Executar Scripts do Windows PowerShell.

Altere a conta de serviço

Quando o farm de servidores é configurado pela primeira vez, a conta do farm de servidores é definida como a conta de serviço do serviço de Colocação em Cache do AppFabric/Serviço de Colocação em Cache do SharePoint. O serviço Cache Distribuída depende do serviço de Colocação em Cache appFabric/Serviço de Colocação em Cache do SharePoint. Para alterar a conta de serviço do serviço appFabric Caching/Serviço de Colocação em Cache do SharePoint para uma conta gerida:

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

  1. Crie uma conta gerenciada.

  2. Defina a Conta gerida como a conta de serviço no Serviço de Colocação em 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()
    

    Em que Domain_name\user_name é o nome de domínio e o nome de utilizador da conta gerida do SharePoint.

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

Monitoramento

Pode monitorizar os contadores de desempenho nos servidores de Cache Distribuída para compreender melhor os problemas de desempenho da cache. Alguns dos contadores que normalmente são úteis para resolver problemas incluem:

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

  2. %time spent in GC by cache service.

  3. Total cache misses/sec - Um valor elevado aqui pode indicar que o desempenho da aplicação pode sofrer porque não é capaz de obter dados da cache. As causas possíveis para tal incluem expulsão e/ou expiração de itens da cache.

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

  5. Total client reqs/sec - Este contador é útil para dar uma ideia da quantidade de carga que está a ser gerada nos servidores de cache da aplicação. Um valor baixo aqui geralmente significa algum tipo de estrangulamento fora do servidor de cache (talvez na aplicação ou rede) e, portanto, pouca carga está a ser colocada em servidores de cache.

  6. Total de Objetos Expulsos – se os servidores de cache estiverem constantemente a expulsar itens para libertar espaço para objetos mais recentes na cache, é geralmente uma boa indicação de que precisará de mais memória nos servidores de cache para manter o conjunto de dados da sua aplicação.

  7. Total failure exceptions/sec and Total Retry exceptions/sec.

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, utilizar múltiplos núcleos e, em seguida, definir a definição MaxConnectionsToServer para o mesmo número de CPUs, o computador utiliza frequentemente demasiada memória e bloqueia. Problemas semelhantes acontecem ao ajustar as configurações do DistributedLogonTokenCache e do DistributedViewStateCache. A predefinição é de 20 ms, mas muitas vezes são encontradas exceções quando a colocação em cache de tokens não ocorre na definição de 20 ms. Utilize os seguintes scripts do PowerShell para alterar as definições para o máximo de ligações e tempos limite 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. Guarde o ficheiro e dê-lhe o MaxConnections.ps1nome .

    Observação

    Pode utilizar um nome de ficheiro diferente, mas tem de guardar o ficheiro como um ficheiro de texto codificado com ANSI com a extensão .ps1.

    SharePoint Server Subscription Edition e script do PowerShell do SharePoint Server 2019

    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, veja Application Configuration Settings (Windows Server AppFabric Caching). Para obter mais informações sobre scripts e .ps1 ficheiros do Windows PowerShell, consulte Executar Scripts do 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