Administrar el servicio de caché distribuida en SharePoint Server

SE APLICA A:yes-img-132013 yes-img-162016 yes-img-192019 yes-img-seSubscription Edition no-img-sopSharePoint en Microsoft 365

Para realizar tareas de administración y operación en el servicio de caché distribuida en SharePoint Server, un administrador debe llevar a cabo procedimientos específicos y ordenados. Este artículo describe cómo realizar varias tareas de administración y operación en el servicio de caché distribuida.

Importante

El servicio de caché distribuida puede finalizarse en un estado de no funcionamiento o irrecuperable si no sigue los procedimientos que se describen en este artículo. En casos extremos, puede que tenga que volver a generar la granja de servidores. Para SharePoint Server 2019, 2016 y 2013, la caché distribuida depende de Windows Server AppFabric como requisito previo. No administre el servicio de caché distribuida de AppFabric desde la ventana Servicios en Herramientas administrativas del Panel de control. No use las aplicaciones de la carpeta AppFabric para Windows Server en el menú Inicio. No se admite la adición de seguridad para AppFabric con la caché distribuida de SharePoint. Por SharePoint Server Edición de Suscripción, el producto AppFabric de Windows Server independiente ha quedado en desuso y la tecnología se ha integrado internamente en SharePoint.

Importante

No utilice nombres de cuenta de servicio que contengan el símbolo $.

Lista de cmdlets de PowerShell para el servicio caché distribuida

Los siguientes cmdlets de PowerShell ya están disponibles en PowerShell de SharePoint Server.

Cmdlet SharePoint Server Edición de Suscripción APP Fabric Cmdlet Descripción
New-SPCache New-Cache Crea una nueva memoria caché con nombre cuando se ejecuta el clúster.
Get-SPCache Get-Cache Enumera todas las cachés y regiones del clúster y el host de caché donde reside cada región. Sin ningún parámetro, se devuelven todas las memorias caché del clúster y sus detalles de región de host. Con los parámetros Hostname y CachePort proporcionados, las memorias caché y los detalles de la región solo se devuelven para el host especificado.
Get-SPCacheStatistics Get-CacheStatistics Devuelve estadísticas para una caché o para un host de caché.
Get-SPCacheHost Get-CacheHost Enumera todos los servicios de host de caché que son miembros del clúster de caché.
Start-SPCacheCluster Start-CacheCluster Inicia el servicio de almacenamiento en caché en todos los hosts de caché del clúster. Los hosts principales se inician primero.
Stop-SPCacheCluster Stop-CacheCluster Detiene los servicios de almacenamiento en caché en todos los hosts de caché del clúster.
Import-SPCacheClusterConfig Import-CacheClusterConfig Importa los detalles de configuración del clúster de caché desde un archivo XML.
Export-SPCacheClusterConfig Export-CacheClusterConfig Exporta la configuración del clúster de caché a un archivo XML.
Get-SPCacheClusterHealth Get-CacheClusterHealth Devuelve las estadísticas de estado de todas las memorias caché con nombre del clúster de caché. Esto incluye los que aún no se han asignado.
Use-SPCacheCluster Use-CacheCluster Establece el contexto de la sesión de PowerShell en un clúster de caché determinado.
Get-SPCacheHostConfig Get-CacheHostConfig Obtiene la información de configuración del host de caché en el clúster de caché.
Get-SPCacheClusterInfo Get-CacheClusterInfo Obtiene la información del clúster de caché en la granja de servidores.
Set-SPCacheClusterSecurity Set-CacheClusterSecurity Establece las propiedades de seguridad del clúster de caché.

Inicio y detención del servicio de caché distribuida

Un administrador que realiza tareas de mantenimiento y operación puede tener que iniciar y detener el servicio de caché distribuida. Entre algunas de estas tareas se incluyen las siguientes:

  • Cambio de la configuración predeterminada de la granja de servidores en el momento de la instalación. El servicio de caché distribuida se inicia en todos los servidores de SharePoint en el momento de la instalación. Puede que el administrador tenga que detener el servicio de caché distribuida en algunos servidores de la granja.

  • Obtenga información sobre cómo actualizar el servidor con un solo servidor de caché distribuida en la granja de servidores de SharePoint Server.

