You are on page 1of 12

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 "<WebApplication>"
$wa.Properties["portalsuperuseraccount"] = "<domaine\SuperUser>"
$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 <name> -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 <size>


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 <BlobCache location=), spcifiez les informations ci-
dessous (source).
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 "<WebApplicationURL>"
[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

You might also like