Accéder au contenu principal

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]

Commentaires

Posts les plus consultés de ce blog

Série de vidéos sur le montage d'une serre horticole ACD

 Episode 1: Préparation du terrain Episode 2: Montage de la serre en elle même Episode 3: Finalisation avec le montage électrique alimentant la serre Bon visionnage Fab

Présentation des outils utiles pour l'entretien de ses haies vives

Afin de gérer les haies vives, il est nécessaire d'avoir recourt à un matériel adapté. Les solutions à batteries sont bien adaptées pour un usage personnel avec des dimensions raisonnables. Ainsi dans mon cas précis, j'utilise les outils suivants de la Gamme Ryobi 18V ONE+ électroportatif: Petit taille-haies simple mais efficace -  RYOBI OHT1855R Un modèle plus puissant qui fonctionne très bien -  RYOBI RY18HTX60A Pour les parties hautes de vos haies, voici un outil très utile -  RYOBI OPT1845 Enfin lorsque vous devez élaguer certains arbres ou certaines partie hautes de vos haies, ce dernier outil est très utile -  RYOBI OPP1820 Ces outils font parti maintenant de mon arsenal de base pour maintenir notre maison chaque saison de taille. Fab

Série de Videos sur Home Assistant intégrant la production Photovoltaïque

 Un certain nombre de vidéos sont en ligne pour intégrer sa production photovoltaïque dans Home Assistant en partant de la base. Installation de Home Assistant: On peut ensuite intégrer les composant des Micro-Onduleurs Enphase, mais aussi les batteries Enphase: Ou encore le composant de contrôle Ecojoko: Ce qui permet alors de faire des comparaisons entre les valeurs capturées: Des videos seront encore publiés dans les prochaines semaines sur différents aspects de cette solution. Fab