Al detener la caché, se pueden perder algunos datos. La caché de publicación depende del servicio de caché distribuida. Las actividades de etiquetas y documentos solo se guardan en la caché de publicación. Estas actividades, asimismo, no permanecen en las bases de datos de contenido. Al detenerse el servicio de caché distribuida, las actividades de etiquetas y documentos se pierden. Cuando se inicia el servicio de caché distribuida, se produce el rellenado cuando se ejecuta el trabajo de temporizador de rellenado de caché de publicación. Una forma de mantener las actividades de etiquetas y documentos es usar el método que se describe en Realización de un cierre estable del servicio de caché distribuida mediante un script de PowerShell más adelante en este artículo. Si se usa el método de cierre estable del servicio de caché distribuida, todos los datos de caché se mueven de un servidor a otro antes de que el servicio de caché distribuida se detenga.

Nota:

Si los hosts de su caché son parte de un clúster de caché, no inicie ni detenga el servicio de caché distribuida como se describe aquí. En su lugar, vea Adición o eliminación de un servidor del clúster de caché distribuida, más adelante en este artículo.

Para iniciar y detener el servicio de caché distribuida usando la Administración central

  1. En Administración central, haga clic en Administración de aplicaciones.

  2. En Aplicaciones de servicio, haga clic en Administrar servicios en el servidor.

  3. En la página Servicios del servidor, localice el servicio Caché distribuida.

  4. Si el servicio de caché distribuida se ha iniciado y desea detenerlo, en Acción, haga clic en Detener. Si el servicio de caché distribuida está detenido y desea iniciarlo, en Acción, haga clic en Iniciar.

Para iniciar el servicio caché distribuida mediante el Shell de administración de SharePoint

En el símbolo del sistema de Shell de administración de SharePoint, use el siguiente comando:

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

Para detener el servicio de caché distribuida mediante el Shell de administración de SharePoint

En el símbolo del sistema de Shell de administración de SharePoint, use el siguiente comando:

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

Cambio de asignación de memoria del servicio de caché distribuida

Si SharePoint Server está instalado, asigna el 10 por ciento del servicio de caché distribuida de la memoria física total en el servidor. El servicio de caché distribuida usa la mitad de la asignación de la memoria para el almacenamiento de datos (también conocido como tamaño de caché), y la otra mitad de esa asignación de la memoria se usa para la carga de administración de la memoria. Si los datos almacenados en caché crecen, el servicio de caché distribuida usa el 10 por ciento de la memoria asignada.

En los casos siguientes debería aumentar la asignación de memoria del servicio de caché distribuida:

  • Cuando agrega memoria física al servidor. Teniendo en cuenta que el servicio de caché distribuida no vuelve a calcular automáticamente la asignación del 10%, cuando aumenta la memoria física total del servidor, también debería aumentar de forma manual la asignación de memoria del servicio de caché distribuida.

  • Cuando su granja de servidores tiene un servidor de caché distribuida específico. Use el siguiente método para calcular cuánta memoria se puede asignar al servicio de caché distribuida:

    1. Determine la memoria física total en el servidor. Por ejemplo, usaremos 16 GB como la memoria física total disponible en el servidor.

    2. Reserve 2 GB de memoria para otros procesos y servicios que se ejecutan en el host de caché. Por ejemplo, 16 GB - 2 GB = 14 GB. Esta memoria restante se asigna al servicio de caché distribuida.

    3. La mitad de la memoria restante la convertimos a MB. Por ejemplo, 14 GB/2 = 7 GB o 7.168 MB. Este es el tamaño de caché del servicio de caché distribuida.

    4. Use el siguiente procedimiento para actualizar la asignación de memoria en consecuencia.

Cambio de asignación de memoria de la caché distribuida

