Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Blog Technique de Romelard Fabrice

Les dernières Actualités de Romelard Fabrice (Alias fabrice69 ou F___) principalement autour des technologies Microsoft

Actualités

  • Toutes les actualités et informations sur les technologies Microsoft principalement autour de .NET et SQL Server

Archives

SharePoint : Optimisation des performances de sites sous MOSS – Le Blob Cache

Toujours dans la suite des articles sur l’optimisation des performances de sites basés sous Microsoft Office SharePoint Server 2007, voilà une des fonctionnalités intéressantes :

Cette fonctionnalité est disponible uniquement pour une ferme basée sur MOSS, en effet, l’activation du BlobCache sur une ferme WSS provoque une erreur :

image


Mais qu’est-ce que ce principe ?

Dans un site SharePoint, tout ce qui n’est pas dans le répertoire “12” est en base de données. Le résultat de cette logique n’est pas dramatique en soit, mais on voit très rapidement que de nombreux fichiers de Design peuvent se trouver dans cette base de données :

  • Les fichiers de script (.JS)
  • Les fichiers de design (.CSS)
  • Les images

Lorsque chaque utilisateur arrive sur la page par défaut, il y a un grand nombre de requêtes SQL qui sont exécutées pour uniquement extraire ces fichiers et les associer au rendu HTML transmis à cet utilisateur.

Ce fonctionnement peut rapidement saturer inutilement le serveur SQL.

Le principe du BlobCache de SharePoint 2007 est donc la mise en cache sur disque de contenu suivant le type choisi afin de limiter les requêtes inutiles exécutées par le serveur SQL.


Comment cela fonctionne ?

On va donc définir en premier lieu les informations suivantes :

  • Les types de fichiers (par extension)
  • La taille maximale du cache que l’on veut conserver sur disque
  • La durée de rétention de ces fichiers
  • Le lieu de stockage de ces fichier sur le serveur frontal

Une fois ces informations connues, on il faut comprendre que le BlobCache se paramètre manuellement sur chaque application Web de chaque serveur frontal.

Ainsi dans une ferme classique MOSS :

  • 2 Web Front End
  • 1 Serveur App (Search MOSS)
  • 1 Serveur SQL

On va donc définir ce paramétrage sur les serveur Web Front End toutes les Web Applications (sauf le site d’administration).

Pour cela, on va éditer le fichier Web.Config de chaque Web Application, et localiser le bloc (généralement il se situe juste au dessus de la fermeture du bloc </SharePoint>) :

<BlobCache location="C:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" enabled="false" />

On va modifier ce fichier avec les informations précédemment définies :

  • location : Répertoire de stockage de ces fichiers de cache. Attention, il est fortement déconseillé d’utiliser le disque système pour cela.
  • path : Type de fichier que l’on va conserver en cache. De base, ce sera les images, JavaScript et CSS, mais on peut y ajouter des Flash
  • maxSize : Taille maximale du volume de fichiers en cache. Attention, cette valeur est en GB, il convient donc d’avoir cet espace disponible sur le lecteur du répertoire choisi
  • max-age : Temps de rétention des fichiers en secondes
  • enable : Activation ou non de la fonctionnalité

Le fichier peut donc être comme celui-ci :

<BlobCache location="D:\blobCache" path="\.(gif|jpg|png|css|js)$" maxSize="10" max-age="14400" enabled="false" />

Une fois les Web.Config modifiés sur toutes les Web Applications de tous ses serveur Frontaux, on voit apparaître sur chaque serveur frontal un résultat comme celui-ci :

image

Il s’agit donc d’une organisation reprenant l’arborescence de ses sites SharePoint avec les fichiers définis en paramètre.

Tous ces fichiers possède alors une extension supplémentaire .CACHE et on trouve, au niveau racine de chaque Web Application (définie par le numéro dans IIS), trois fichiers BIN :

image

Ces fichiers contiennent les références vers les fichiers en cache.


Comment remettre ce cache à 0 ?

Le nettoyage du cache existant est à effectuer sur chaque serveur Frontal, soit via le site WEB :

  • Site Actions > Site Settings > Modify All Site Settings
  • Dans la partie “Site Collection Administration”, on trouve le lien “Site Collection Object Cache

image

On trouve alors le paramètre, dans le groupe “Disk Based Cache Reset”, l’option “Force this server to reset its disk based cache”, on coche cette option et valide sur OK

image

Cette action est donc à effectuer depuis chaque serveur frontal pour effectuer un reset intégral et sur chaque collection de sites de chaque Web Application.

Une seconde option est possible via la commande STSADM :

  • STSADM -o setproperty -propertyname blobcacheflushcount -propertyvalue 11 –url  ‘http://mywebapp:port’

Attention :

Chaque serveur frontal est autonome dans la gestion des fichiers en cache, il est donc possible d’avoir des décallage au niveau du contenu des serveurs de sa ferme.


Post Scriptum :

Cette fonctionnalité n’est pas dépendante du type de site mais du type de ferme. Ainsi, un Team Site hébergé dans une ferme MOSS peut bénéficier de cette fonction.


Related Links :

Romelard Fabrice [MVP]

Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :
Posted: mardi 27 juillet 2010 17:01 par ROMELARD Fabrice

Commentaires

ROMELARD Fabrice a dit :

# septembre 15, 2010 14:57
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- TechDays Paris 2012 : Comment SharePoint a sauvé mes TechDays par Blog Technique de Romelard Fabrice le il y a 8 heures et 33 minutes

- Perspective 3.0 pour Silverlight 5.0 par Perspective le il y a 9 heures et 53 minutes

- TechDays Paris 2012 : Top 10 des Best Practices pour SQL Server par Blog Technique de Romelard Fabrice le il y a 15 heures et 30 minutes

- TechDays Paris 2012 : Kinect + Office 365 un bon geste pour votre SI par Blog Technique de Romelard Fabrice le il y a 15 heures et 53 minutes

- TechDays Paris 2012 : Pleinière du premier jour par Blog Technique de Romelard Fabrice le il y a 16 heures et 8 minutes

- [SharePoint 2010] Erreur d’analyse de contenu “L’élément SharePoint en cours d’analyse a renvoyé une erreur lors de la demande de données auprès du se... par Julien Chable le il y a 20 heures et 41 minutes

- [TechDays2012] Oui j’y serai! par Blog de Jérémy Jeanson le 02-06-2012, 22:13

- TFS Integration Tools – Suivi des synchronisations avec Reporting Services par Vivien Fabing le 02-05-2012, 17:46

- CSS Content State Selectors (Personnal Draft) par Le blog de FremyCompany le 02-04-2012, 15:38

- MBA : Pourquoi faire et comment le choisir ? par Blog Technique de Romelard Fabrice le 02-03-2012, 14:22