Activation et configuration du cache sous SharePoint 2013 (tuto de A à Z)

download Activation et configuration du cache sous SharePoint 2013 (tuto de A à Z)

of 12

description

Permet de configurer le service de cache ("distributed cache") sous SharePoint 2013. Ce service permet d'accélérer et d'optimiser le chargement des pages

Transcript of Activation et configuration du cache sous SharePoint 2013 (tuto de A à Z)

  • 1

    Configuration du service de

    cache sous SharePoint 2013

    (v3.24)

    Tutorial conu et rdig par Michel de CREVOISIER - Juillet 2013

    SOURCES Distributed cache :

    Commande PowerShell : source

    Taille du cache et firewall : source

    Fonctionnement et architecture : source

    Planning de dploiement : source Best practices : source Le cache en profondeur : source

  • 2

    INDEX

    SOURCES .............................................................................................................................................................. 1

    INDEX ................................................................................................................................................................... 2

    1. Prsentation ................................................................................................................................................ 3

    1.1 Modes de fonctionnement .................................................................................................................. 3

    1.2 Types de caches ................................................................................................................................... 3

    1.3 Autres caches....................................................................................................................................... 4

    2. Mise en place .............................................................................................................................................. 5

    2.1 Prrequis.............................................................................................................................................. 5

    2.2 Comptes de service ............................................................................................................................. 5

    2.3 Administration du service .................................................................................................................... 6

    3. Configuration .............................................................................................................................................. 7

    3.1 Paramtres du cache ........................................................................................................................... 7

    3.2 Taille du cache ..................................................................................................................................... 7

    3.3 Caches individuels ............................................................................................................................... 8

    3.4 Activation des menus de cache ........................................................................................................... 8

    3.5 Configuration des caches .................................................................................................................... 8

    4. SharePoint : Review problems and solutions .................................................................................... 11

    4.1 Distributed cache host may cause cache reliability problems .......................................................... 11

    4.2 The server farm account should not be used for [Distributed cache] .............................................. 12

    4.3 The user does not exist or is not unique ........................................................................................... 12

    Dautres tuto en relation avec ce sujet sont galement disponibles sur mon blog :

    Installation de SharePoint 2013 (tuto)

    Configuration de SharePoint 2013 (tuto)

    Activation et mise en place de FastSearch 2013 (tuto)

    Configuration du service de cache (tuto)

    Configuration du service UPS (tuto)

    Installation de Reporting Services pour SQL Server 2012 (tuto)

    Installation de PowerPivot pour SQL Server 2012 (tuto)

    Migration de SharePoint 2010 vers 2013 (tuto)

  • 3

    1. Prsentation

    1.1 Modes de fonctionnement Le service cache de SharePoint repose sur le module App Fabric Cache (source). En production, ce service peut tre dclin en deux modes de fonctionnement :

    Dedicated : le service Distributed Cache est activ et tous les autres services sont arrts

    Collocated : le service est activ en parallle dautres services

    1.2 Types de caches SharePoint fournit 4 types de caches afin daccrotre les performances globales des sites (source) :

    1.2.1 BLOB cache Ce cache permet dacclrer le chargement des fichiers utiliss par les pages web. Concrtement, les fichiers appels (connus sous le nom de BLOB pour Binary Large Objects) sont pr-chargs partir de la base de donnes et stocks sur les disques durs des serveurs frontaux. Il peut sagir de fichiers audio, dimages, de vidos, ou encore de ficiers .js ou .css . Par dfaut, ce cache est dsactiv. Son activation permet de rduire la charge et le trafic des serveurs SQL. Attention, il nest pas recommand de lactiver si vous effectuez des modifications frquentes sur les fichiers (Word, Excel,

    ). Rfrez-vous au point 3.3.1 pour le configurer.

    1.2.2 Page output cache profiles Ce cache stocke le rendu des pages ASP.net en mmoire RAM. Il en stocke galement les diffrentes versions selon les permissions attribues. Par dfaut, ce cache est dsactiv et peut tre activ au niveau dune collection de sites, dun sous-site ou dune page en particulier. Rfrez-vous au point

    3.3.2 pour le configurer. Son activation permet de rduire les changes avec les serveurs SQL tout en rduisant la charge des serveurs frontaux tant donn quils nont pas besoin de rgnrer les pages sollicites.

    1.2.3 Object cache Ce cache permet de rduire le trafic entre les serveurs frontaux et les bases de donnes en stockant des objets (tels que des librairies ou des listes) en mmoire RAM sur les serveurs frontaux. Il est activ

    par dfaut au niveau de la collection de sites. Rfrez-vous au point 3.3.3 pour le configurer.

    1.2.4 Anonymous search result cache Ce cache est principalement utilis pour les sites de publications autorisant les accs anonymes. Il permet de sauvegarder les recherches anonymes des utilisateurs afin de les rutiliser. Il permet damliorer les performances sur les sites faisant appel au Content Search Web Part.

  • 4

    1.3 Autres caches

    1.3.1 Feed cache Bien que non considr comme un cache principal, le feed cache est utilis par les flux RSS.

    Rfrez-vous au point 3.3.4 pour le configurer. Information : les sites feed (ou RSS) fournissent un moyen facile aux utilisateurs pour se maintenir inform des dernires nouveauts dun site. Pour fonctionner, il est ncessaire que le site dquipe utilise le mme User Profil Service que la Web App My sites . Par ailleurs, notez que les RSS sont uniquement disponibles dans les sites dquipes.

  • 5

    2. Mise en place

    2.1 Prrequis

    Si vous utilisez plusieurs serveurs de cache, vous devrez activer la rgle pare-feu ICMPv4 sur votre serveur de cache principal (source) : Set-NetFireWallRule -DisplayName File and Printer Sharing (Echo request - ICMPv4 - In) -Enabled True

    2.2 Comptes de service

    2.2.1 Compte dexcution du service Par dfaut, ce service est excut avec le compte Farm. Il convient cependant de changer son compte

    (source) afin dviter lalerte du point 4.2 ( excuter une seule fois pour la ferme) : $farm = Get-SPFarm $cacheService = $farm.Services | where {$_.Name -eq "AppFabricCachingService"} $accnt = Get-SPManagedAccount -Identity domain\user_name $cacheService.ProcessIdentity.CurrentIdentityType = "SpecificUser" $cacheService.ProcessIdentity.ManagedAccount = $accnt $cacheService.ProcessIdentity.Update() $cacheService.ProcessIdentity.Deploy()

    Faites de-mme pour le service Search Host Controller en suivant la procdure du point 3.4 de mon tuto.

    2.2.2 Comptes daccs au cache objet Cette tape nest pas obligatoire mais elle recommande en raison des ventuels problmes avec lauthentification Claims. Par ailleurs, cette configuration permet daugmenter le nombre de requtes retournes tout en rduisant la quantit de mmoire ncessaire pour ce service (source). Par dfaut, le compte systme est assign au Portal Super User et le compte NT Authority\Local Service au Portal Super Reader . Pour optimiser ce service, il convient de crer deux dutilisateurs qui seront par la suite ajouts dans les Users permissions de la Web Application. Un script est galement disponible ici pour automatiser les actions ci-dessous : Attention : lutilisation dUPNs nest pas supporte

    Crez vos deux utilisateurs du domaine (si cela na pas dj t fait) o Svc_SP_Cache_Super_User o Svc_SP_Cache_Reader_User

    Ajoutez-les dans les managed accounts

    Excutez le script ci-dessous : $wa = Get-SPWebApplication -Identity "" $wa.Properties["portalsuperuseraccount"] = "" $wa.Properties["portalsuperreaderaccount"] = "< domaine\SuperReader>" $wa.Update()

  • 6

    Affectez les droits suivants sur la WebApp o Portal Super User account : droit Full control o Portal Super User Reader account : droit Full Read only

    Effectuez un IISreset sur lensemble des serveurs de cache Note : dans les proprits User Policy de la WebApp, le prfixe des utilisateurs varie selon lauthentification utilise ( claims : i:0#.w|). Par ailleurs, si vous nappliquez par les droits

    correctement sur votre WebApp, lerreur du point 4.3 se produira.

    2.3 Administration du service

    2.3.1 Arrt / dmarrage du service Pour arrter et dsactiver le service (source) : $instanceName ="SPDistributedCacheService Name=AppFabricCachingService" $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername} $serviceInstance.Unprovision() Pour dmarrer le service : $instanceName ="SPDistributedCacheService Name=AppFabricCachingService" $serviceInstance = Get-SPServiceInstance | ? {($_.service.tostring()) -eq $instanceName -and ($_.server.name) -eq $env:computername} $serviceInstance.Provision()

    2.3.2 Intgration dun membre au cluster Pour intgrer un serveur au cluster ET dmarrer le service (source) : Add-SPDistributedCacheServiceInstance

    2.3.3 Retrait dun membre du cluster

    Pour des raisons de maintenance, il se peut quun serveur de cache soit temporairement retir du cluster. Pour cela, il est ncessaire de transfrer lensemble du cache sur un autre serveur. Aprs quoi, le serveur pourra tre retir du cluster (source) : Stop-SPDistributedCacheServiceInstance -Graceful Remove-SPDistributedCacheServiceInstance Pour rintgrer un serveur au cluster : Add-SPDistributedCacheServiceInstance Important : si ce service est dsactiv de faon permanente sur un serveur, il convient de le

    supprimer du cluster pour viter que lalerte du point 4.1 ne se produise.

  • 7

    3. Configuration

    3.1 Paramtres du cache Pour connatre les paramtres du cache (source) : Use-CacheCluster Get-AFCacheHostConfiguration -ComputerName -CachePort "22233"

    Pour lister les serveurs de cache et obtenir leurs paramtres : Get-AFCacheHostStatus | % { $Status = $_.Status Get-AFCacheHostConfiguration -ComputerName $_.HostName -CachePort $_.PortNo | Add-Member -MemberType NoteProperty -Name 'Status' -Value $Status -PassThru } | Format-List -Property *

    3.2 Taille du cache La mmoire alloue au cache est rpartie sur lensemble des serveurs (cluster) o ledit service est activ. Par dfaut, elle occupe 10% de la mmoire disponible. Limage ci-dessous rsume ce mode de fonctionnement :

    Pour modifier la taille du cache, effectuez sur chacun de vos serveurs de cache un : Stop-SPDistributedCacheServiceInstance et excutez la commande ci-dessous une seule fois uniquement et relancez le service : Update-SPDistributedCacheSize -CacheSizeInMB

  • 8

    3.3 Caches individuels Pour obtenir leurs paramtres : Get-AFCache | % {Get-AFCacheConfiguration -CacheName $_.CacheName} Pour connatre les statistiques de chacun des diffrents types de caches : Get-AFCache | % { $CacheName = $_.CacheName Get-AFCacheStatistics -CacheName $CacheName | Add-Member -MemberType NoteProperty -Name 'CacheName' -Value $CacheName -PassThru }

    3.4 Activation des menus de cache Pour pouvoir administrer et configurer le cache, il est ncessaire dactiver la fonctionnalit Publishing Infrastructure (source). Pour cela : Au niveau de la collection, activez la fonctionnalit SharePoint Server Publishing Infrastructure :

    Au niveau du site, activez la fonctionnalit SharePoint Server Publishing :

    Une fois ces deux fonctionnalits actives, les menus suivants apparatront dans lapart Site Collection Adminsitration :

    Note : un script est disponible ici pour faciliter lactivation sur plusieurs sites

    3.5 Configuration des caches

    3.5.1 BLOB cache Pour activer ce cache, ditez le fichier web.config propre votre Web Application. Aprs avoir pass le paramtre enabled true (ligne

  • 9

    La taille du cache en Gb (min. 10 Go)

    Lemplacement des fichiers

    Le type de fichiers prendre en compte Note : vous devrez modifier manuellement ce fichier sur chacun de vos serveurs frontaux Pour vider le BLOB cache (source) : $webApp = Get-SPWebApplication "" [Microsoft.SharePoint.Publishing.PublishingCache]::FlushBlobCache($webApp) Write-Host "Flushed the BLOB cache for:" $webApp

    3.5.2 Page output cache profiles Pour lactiver au niveau dune Web Application (source), ditez le fichier web.config en passant le paramtre useCacheProfileOverrides true . Attention, si le cache est activ au niveau de la WebApp, les paramtres configurs au sein de linterface Web nauront aucun effet. A cet gard, le contenu en gras dans le cadre rouge ci-dessous vous en avertira :

    Configuration du cache au niveau du site :

  • 10

    3.5.3 Object cache Editez le fichier web.config propre votre Web Application en modifiant le paramtre ObjectCache maxSize avec la mmoire allouer en Mb (source). Attention, lespace indiqu est ensuite rparti selon les collections de sites. Par exemple, vous pouvez allouer 1 Go de cache objet pour la WebApp, et attribuez via linterface graphique ci-dessous 500 Mo vos deux collections. Dautres

    configurations sont galement effectuer au niveau des comptes de service (point 2.2.2) afin doptimiser et scuriser ce cache.

    3.5.4 Feed cache

    Utilisez les scripts disponibles ici pour configurer ce cache.

  • 11

    4. SharePoint : Review problems and solutions

    4.1 Distributed cache host may cause cache reliability problems

    Ce problme survient suite larrt du service Distributed cache sur un serveur ne ncessitant par cette fonctionnalit. Solution : ouvrez la console PowerShell de SharePoint et excutez la commande suivante sur le serveur en question afin de dfinitivement le dsinscrire des serveurs de cache (source) : Remove-SPDistributedCacheServiceInstance Par la suite, vous constaterez que le service Distributed cache napparatra plus dans les Service Applications du serveur.

    ************

    Note : si lerreur suivante apparat : A failure occurred in SPDistributedCacheServiceInstance::UnprovisionInternal. cacheHostInfo is null for host 'server_name'

    Excutez le script PowerShell suivant et excutez nouveau la premire commande : $SPFarm = Get-SPFarm $cacheClusterName = "SPDistributedCacheCluster_" + $SPFarm.Id.ToString() $cacheClusterManager = [Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfoManager]::Local $cacheClusterInfo = $cacheClusterManager.GetSPDistributedCacheClusterInfo($cacheClusterName); $instanceName ="SPDistributedCacheService Name=AppFabricCachingService" $serviceInstance = Get-SPServiceInstance | ? {($_.Service.Tostring()) -eq $instanceName -and ($_.Server.Name) -eq $env:computername} $serviceInstance.Delete()

    (source)

  • 12

    4.2 The server farm account should not be used for [Distributed cache]

    Le compte Farm est utilis par dfaut pour excuter le service Distributed Cache. Or, il convient de ne pas utiliser ce compte en raison des privilges levs dont il dispose. Pour changer le compte

    dexcution de ce service suivez la procdure du point 5.6.4.

    4.3 The user does not exist or is not unique

    Ce problme est d une mauvaise configuration des comptes de cache au niveau de la WebApp.

    Pour corriger ce problme, excutez la procdure du point 2.2.2.

    Nhsitez pas menvoyer vos commentaires ou retours ladresse suivante : m.decrevoisier A-R-0-B-A-5 outlook . com

    Soyez-en dores et dj remerci

    SOURCESINDEX1. Prsentation1.1 Modes de fonctionnement1.2 Types de caches1.2.1 BLOB cache1.2.2 Page output cache profiles1.2.3 Object cache1.2.4 Anonymous search result cache

    1.3 Autres caches1.3.1 Feed cache

    2. Mise en place2.1 Prrequis2.2 Comptes de service2.2.1 Compte dexcution du service2.2.2 Comptes daccs au cache objet

    2.3 Administration du service2.3.1 Arrt / dmarrage du service2.3.2 Intgration dun membre au cluster2.3.3 Retrait dun membre du cluster

    3. Configuration3.1 Paramtres du cache3.2 Taille du cache3.3 Caches individuels3.4 Activation des menus de cache3.5 Configuration des caches3.5.1 BLOB cache3.5.2 Page output cache profiles3.5.3 Object cache3.5.4 Feed cache

    4. SharePoint : Review problems and solutions 4.1 Distributed cache host may cause cache reliability problems4.2 The server farm account should not be used for [Distributed cache]4.3 The user does not exist or is not unique