Use este procedimiento para volver a configurar la asignación de memoria del tamaño de la caché del servicio de caché distribuida.

  1. (Opcional) Para comprobar la asignación existente de memoria para el servicio de caché distribuida de un servidor, ejecute el comando siguiente en el símbolo del sistema Shell de administración de SharePoint:

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

    Donde:

    • ComputerName es el nombre de equipo del servidor en el que se ejecuta el cmdlet de Shell de administración de SharePoint.
  2. Detenga el servicio de caché distribuida en todos los hosts de caché. Para ello, vaya a Servicios del servidor de Administración central y elija Detener el servicio de caché distribuida en todos los hosts de caché de la granja

  3. Para volver a configurar el tamaño de caché del servicio de caché distribuida, ejecute el comando siguiente solo una vez en cualquier host de caché en el símbolo del sistema Shell de administración de SharePoint:

    Update-SPDistributedCacheSize -CacheSizeInMB CacheSize
    

    Donde:

    • CacheSize es la asignación de memoria del tamaño de caché en MB. En el ejemplo anterior, el tamaño de caché se ha calculado como 7.168 MB para un servidor con 16 GB de memoria física total.
  4. Reinicio el servicio de caché distribuida en todos los hosts de caché. Para ello, vaya a Servicios del servidor de Administración central y elija Iniciar el servicio de caché distribuida en todos los hosts de caché de la granja

Adición o eliminación de un servidor del clúster de caché distribuida

Un administrador puede agregar o quitar un servidor en un clúster de caché, o puede que desee quitar un servidor del clúster de caché, realizar algunas tareas de operaciones o mantenimiento y volver a unir o agregar el servidor al clúster de caché. Al quitar el servidor, el servicio de caché distribuida se detiene y anula el registro del servidor. Eliminar del registro el servicio de caché distribuida implica que el administrador no verá el servicio de caché distribuida especificado en la página Servicios del servidor de Administración central. De forma similar, cuando se agrega un servidor, el servicio de caché distribuida se registra y se inicia en el servidor. Al registrar el servicio de caché distribuida, el administrador verá el servicio de caché distribuida en la página Servicios del servidor en Administración central.

Use los procedimientos siguientes para agregar o quitar un servidor de un clúster de caché. Estos cmdlets de Shell de administración de SharePoint se usan en el servidor que se va a agregar o quitar.

Nota:

Antes de realizar los procedimientos siguientes, asegúrese de que el firewall permite el paso de tráfico ICMP entrante (ICMPv4). Para más información, vea Consideraciones para la configuración del firewall.

Agregar un servidor al clúster de caché e iniciar el servicio caché distribuida mediante el Shell de administración de SharePoint

En el símbolo del sistema de Shell de administración de SharePoint, use el siguiente comando:

Add-SPDistributedCacheServiceInstance

Eliminación de un servidor del clúster de caché mediante el Shell de administración de SharePoint

En el símbolo del sistema de Shell de administración de SharePoint, use el siguiente comando:

Remove-SPDistributedCacheServiceInstance

Importante

Este procedimiento detendrá el servicio de caché y se perderán los datos no persistentes almacenados en la caché. Si desea conservar los datos en caché, utilice el procedimiento de cierre estable que se describe en la sección siguiente.

Realización de un cierre estable del servicio de caché distribuida mediante un script de PowerShell

En una granja de servidores de SharePoint Server, existe un clúster de caché cuando uno o varios hosts de caché ejecutan el servicio caché distribuida. En una granja de servidores de SharePoint Server, existe una memoria caché y la caché abarca el clúster de caché. Un administrador puede necesitar mover contenidos de caché a otro host de caché cuando se realizan actualizaciones al servidor. Para evitar la pérdida de datos asociada al movimiento del contenido almacenado en caché, debe realizar un apagado correcto del servidor mediante el script de PowerShell en el procedimiento siguiente. El cierre estable transfiere todos los datos almacenados en caché del host de caché en el que se está usando el procedimiento de cierre estable a otro host de caché de la granja. El proceso de transferencia tarda 15 minutos o más, en función de cuántos elementos haya en la memoria caché.

Para realizar un cierre estable de la caché distribuida mediante un script de PowerShell

Utilice el siguiente script de PowerShell para realizar un cierre estable del servidor de caché distribuida con el fin de mover el contenido almacenado en la caché a otro host de caché. Asegúrese de especificar el nodo correcto para apagar y cambiar el script según sea necesario para asignar un nombre a los parámetros correctos de la organización.

Nota:

No es necesario quitar el host de caché de un clúster de caché si usa el script de PowerShell siguiendo el procedimiento para realizar un cierre estable que se detalla a continuación.

Nota:

En SharePoint Server Edición de Suscripción, no ejecute ps el script para un apagado correcto. En su lugar, ejecute Stop-SPDistributedCacheServiceInstance con -Graceful el parámetro para ejecutarlo.

  1. Compruebe si cumple con los siguientes requisitos mínimos:

  2. Copie y pegue estas declaraciones de variables en un editor de texto, como el Bloc de notas. Establezca los valores de los parámetros específicos de su organización. Guarde el archivo y asígnele GracefulShutdown.ps1el nombre .

    Nota:

    Puede usar un nombre de archivo diferente, pero debe guardar el archivo como un archivo de texto codificado con ANSI con la extensión .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." 
    }
    

    Donde sp2016App.contoso.com es el nombre de dominio del equipo del servidor de caché distribuida que se usa.

  3. Abra el Shell de administración de SharePoint.

  4. Cambie al directorio en el que haya guardado el archivo.

  5. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

    ./GracefulShutdown.ps1
    

    Para obtener más información sobre los archivos y .ps1 scripts de PowerShell, consulte Ejecución de scripts Windows PowerShell.

Cambio de la cuenta de servicio

Cuando se configura la granja de servidores por primera vez, la cuenta de granja de servidores se establece como la cuenta de servicio del servicio de almacenamiento en caché de Servicio de almacenamiento en caché de AppFabric/SharePoint. El servicio caché distribuida depende del servicio de almacenamiento en caché de Servicio de almacenamiento en caché de AppFabric/SharePoint. Para cambiar la cuenta de servicio del servicio de almacenamiento en caché de Servicio de almacenamiento en caché de AppFabric/SharePoint a una cuenta administrada:

Seleccione el servicio para cambiar la cuenta de servicio.

  1. Cree una cuenta administrada.

  2. Establezca la cuenta administrada como la cuenta de servicio en el servicio de almacenamiento en caché de SharePoint. En el símbolo del sistema de Shell de administración de SharePoint, use el siguiente 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()
    

    Donde Domain_name\user_name es el nombre de dominio y el nombre de usuario de la cuenta administrada de SharePoint.

Ajuste del servicio de caché distribuida con un script de PowerShell

Supervisión

Puede supervisar los contadores de rendimiento en los servidores de caché distribuida para comprender mejor los problemas de rendimiento de la caché. Algunos de los contadores que suelen ser útiles para solucionar problemas son:

  1. %cpu usada por el servicio de caché.

  2. %time spent in GC by cache service(%tiempo invertido en GC por servicio de caché).

  3. Total de errores de caché/s: un valor alto aquí puede indicar que el rendimiento de la aplicación puede verse afectado porque no puede capturar datos de la memoria caché. Entre las posibles causas de esto se incluyen la expulsión o expiración de elementos de la memoria caché.

  4. Recuento total de objetos: proporciona una idea de cuántos elementos hay en la memoria caché. Una disminución significativa en el recuento de objetos podría significar que se está produciendo la expulsión o expiración.

  5. Total de solicitudes de cliente/s: este contador es útil para dar una idea de la cantidad de carga que se genera en los servidores de caché desde la aplicación. Un valor bajo aquí suele significar algún tipo de cuello de botella fuera del servidor de caché (quizás en la aplicación o la red) y, por lo tanto, se está colocando poca carga en los servidores de caché.

  6. Total de objetos expulsados: si los servidores de caché expulsan constantemente elementos para dejar espacio a los objetos más recientes en la memoria caché, suele ser una buena indicación de que necesitará más memoria en los servidores de caché para contener el conjunto de datos de la aplicación.

  7. Total de excepciones de error/s y total de excepciones de reintento/s.

La configuración del servicio de caché distribuida para MaxConnectionsToServer se suele ajustar en función del número de CPU que se usan en el equipo anfitrión. Si, por ejemplo, usa varios núcleos y, a continuación, establece la opción MaxConnectionsToServer en el mismo número de CPU, el equipo suele usar demasiada memoria y se bloquea. Suelen producirse problemas similares al ajustar las configuraciones de DistributedLogonTokenCache y DistributedViewStateCache. La configuración predeterminada es de 20 ms, pero a menudo se encuentran excepciones cuando el almacenamiento en caché de tokens no se produce en la configuración de 20 ms. Use los siguientes scripts de PowerShell para cambiar la configuración del número máximo de conexiones y tiempos de espera en SharePoint Server 2016 y SharePoint Server 2013.

Para ajustar el servicio de caché distribuida con un script de PowerShell

  1. Compruebe si cumple con los siguientes requisitos mínimos:

  2. Copie y pegue estas declaraciones de variables en un editor de texto, como el Bloc de notas. Establezca los valores de los parámetros específicos de su organización. Guarde el archivo y asígnele MaxConnections.ps1el nombre .

    Nota:

    Puede usar un nombre de archivo diferente, pero debe guardar el archivo como un archivo de texto codificado con ANSI con la extensión .ps1.

    SharePoint Server Edición de Suscripción y SharePoint Server 2019 script de 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 de PowerShell de 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 de PowerShell de 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 el Shell de administración de SharePoint.

  4. Cambie al directorio en el que haya guardado el archivo.

  5. En el símbolo del sistema de PowerShell, escriba el comando siguiente:

    ./MaxConnections.ps1
    

Para obtener más información, vea Configuración de la aplicación (Almacenamiento en caché de AppFabric de Windows Server). Para obtener más información sobre Windows PowerShell scripts y .ps1 archivos, consulte Ejecución de scripts Windows PowerShell.

Reparación de un host de caché

Durante la instalación, configuración o actividades de mantenimiento, el servicio de caché distribuida puede entrar en un estado de no funcionamiento. Se observará un mal funcionamiento del servicio de caché distribuida en las reglas de mantenimiento de Administración central, o cuando los usuarios usen características de SharePoint Server que se basen en la caché distribuida. Por ejemplo, el suministro de noticias de Mi sitio de un usuario se inicia con errores. Además, es posible que los administradores reciban el mensaje de error "cacheHostInfo es null " cuando ejecuten cmdlets de Shell de administración de SharePoint para administrar el servicio de caché distribuida.

Hay dos pasos para reparar un host de caché.

En el host de caché distribuida que no funciona, siga los procedimientos siguientes para restaurar el host de caché distribuida.

  1. En el símbolo del sistema de Shell de administración de SharePoint, use el cmdlet Remove-SPDistributedCacheServiceInstance.

  2. En el símbolo del sistema de Shell de administración de SharePoint, use el cmdlet Add-SPDistributedCacheServiceInstance.

    Nota:

    Si se produce un error en el paso 1, quite manualmente el servicio de caché distribuida utilizando los pasos siguientes.

    • En el símbolo del sistema de Shell de administración de SharePoint, escriba la siguiente sintaxis.

      $instanceName ="SPDistributedCacheService Name=SPCache"
      
      $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername}
      
      If($serviceInstance -ne $null)
      {
      $serviceInstance.Delete()
      }
      
      
    • Después de eliminar manualmente el servicio de caché distribuida, vuelva a ejecutar el paso 2.

Vea también

Conceptos

Planear las fuentes y el servicio de caché distribuida en SharePoint Server